Thanks, Steve.
For the initial implementation, I plan to add:
/sys/kernel/tracing/trace_stats/total_memory_kb
The file would use an extensible key/value format. Initially it would
report the ring-buffer data capacity:
total: 395664
ring_buffer: 395664
ring_buffer_live: 395544
ring_buffer_snapshot: 120
Here, ring_buffer is the sum of ring_buffer_live and
ring_buffer_snapshot. The values cover the global trace array and all
tracing instances across all tracing CPUs.
Additional accounted categories, such as event memory, could be appended
later and included in total. Per-CPU statistics could be exposed
separately under trace_stats/per_cpu/cpuN/ to avoid mixing aggregate and
per-CPU values in one file.
Userspace would parse fields by name and ignore unknown fields, so new
categories can be added without changing the existing format.
Does this initial format look reasonable?
Thanks,
Xiang