GSoC Project | Basic Support for Trace Compass
Sebastian Huber
sebastian.huber at embedded-brains.de
Thu Jun 20 09:54:58 UTC 2019
----- Am 20. Jun 2019 um 11:47 schrieb Ravindra Kumar Meena rmeena840 at gmail.com:
>>
>> This is very good news. Writing the event stream is the easy part. Just
>> fwrite() the events in the modified print_item(). Your TSDL in the metadata
>> file must describe this event stream.
>>
> Yes. That's what I am trying today. You suggested that I have to convert
> client_item(see below)
> typedef struct client_item {
> union {
> SLIST_ENTRY( client_item ) free_node;
> RB_ENTRY( client_item ) active_node;
> };
> uint64_t ns;
> uint32_t cpu;
> rtems_record_event event;
> uint64_t data;
> uint64_t counter;
> } client_item;
>
> to
>
> typedef struct ctf_event {
> uint64_t ns;
> uint32_t cpu;
> rtems_record_event event;
> uint64_t data;
> uint64_t counter;
Please remove the counter. It is only used internally in the client.
> } ctf_event;
>
> I did that but rtems-tools build is failing because I think some part of
> the codebase is dependent on
> union {
> SLIST_ENTRY( client_item ) free_node;
> RB_ENTRY( client_item ) active_node;
> };
>
> How should I deal with it?
Why do you want to change struct client_item? You should create a struct ctf_event variable in print_item() on the stack, initialize it with the values handed over in the client item and fwrite() it to the event stream.
More information about the devel
mailing list