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

Reply via email to