v2: - Simplify logging functions (Nathan) - Drop ndctl prefix (Vishal) - Reduce to single trace event system (Alison) - Add systemd startup file - Add man page
This patch series for ndctl implements the monitor command for the cxl tool. The initial implementation will collect CXL trace events emitted by the kernel. libtraceevent and libtracefs will be used to parse the trace event buffer. The monitor will pend on an epoll fd and wait for new event entries to be posted. The output will be in json format. By default the events are emitted to stdio, but can also be logged to a file. Each event is converted to a JSON object and logged as such. All the fields exported are read by the monitor code and added to the JSON object. --- Dave Jiang (9): cxl: add helper function to parse trace event to json object cxl: add helper to parse through all current events cxl: add common function to enable event trace cxl: add common function to disable event trace cxl: add monitor function for event trace events cxl: add logging functions for monitor cxl: add monitor command to cxl cxl: add systemd service for monitor cxl: add man page documentation for monitor Documentation/cxl/cxl-monitor.txt | 77 ++++++++++ cxl/builtin.h | 1 + cxl/cxl-monitor.service | 9 ++ cxl/cxl.c | 1 + cxl/event_trace.c | 228 ++++++++++++++++++++++++++++ cxl/event_trace.h | 23 +++ cxl/meson.build | 8 + cxl/monitor.c | 239 ++++++++++++++++++++++++++++++ meson.build | 3 + ndctl.spec.in | 1 + 10 files changed, 590 insertions(+) create mode 100644 Documentation/cxl/cxl-monitor.txt create mode 100644 cxl/cxl-monitor.service create mode 100644 cxl/event_trace.c create mode 100644 cxl/event_trace.h create mode 100644 cxl/monitor.c --