Re: perf script: Question: Python trace processing script contains the tid of the process in the common_pid attribute

From: Arnaldo Carvalho de Melo
Date: Sat Jul 01 2017 - 10:47:12 EST


Em Fri, Jun 30, 2017 at 03:40:57PM -0700, Arun Kalyanasundaram escreveu:
> The handlers in the python script generated from "perf script" have an
> attribute: common_pid. This attribute contains the tid of the process
> instead of its pid. I would like to know if this is the expected behavior.
> There are no other attributes in the Python handler that provide the pid
> and knowing the process id is useful to be able to group all samples that
> belong to the same process that generated different threads.

Humm, you have:

def process_event(param_dict):
event_attr = param_dict["attr"]
sample = param_dict["sample"]
raw_buf = param_dict["raw_buf"]
comm = param_dict["comm"]
name = param_dict["ev_name"]

And then, on sample you have (from a recent python script for processing
Intel PT samples):

def print_common_start(comm, sample, name):
ts = sample["time"]
cpu = sample["cpu"]
pid = sample["pid"]
tid = sample["tid"]
print "%16s %5u/%-5u [%03u] %9u.%09u %7s:" % (comm, pid, tid, cpu, ts / 1000000000, ts %1000000000, name),

- Arnaldo