[PATCH v2] Documentation/trace: Add clarification how histogram onmatch works

From: Tzvetomir Stoyanov
Date: Tue May 07 2019 - 10:50:42 EST


The current trace documentation, the section describing histogram's "onmatch"
is not straightforward enough about how this action is applied. It is not
clear what criteria are used to "match" both events. A short note is added,
describing what exactly is compared in order to match the events.

Signed-off-by: Tzvetomir Stoyanov <tstoyanov@xxxxxxxxxx>
---
Documentation/trace/histogram.txt | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/Documentation/trace/histogram.txt b/Documentation/trace/histogram.txt
index 7ffea6aa22e3..d97f0530a731 100644
--- a/Documentation/trace/histogram.txt
+++ b/Documentation/trace/histogram.txt
@@ -1863,7 +1863,10 @@ hist trigger specification.

The 'matching.event' specification is simply the fully qualified
event name of the event that matches the target event for the
- onmatch() functionality, in the form 'system.event_name'.
+ onmatch() functionality, in the form 'system.event_name'. Histogram
+ keys of both events are compared to find if events match. In the case
+ multiple histogram keys are used, both events must have the same
+ number of keys, and the keys must match in the same order.

Finally, the number and type of variables/fields in the 'param
list' must match the number and types of the fields in the
@@ -1920,9 +1923,10 @@ hist trigger specification.
/sys/kernel/debug/tracing/events/sched/sched_waking/trigger

Then, when the corresponding thread is actually scheduled onto the
- CPU by a sched_switch event, calculate the latency and use that
- along with another variable and an event field to generate a
- wakeup_latency synthetic event:
+ CPU by a sched_switch event (where the sched_waking key "saved_pid"
+ matches the sched_switch key "next_pid"), calculate the latency and
+ use that along with another variable and an event field to generate
+ a wakeup_latency synthetic event:

# echo 'hist:keys=next_pid:wakeup_lat=common_timestamp.usecs-$ts0:\
onmatch(sched.sched_waking).wakeup_latency($wakeup_lat,\
--
2.21.0