perf scripts python: Extact necessary information from process event
The script takes in a sample event dictionary(param_dict) and retrieves relevant data such as time stamp, PID, TID, and comm for each event. Also start time is defined as a global variable as it need to be passed to trace_end for gecko meta information field creation. Signed-off-by: Anup Sharma <anupnewsmail@gmail.com> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Ian Rogers <irogers@google.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Link: https://lore.kernel.org/r/19910fefcfe4be03cd5c2aa3fec11d3f86c0381b.1689961706.git.anupnewsmail@gmail.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
1699d3efe1
commit
0a02e44cc2
@ -20,10 +20,22 @@ sys.path.append(os.environ['PERF_EXEC_PATH'] + \
|
||||
from perf_trace_context import *
|
||||
from Core import *
|
||||
|
||||
# start_time is intialiazed only once for the all event traces.
|
||||
start_time = None
|
||||
|
||||
# Uses perf script python interface to parse each
|
||||
# event and store the data in the thread builder.
|
||||
def process_event(param_dict: Dict) -> None:
|
||||
pass
|
||||
global start_time
|
||||
global tid_to_thread
|
||||
time_stamp = (param_dict['sample']['time'] // 1000) / 1000
|
||||
pid = param_dict['sample']['pid']
|
||||
tid = param_dict['sample']['tid']
|
||||
comm = param_dict['comm']
|
||||
|
||||
# Start time is the time of the first sample
|
||||
if not start_time:
|
||||
start_time = time_stamp
|
||||
|
||||
# Trace_end runs at the end and will be used to aggregate
|
||||
# the data into the final json object and print it out to stdout.
|
||||
|
Loading…
x
Reference in New Issue
Block a user