GSoC Project | Basic Support for Trace Compass

Sebastian Huber sebastian.huber at embedded-brains.de
Mon Jul 22 06:02:26 UTC 2019


On 22/07/2019 07:47, Ravindra Kumar Meena wrote:
> *Plan of the week:*
> Last week I added packet.header, packet.context, event.header, env 
> object in the metadata. I will continue to work on adding event object 
> in the metadata.
> 
> I have added the few parts of the sched_switch event.
> 
> https://github.com/rmeena840/rtems-tools/commit/7b1488364b86df5ec956bd787dc8eeea01c28a8f
> 
> https://github.com/rmeena840/rtems-tools/commit/cd969dfde62966c4f99c26973620852dafc0f47f
> 
> Have a look
> 
> I had a look at trace compass examples. The possible values of the state 
> in sched_switch event is 0, 1 and 1026 but mostly it is 0 or1. There is 
> no fixed pattern I found in the example.

Where did you find what?

I found:

event {
	name = "sched_switch";
	id = 22;
	stream_id = 0;
	fields := struct {
		integer { size = 8; align = 8; signed = 0; encoding = UTF8; base = 10; 
} _prev_comm[16];
		integer { size = 32; align = 8; signed = 1; encoding = none; base = 
10; } _prev_tid;
		integer { size = 32; align = 8; signed = 1; encoding = none; base = 
10; } _prev_prio;
		integer { size = 64; align = 8; signed = 1; encoding = none; base = 
10; } _prev_state;
		integer { size = 8; align = 8; signed = 0; encoding = UTF8; base = 10; 
} _next_comm[16];
		integer { size = 32; align = 8; signed = 1; encoding = none; base = 
10; } _next_tid;
		integer { size = 32; align = 8; signed = 1; encoding = none; base = 
10; } _next_prio;
	};
};

in 
"TraceCompassTutorialTraces/102-tracing-wget-critical-path/wget-second-call/metadata".

I think the analysis tools learns the id from the event name, see 
"lttng-track-process" in lttng-analyses.

Can you please align all the metadata exactly with the way things are 
defined in LTTNG.

> 
> There is one problem here we need the next_comm and next_tid value 
> before actually next record item is generated in client-side.

You need one sched_switch event per processor. The order of record 
events is fixed. You update the sched_switch event in two steps and 
write it to the stream after the second step.

-- 
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.huber at embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.



More information about the devel mailing list