v2: - Add sample_read struct to the dict (in 3/5).
- Increase reference count of callchain in process tracepoint to
avoid unnecessary garbage collection (in 4/5).
The process_event python hook receives a dict with most perf_sample entries.
Other handlers (e.g. trace_unhandled, python_process_tracepoint) predate the
introduction of this dict and do not receive it. This patch series adds the
dict to all handlers, aiming to unify the information passed to them.
This change adds an additional argument to the affected handlers. To keep
backwards compatibility (and avoid unnecessary work), do not pass the
aforementioned dict if the number of arguments signals that handler version
predates this change.
In addition, provide time_enabled, time_running and counter value in the
perf_sample dict.
Initial Discussion: https://lkml.org/lkml/2017/7/1/108
Arun Kalyanasundaram (5):
perf script python: Allocate memory only if handler exists
perf script python: Refactor creation of perf sample dict
perf script python: Add sample_read to dict
perf script python: Add perf_sample dict to tracepoint handlers
perf script python: Generate hooks with additional argument
.../util/scripting-engines/trace-event-python.c | 246 +++++++++++++++------
1 file changed, 184 insertions(+), 62 deletions(-)
--
2.14.0.rc0.284.gd933b75aa4-goog