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
--