Linux-Trace-Users Archive on lore.kernel.org
 help / color / Atom feed
* [ANNOUNCE] libtracefs.git
@ 2020-11-21  1:03 Steven Rostedt
  0 siblings, 0 replies; only message in thread
From: Steven Rostedt @ 2020-11-21  1:03 UTC (permalink / raw)
  To: LKML, linux-trace-devel, Linux-trace Users
  Cc: Zamir SUN, Arnaldo Carvalho de Melo, Jiri Olsa, zsun,
	Vitaly Chikunov, Tzvetomir Stoyanov, Yordan Karadzhov,
	Ben Hutchings, Sudip Mukherjee, Tony Jones, John Kacur,
	Clark Williams, powertop, Al Stone, Mauro Carvalho Chehab,
	Jes Sorensen

I split out the libtracefs code from trace-cmd.git using "git subtree",
which recreates all the commits of a directory and makes that directory
a stand alone. I then updated the Makefiles, and copied over some of
the header files used to build the library. I pushed this up to:

  https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/

What libtracefs.so will be use for, is to allow programs to have an API
to access the tracefs directory. Right now, it has a very limited set
of functions that do the bare minimum, for example, to print all sched
events:

	const char *tracefs_dir;
	char **sched_events;
	char *event;
	int i;

	tracefs_dir = tracefs_get_tracing_dir();

	sched_events = tracefs_system_events(tracefs_dir, "sched");
	if (!sched_events)
		return -1;
	for (i = 0; sched_events[i]; i++)
		printf("sched event: %s\n", sched_events[i]);

	tracefs_list_free(sched_events);

We plan on adding man pages for all the functions, as well as expand
the functionality. For example (TBD):

	char **funcs;

	funcs = tracefs_available_filter_functions(tracefs_dir, ".*lock.*");

Which would return a list of all functions that have "lock" in its name
that can be traced by the function tracer.

Same for setting and getting the ftrace filter, enabling disable
events, and even setting filters and histograms. The version of this
library is at 0.1.0 as we are working on it. It is currently at the
stage that kernelshark can use it. Once libtracecmd is ready, then
kernelshark will become its own repo as well.

The repo is still a little rough around the edges, and needs some
loving for making sure the library is installed properly, but it is now
out there for people to have a look, and better yet, send patches! :-)

Note: From now on, updates to libtraceevent and libtracefs will now be
made in their corresponding git repos on kernel.org, and no longer
fixed in trace-cmd or the kernel proper (with some exceptions). After a
couple of years, when these are packaged in all major repos, I tend to
remove the code from these other locations.

-- Steve

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, back to index

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-21  1:03 [ANNOUNCE] libtracefs.git Steven Rostedt

Linux-Trace-Users Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-trace-users/0 linux-trace-users/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-trace-users linux-trace-users/ https://lore.kernel.org/linux-trace-users \
		linux-trace-users@vger.kernel.org
	public-inbox-index linux-trace-users

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-trace-users


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git