SYNOPSIS

#include <tracefs.h>

int tracefs_option_enable(struct tracefs_instance *instance, enum tracefs_option_id id);
int tracefs_option_diasble(struct tracefs_instance *instance, enum tracefs_option_id id);
const char *tracefs_option_name(enum tracefs_option_id id);

DESCRIPTION

This set of APIs can be used to enable and disable ftrace options and to get the name of an option.

The tracefs_option_enable() function enables the option with id in the given instance. If instance is NULL, the option is enabled in the top trace instance.

The tracefs_option_diasble() function disables the option with id in the given instance. If instance is NULL, the option is disabled in the top trace instance.

The tracefs_option_name() function returns a string, representing the option with id. The string must not be freed.

RETURN VALUE

The tracefs_option_enable() and tracefs_option_diasble() functions return 0 if the state of the option is set successfully, or -1 in case of an error.

The tracefs_option_name() function returns string with option name, or "unknown" in case of an error. The returned string must not be freed.

EXAMPLE

#include <tracefs.h>
...
if (tracefs_option_enable(NULL, TRACEFS_OPTION_ANNOTATE)) {
        /* Failed to enable annotate option in top trace instance */
}
...
if (tracefs_option_diasble(NULL, TRACEFS_OPTION_CONTEXT_INFO)) {
        /* Failed to disable context info option in top trace instance */
}
...
char *name = tracefs_option_name(TRACEFS_OPTION_FUNC_STACKTRACE);
if (strcmp(name, "unknown")) {
        /* Cannot get the name of the option */
}

FILES

tracefs.h
        Header file to include in order to have access to the library APIs.
-ltracefs
        Linker switch to add when building a program that uses the library.

SEE ALSO

libtracefs(3), libtraceevent(3), trace-cmd(1)

AUTHOR

Steven Rostedt <rostedt@goodmis.org>
Tzvetomir Stoyanov <tz.stoyanov@gmail.com>

REPORTING BUGS

LICENSE

libtracefs is Free Software licensed under the GNU LGPL 2.1

RESOURCES

COPYING

Copyright (C) 2020 VMware, Inc. Free use of this software is granted under the terms of the GNU Public License (GPL).