libtraceevent: 1.9.0

Changes since 1.8.6:

 New APIs:

  Addition of loading the BTF file (/sys/kernel/btf/vmlinux) into the tep
  handle to allow it to parse function parameters:

        cat-33501 [005] ..... 136155.767950: function:             
__x64_sys_execve(regs=0xffffc9000e3eff58)
        cat-33501 [005] ..... 136155.767951: function:                
getname_flags(filename=0x7ffe7d33f3d0, flags=0)
        cat-33501 [005] ..... 136155.767951: function:                
getname_flags.part.0(7ffe7d33f3d0, 0, 0, 0, 0, 0)
        cat-33501 [005] ..... 136155.767951: function:                   
kmem_cache_alloc_noprof(s=0xffff8881001d3800, gfpflags=0xcc0)
        cat-33501 [005] ..... 136155.767951: function:                      
fs_reclaim_acquire(gfp_mask=0xcc0)
        cat-33501 [005] ..... 136155.767952: function:                      
fs_reclaim_release(gfp_mask=0xcc0)

  tep_load_btf() - loads the raw BTF file and parses it.

  tep_btf_print_args() - parses the arguments of a given function with the
                         given parameters.

  tep_btf_list_args() - list the arguments of a given function to produce
                        its prototype.

 - Add API for persistent ring buffer processing:

  tep_parse_last_boot_info() - Reads and parses the last_boot_info file of a
                        persistent ring buffer from a previous boot. This
                        has the information to convert the addresses of
                        functions from the previous boot to the addresses of
                        the corresponding function of the current boot.

  tep_load_modules() - If last_boot_info is loaded, then /proc/modules
                       should also be loaded to compare where the addresses
                       of the modules were loaded in the last boot (found in
                       the last_boot_info) to where they are loaded in the
                       current boot. This is used to convert the addresses
                       of module functions from the last boot to the address
                       of their corresponding function in the current boot.

   The above functions are used to be able to convert the addresses of the
   functions from the previous boot to their corresponding functions of the
   current boot that the kallsyms came from. (see tep_parse_kallsyms())

 Updates:

 - Handle __get_stacktrace() in the print-fmt field that synthetic events
   can add when they have a stacktrace field.


Reply via email to