tracefs_option_enable - Man Page

Various trace option functions.

Synopsis

#include <tracefs.h>

int tracefs_option_enable(struct tracefs_instance *instance, enum tracefs_option_id id);
int tracefs_option_disable(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_disable() 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_disable() 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_disable(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[1]>
Tzvetomir Stoyanov <tz.stoyanov@gmail.com[2]>

Reporting Bugs

Report bugs to <linux-trace-devel@vger.kernel.org[3]>

License

libtracefs is Free Software licensed under the GNU LGPL 2.1

Resources

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

Copying

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

Notes

  1. rostedt@goodmis.org
    mailto:rostedt@goodmis.org
  2. tz.stoyanov@gmail.com
    mailto:tz.stoyanov@gmail.com
  3. linux-trace-devel@vger.kernel.org
    mailto:linux-trace-devel@vger.kernel.org

Referenced By

tracefs_filter_pid_function(3).

The man pages tracefs_option_disable(3) and tracefs_option_name(3) are aliases of tracefs_option_enable(3).

07/18/2024 libtracefs 1.8.0 libtracefs Manual