Message ID | 20190402134230.30988-1-kaslevs@vmware.com (mailing list archive) |
---|---|
Headers | show |
Series | Add VM kernel tracing over vsockets and FIFOs | expand |
Please ignore this thread. I'll resent as v9. On Tue, Apr 2, 2019 at 4:42 PM Slavomir Kaslev <kaslevs@vmware.com> wrote: > > This patchset adds support for tracing guest kernels to trace-cmd. > > Changes in v8: > - switched protocol message encoding of ports to text > - switched ports data type to unsigned since vsockets port numbers can overflow int and be confused with errors codes by other code > - added automatic naming for guests with no names (for VMware Workstation guests currently) > - added --debug option to trace-cmd agent > > Changes in v7: > - fixed potential memory leak in add_arg() > - call msg_free() in tracecmd_msg_recv_trace_req() eventhough we're stealing > the message buffer > - added is_guest and is_agent macros and use throughout tracecmd_record.c > instead of testing instance->flags bits > - avoid memory allocation in make_dir() > > Changes in v6: > - added specialized data transfer path over FIFOs making single splice() per > iteration > - made tracecmd_msg_recv_trace_req/tracecmd_msg_recv_trace_resp more defensive > to invalid messages > > Changes in v5: > - add FIFOs transport for tracing data > - fixed a bug in tracecmd_msg_wait_close > > Changes in v4: > - detect and use splice(2) on vsock sockets if possible > - switch port numbers to unsigned int > - trace-cmd record --date flag is now set for all guests if provided by the user > - removed grow_cap and exponential buffer size growth > > Changes in v3: > - addressed Steven's feedback > - detect and disable guest tracing if <linux/vm_sockets.h> is not available > - the --date flag is now treated as global for all guest instances > - fixed a bug that caused --date to be ignored for host tracing data when tracing guests > > Changes in v2: > - rebased on top of protocol V3 > - fixed system clock timestamps with the --date flag > > Slavomir Kaslev (10): > trace-cmd: Make ports unsigned int > trace-cmd: Add tracecmd_create_recorder_virt function > trace-cmd: Add TRACE_REQ and TRACE_RESP messages > trace-cmd: Add buffer instance flags for tracing in guest and agent > context > trace-cmd: Add VM kernel tracing over vsockets transport > trace-cmd: Use splice(2) for vsockets if available > trace-cmd: Add `trace-cmd setup-guest` command > trace-cmd: Try to autodetect number of guest CPUs in setup-guest if > not specified > trace-cmd: Add setup-guest flag for attaching FIFOs to the guest VM > config > trace-cmd: Add splice() recording from FIFO without additional pipe > buffer > > Steven Rostedt (VMware) (1): > trace-cmd: Detect if vsockets are available > > Makefile | 7 + > include/trace-cmd/trace-cmd.h | 18 +- > lib/trace-cmd/trace-recorder.c | 129 ++++-- > tracecmd/Makefile | 5 + > tracecmd/include/trace-local.h | 29 ++ > tracecmd/trace-agent.c | 294 +++++++++++++ > tracecmd/trace-cmd.c | 4 + > tracecmd/trace-listen.c | 10 +- > tracecmd/trace-msg.c | 249 ++++++++++- > tracecmd/trace-record.c | 773 +++++++++++++++++++++++++++++++-- > tracecmd/trace-setup-guest.c | 247 +++++++++++ > tracecmd/trace-usage.c | 22 +- > 12 files changed, 1695 insertions(+), 92 deletions(-) > create mode 100644 tracecmd/trace-agent.c > create mode 100644 tracecmd/trace-setup-guest.c > > -- > 2.19.1 >