mbox series

[RFC,v3,0/4] trace-cruncher: ftrace uprobes support

Message ID 20220420080206.252356-1-tz.stoyanov@gmail.com (mailing list archive)
Headers show
Series trace-cruncher: ftrace uprobes support | expand

Message

Tzvetomir Stoyanov (VMware) April 20, 2022, 8:02 a.m. UTC
Ftrace uprobes can be used to create dynamic events for user functions.
Tracing user function can be very useful functionality for trace-cruncher.

v3 changes:
 - Implemented logic for finding the full application name in the C code.
 - Renamed a few internal functions and variable with more specific names.
 - Coding style fixes.

v2 changes:
 - Moved the uprobe C code into the ftrace-utils.c file.
 - Reused internal functions from ftrace-util code.
 - Renamed utrace start and stop to enable and disable, to be consistent
   with the other APIs.
 - Do not call utrace disable in the urtace example, as this logic is
   triggered by the destructor.
 - Changed the logic for allocation of internal dynamic array - double the
   array size on each reallocation, instead of increasing the size with
   hard-coded constant.
 - Added support for running a program with arguments for tracing.
 - Do not run the program for tracing in a separate shell.
 - Coding style fixes and optimizations.

Tzvetomir Stoyanov (VMware) (4):
  trace-cruncher: Logic for resolving address to function name
  trace-cruncher: ftrace uprobe raw API
  trace-cruncher: High level wrappers for ftrace uprobes
  trace-cruncher: Example script for uprobes high level API

 examples/user_trace.py |  39 ++
 setup.py               |   4 +-
 src/ftracepy-utils.c   | 746 +++++++++++++++++++++++++++++++
 src/ftracepy-utils.h   |  21 +
 src/ftracepy.c         |  45 ++
 src/trace-obj-debug.c  | 988 +++++++++++++++++++++++++++++++++++++++++
 src/trace-obj-debug.h  |  54 +++
 7 files changed, 1895 insertions(+), 2 deletions(-)
 create mode 100755 examples/user_trace.py
 create mode 100644 src/trace-obj-debug.c
 create mode 100644 src/trace-obj-debug.h