linux-trace-devel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/26] trace-cmd: Add agent proxy (agent on the host)
@ 2022-05-14  2:47 Steven Rostedt
  2022-05-14  2:47 ` [PATCH 01/26] trace-cmd record: Make start_threads() static Steven Rostedt
                   ` (25 more replies)
  0 siblings, 26 replies; 27+ messages in thread
From: Steven Rostedt @ 2022-05-14  2:47 UTC (permalink / raw)
  To: linux-trace-devel; +Cc: Steven Rostedt (Google)

From: "Steven Rostedt (Google)" <rostedt@goodmis.org>

Currently the trace-cmd agent is expected to run on the guest with the host
running the recorder. There is a lot of assumptions throughout the code that
expects this. Rearrange the code and allow the guest to be the recorder and
the host act as an agent via the -P (proxy) option. The guest record can
call the agent proxy on the host with the --proxy option.

Currently this does not handle the host being a proxy for other guests, but
that will come later. For now, this code will allow the host to run the
agent and handle the time synchronizations needed between the two (and pass
the data back up to the guest). The siblings will be another project, but
for now we at least have the host agent working with the guest and having
the timings all in sync.

Joel Fernandes (1):
  trace-cmd: Move trace_msg cache file to memfd

Steven Rostedt (Google) (25):
  trace-cmd record: Make start_threads() static
  trace-cmd: Move add_guest_info() into trace-vm.c
  trace-cmd: Simplify add_guest()
  trace-cmd: Move find_pid_by_cid() into add_guest()
  trace-cmd: Move find_tasks() into add_guest()
  trace-cmd Makefile: Change test-build to link as well
  trace-cmd agent: Test if memfd_create() is available
  trace-cmd: Add kernel-doc to trace_record_agent()
  trace-cmd: Move selecting tsync protocol out of tracecmd_tsync_with_host()
  trace-cmd: Move accepting tsync connection out of tracecmd_tsync_with_host()
  trace-cmd: Have get_vsocket_params() cid and rcid parameters be optional
  trace-cmd agent: Add trace_tsync_as_guest() helper function
  trace-cmd record: Pass cpu_count instead of an instance to stop_mapping_vcpus()
  trace-cmd record: Add trace_tsync_as_host() helper
  trace-cmd: Move tsync as guest and host helpers into trace-tsync.c
  trace-cmd msg: Add PROXY communication
  trace-cmd: Add agent proxy communications between record and agent
  trace-cmd msg: Keep track of offset of flushed cache
  trace-cmd library: Add tracecmd_prepare_options()
  trace-cmd library: Add tracecmd_msg_flush_data()
  trace-cmd agent proxy: Allow agent to send more meta data after trace
  trace-cmd agent proxy: Add the remote guest cid to guest list
  trace-cmd agent-proxy: Send options at the end of the trace
  trace-cmd: Have the guest structure hold guest trace_id
  trace-cmd: Have the host agent proxy control the time synchronization

 Makefile                                      |  13 +-
 .../include/private/trace-cmd-private.h       |  35 +-
 lib/trace-cmd/include/trace-cmd-local.h       |   2 +
 lib/trace-cmd/trace-msg.c                     | 292 ++++++++++--
 lib/trace-cmd/trace-output.c                  | 243 +++++++++-
 lib/trace-cmd/trace-timesync.c                |  72 +--
 tracecmd/Makefile                             |   1 +
 tracecmd/include/trace-local.h                |  24 +-
 tracecmd/trace-agent.c                        | 130 ++++-
 tracecmd/trace-record.c                       | 444 +++++++-----------
 tracecmd/trace-tsync.c                        | 244 ++++++++++
 tracecmd/trace-vm.c                           | 138 +++++-
 tracecmd/trace-vsock.c                        |  32 +-
 13 files changed, 1205 insertions(+), 465 deletions(-)
 create mode 100644 tracecmd/trace-tsync.c

-- 
2.35.1


^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2022-05-14  2:57 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-14  2:47 [PATCH 00/26] trace-cmd: Add agent proxy (agent on the host) Steven Rostedt
2022-05-14  2:47 ` [PATCH 01/26] trace-cmd record: Make start_threads() static Steven Rostedt
2022-05-14  2:47 ` [PATCH 02/26] trace-cmd: Move add_guest_info() into trace-vm.c Steven Rostedt
2022-05-14  2:47 ` [PATCH 03/26] trace-cmd: Simplify add_guest() Steven Rostedt
2022-05-14  2:47 ` [PATCH 04/26] trace-cmd: Move find_pid_by_cid() into add_guest() Steven Rostedt
2022-05-14  2:47 ` [PATCH 05/26] trace-cmd: Move find_tasks() " Steven Rostedt
2022-05-14  2:47 ` [PATCH 06/26] trace-cmd: Move trace_msg cache file to memfd Steven Rostedt
2022-05-14  2:47 ` [PATCH 07/26] trace-cmd Makefile: Change test-build to link as well Steven Rostedt
2022-05-14  2:47 ` [PATCH 08/26] trace-cmd agent: Test if memfd_create() is available Steven Rostedt
2022-05-14  2:47 ` [PATCH 09/26] trace-cmd: Add kernel-doc to trace_record_agent() Steven Rostedt
2022-05-14  2:47 ` [PATCH 10/26] trace-cmd: Move selecting tsync protocol out of tracecmd_tsync_with_host() Steven Rostedt
2022-05-14  2:47 ` [PATCH 11/26] trace-cmd: Move accepting tsync connection " Steven Rostedt
2022-05-14  2:47 ` [PATCH 12/26] trace-cmd: Have get_vsocket_params() cid and rcid parameters be optional Steven Rostedt
2022-05-14  2:47 ` [PATCH 13/26] trace-cmd agent: Add trace_tsync_as_guest() helper function Steven Rostedt
2022-05-14  2:47 ` [PATCH 14/26] trace-cmd record: Pass cpu_count instead of an instance to stop_mapping_vcpus() Steven Rostedt
2022-05-14  2:47 ` [PATCH 15/26] trace-cmd record: Add trace_tsync_as_host() helper Steven Rostedt
2022-05-14  2:47 ` [PATCH 16/26] trace-cmd: Move tsync as guest and host helpers into trace-tsync.c Steven Rostedt
2022-05-14  2:47 ` [PATCH 17/26] trace-cmd msg: Add PROXY communication Steven Rostedt
2022-05-14  2:47 ` [PATCH 18/26] trace-cmd: Add agent proxy communications between record and agent Steven Rostedt
2022-05-14  2:47 ` [PATCH 19/26] trace-cmd msg: Keep track of offset of flushed cache Steven Rostedt
2022-05-14  2:47 ` [PATCH 20/26] trace-cmd library: Add tracecmd_prepare_options() Steven Rostedt
2022-05-14  2:47 ` [PATCH 21/26] trace-cmd library: Add tracecmd_msg_flush_data() Steven Rostedt
2022-05-14  2:47 ` [PATCH 22/26] trace-cmd agent proxy: Allow agent to send more meta data after trace Steven Rostedt
2022-05-14  2:47 ` [PATCH 23/26] trace-cmd agent proxy: Add the remote guest cid to guest list Steven Rostedt
2022-05-14  2:47 ` [PATCH 24/26] trace-cmd agent-proxy: Send options at the end of the trace Steven Rostedt
2022-05-14  2:47 ` [PATCH 25/26] trace-cmd: Have the guest structure hold guest trace_id Steven Rostedt
2022-05-14  2:47 ` [PATCH 26/26] trace-cmd: Have the host agent proxy control the time synchronization Steven Rostedt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).