Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [tracecompass-dev] Populating Control Flow panel with generated events


Thanks for answering so quickly !

Please find attached the metadata file.

I am sure there is no bug on your side: what i'm trying to do is generating

the trace file from a debug info I get from a rtos: so unfortunately there is no well established tool to gather OS events is diy :)

I noticed the CPU ID -1

I see that  python code sets it like

        event.add_field(self.uint32_type, "_cpu_id")

[01:00:01.470000000] (+0.001000000) task_switched_out: { }, { tid = 4, name = "thd1", addr = 2382426144, cpu_id = 0, tick = 310 }

ideally I'd like it to be 

[01:00:01.470000000] (+0.001000000) task_switched_out: { cpu_id = 0}, { tid = 4, name = "thd1", addr = 2382426144,  tick = 310 }

The trace file is recognized as  Generic if I force the type I get an error message 

Trace has failed validation: Domain mismatch should be 'kernel'


tracer_name = "lttng-modules";
domain = "kernel";
to the env

makes it display the data wonderfully!

Thank you soooo much!!!

You rock!



From: tracecompass-dev-bounces@xxxxxxxxxxx <tracecompass-dev-bounces@xxxxxxxxxxx> on behalf of Genevieve Bastien <gbastien+lttng@xxxxxxxxxxxx>
Sent: Wednesday, December 5, 2018 4:51:02 PM
To: tracecompass-dev@xxxxxxxxxxx
Subject: Re: [tracecompass-dev] Populating Control Flow panel with generated events

Hi Guido,

My guess is the problem comes from the CPU. In LTTng-generated traces, the CPU ID comes from the channel. In your generated trace, there is a field called cpu_id. Chances are that Trace Compass does not realize that this field is actually the CPU, and since it cannot resolve the CPU, it cannot fill the control flow data...

And yes as Matthew said, if the trace is not recognized as a proper kernel trace, the kernel analysis will not run...

Why don't you use LTTng directly to trace? or ftrace? These trace types would work.



On 2018-12-05 8:13 a.m., Guido Roncarolo wrote:
Hello All,

I would like first to thank you all for the amazing work done!

I am trying to use Trace Compass to display scheduling data coming from a different OS.

I would in particular like to leverage "Control flow" panel to show threads execution.

I found in


Analyses scripts for LTTng kernel and user-space traces (official repository) - lttng/lttng-analyses

that lets me  create events of type sched_switch  and  lttng_statedump_process_state

here's an example of the output of babeltrace of my generated trace

[01:00:00.058000000] (+0.000000000) lttng_statedump_process_state: { }, { tid = 2382439472, vtid = 2382439472, pid = 2382439472, vpid = 2382439472, ppid = 98, vppid = 98, name = "thd3", type = 0, mode = 5, submode = 0, status = 5, ns_level = 0, cpu_id = 0 }
[01:00:00.059000000] (+0.001000000) sched_switch: { }, { prev_comm = "test", prev_tid = 2382404352, prev_prio = 20, prev_state = 1, next_comm = "thd1", next_tid = 2382425552, next_prio = 20, cpu_id = 0 }
[01:00:00.059000000] (+0.000000000) sched_switch: { }, { prev_comm = "thd1", prev_tid = 2382425552, prev_prio = 20, prev_state = 1, next_comm = "thd2", next_tid = 2382432512, next_prio = 20, cpu_id = 0 }

I can see the event in the Histogram panel but not in the Control Flow one.

What do I need to do in order to have Trace Compass display data in Control Flow too?

Thank you very much for any input

Best Regards


tracecompass-dev mailing list
To change your delivery options, retrieve your password, or unsubscribe from this list, visit

Attachment: metadata
Description: metadata

Back to the top