tep_get_header_page_size(3) — Linux manual page

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | EXAMPLE | FILES | SEE ALSO | AUTHOR | REPORTING BUGS | LICENSE | RESOURCES | NOTES | COLOPHON

LIBTRACEEVENT(3)          libtraceevent Manual          LIBTRACEEVENT(3)

NAME         top

       tep_get_header_page_size, tep_get_header_timestamp_size,
       tep_is_old_format - Get the data stored in the header page, in
       kernel context.

SYNOPSIS         top

       #include <event-parse.h>

       int tep_get_header_page_size(struct tep_handle *tep);
       int tep_get_header_timestamp_size(struct tep_handle *tep);
       bool tep_is_old_format(struct tep_handle *tep);

DESCRIPTION         top

       These functions retrieve information from kernel context, stored
       in tracefs events/header_page. Old kernels do not have header
       page info, so default values from user space context are used.

       The tep_get_header_page_size() function returns the size of a
       long integer, in kernel context. The tep argument is trace event
       parser context. This information is retrieved from tracefs
       events/header_page, "commit" field.

       The tep_get_header_timestamp_size() function returns the size of
       timestamps, in kernel context. The tep argument is trace event
       parser context. This information is retrieved from tracefs
       events/header_page, "timestamp" field.

       The tep_is_old_format() function returns true if the kernel
       predates the addition of events/header_page, otherwise it returns
       false.

RETURN VALUE         top

       The tep_get_header_page_size() function returns the size of a
       long integer, in bytes.

       The tep_get_header_timestamp_size() function returns the size of
       timestamps, in bytes.

       The tep_is_old_format() function returns true, if an old kernel
       is used to generate the tracing data, which has no
       event/header_page. If the kernel is new, or tep is NULL, false is
       returned.

EXAMPLE         top

           #include <event-parse.h>
           ...
           struct tep_handle *tep = tep_alloc();
           ...
                   int longsize;
                   int timesize;
                   bool old;

                   longsize = tep_get_header_page_size(tep);
                   timesize = tep_get_header_timestamp_size(tep);
                   old = tep_is_old_format(tep);

                   printf ("%s kernel is used to generate the tracing data.\n",
                           old?"Old":"New");
                   printf("The size of a long integer is %d bytes.\n", longsize);
                   printf("The timestamps size is %d bytes.\n", timesize);
           ...

FILES         top

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

SEE ALSO         top

       libtraceevent(3), trace-cmd(1)

AUTHOR         top

           Steven Rostedt <rostedt@goodmis.org[1]>, author of libtraceevent.
           Tzvetomir Stoyanov <tz.stoyanov@gmail.com[2]>, author of this man page.

REPORTING BUGS         top

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

LICENSE         top

       libtraceevent is Free Software licensed under the GNU LGPL 2.1

RESOURCES         top

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

NOTES         top

        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

COLOPHON         top

       This page is part of the libtraceevent (Linux kernel trace event
       library) project.  Information about the project can be found at
       ⟨https://www.trace-cmd.org/⟩.  If you have a bug report for this
       manual page, see ⟨https://www.trace-cmd.org/⟩.  This page was
       obtained from the project's upstream Git repository
       ⟨https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git⟩
       on 2024-06-14.  (At that time, the date of the most recent commit
       that was found in the repository was 2024-05-17.)  If you
       discover any rendering problems in this HTML version of the page,
       or you believe there is a better or more up-to-date source for
       the page, or you have corrections or improvements to the
       information in this COLOPHON (which is not part of the original
       manual page), send a mail to man-pages@man7.org

libtraceevent 1.7.3            09/24/2023               LIBTRACEEVENT(3)