[ Resending without corrupted email headers ] I'm happy to announce that after over a year, we finally are able to release trace-cmd version 3.0! The two biggest changes: 1) Updated trace.dat to version 7 (not compatible with older versions of trace-cmd). But now supports compression. 2) Better synchronization between host and guest kernel tracing. Features and user visible updates since 2.9: - Relies on upstream repos for libtraceevent and libtracefs: * Removed libtraceevent code (Upstream minimum version 1.5) * Removed libtracefs code (Upstream minimum version 1.3) - KernelShark is no longer installed in the trace-cmd repo. - Some perf support - trace-cmd dump updates: * Display the clock used in the file - New trace-cmd clock: tsc2nsec to use the tsc clock in the ring buffer but to display it as nanoseconds. Requires architecture support, but trace-cmd list -C will show if it supported or not. - New option --raw-ts for trace-cmd report to show raw timestamps without any modifications. - New timestamp synchronization between host and guests. * P2P : timing back and forth of host and guest * KVM : queries the kernel for the multiplier, offset and shift for exact synchronization of host and guest timestamps. - tracecmd_warning() API for writing error messages in libtracecmd library. - Better bash tab completion. - Plugins now go into /usr/[local/]lib/trace-cmd instead of traceevent directory. - New option --full for trace-cmd list to show "print fmt" of event formats specified by -e <event> -F - trace-cmd list now shows ftrace events as well as events that can be enabled. - Supports non qemu VM host/guest tracing. - New option --align-ts for trace-cmd report that will make the timestamps of all events a delta from the first event. (0.000003 instead of 16292.633984) - New option -V for trace-cmd report to change verbosity. - New option --verbose for a bunch of commands to trace-cmd. - New option --poll for trace-cmd record to poll which makes trace-cmd check the buffers with O_NONBLOCK instead of relying on IPIs to wake it up. This reduces latency on recording tasks that trace-cmd is not running on. - trace.dat output has been updated to Version 7 (incompatible with older trace-cmd, but trace-cmd convert can convert back to version 6, with possible lost of features). * The file is broken up into sections (defined as options) just like an ELF file. * Allows for sections to be compressed. . Supports zlib compression . Supports ZSTD compression * Will allow for new types of data to be added . Target for perf data to be included (still in development) - New command: trace-cmd convert, to convert between trace-cmd 7 and 6 files.