tree 419bc57d469bb0b5ca2518b15e9fcf8837a7e2f6
parent a5d2910872b652e7bcaa4dd7d4985a59cf283ed2
author Michael Sartain <mikesart@fastmail.com> 1638574208 -0700
committer Steven Rostedt (VMware) <rostedt@goodmis.org> 1639002899 -0500

trace-cmd library: Add API to get information from trace file

New APIs added to get trace cpustats, uname, version strings, and
cpu file sizes.

  const char *tracecmd_get_cpustats(struct tracecmd_input *handle);
  const char *tracecmd_get_uname(struct tracecmd_input *handle);
  const char *tracecmd_get_version(struct tracecmd_input *handle);
  unsigned long long tracecmd_get_cpu_file_size(struct tracecmd_input *handle, int cpu);

Link: https://lore.kernel.org/linux-trace-devel/20211203233008.6mq5lsuypsu24dsw@mikesart-tr3

Signed-off-by: Michael Sartain <mikesart@fastmail.com>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
