Ftrace uprobes can be used to create dynamic events for user functions. Tracing user function can be very useful functionality for trace-cruncher. Known issues, that will be addressed with subsequent patch sets, before the next trace-cruncher release: - Improve the logic for ctrl-c handling and interrupting the trace. - Improve the logic for monitoring target PIDs - stop the trace when target process exits. - Implement unit tests. v4 changes: - Removed accepted patches from the patch set. 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) (3): 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 +++ 5 files changed, 853 insertions(+), 2 deletions(-) create mode 100755 examples/user_trace.py -- 2.35.3