GSoC Project | Basic Support for Trace Compass

Sebastian Huber sebastian.huber at embedded-brains.de
Fri Aug 2 06:59:12 UTC 2019


On 02/08/2019 08:29, Ravindra Kumar Meena wrote:
>     Why do you implement a hash map on your own? I would have renamed the
>     record-main.c to record-main.cc and use std::map for example or
>     something from boost.
> 
> I tried this but this generates a lot of warnings from the same file and 
> other files also. Converting from C to another language requires the 
> resolution of each warning. That's why I implemented it.

Ok, since the RTEMS object count is limited to 65536 and we have only 
three APIs, I would simply use one big table for the id to name lookup.

> 
> 
>     The threads can execute on every CPU, so this information must not be
>     CPU-specific.
> 
> Okay
> 
> 
>     What do you want to do with this line?
> 
>     map_insert( cctx->map_per_cpu[ item->cpu ].hashArray, item->data,
>     rtems_record_event_text( item->event ));
> 
>     We need thread names, not the text of a record event.
> 
> Okay. How do I get thread name in client-side?

Yes, this is your task.

> 
> 
>     To figure out how the thread names are sent from the target to your
>     client you have to look at this patch:
> 
>     https://git.rtems.org/rtems/commit/?id=036717eda4de437336a86ca67253b7e32f67463c
> 
>     If you don't understand this patch, then please ask.
> 
> How do I access the thread name information in client-side? Will it be 
> only accessible through the TCP command
> ./build/misc/rtems-record -H 169.254.23.78 -p 1234 | head
> or
> ./build/misc/rtems-record --input misc/record/qoriq_e6500_64.bin | head?

The task name information is already in qoriq_e6500_64.bin:

*:0:VERSION:5
*:0:PROCESSOR_MAXIMUM:17
*:0:PER_CPU_COUNT:10000
*:0:FREQUENCY:59682f00
*:0:THREAD_ID:9010001
*:0:THREAD_NAME:49444c45
*:0:THREAD_ID:9010002
*:0:THREAD_NAME:49444c45
*:0:THREAD_ID:9010003
*:0:THREAD_NAME:49444c45
*:0:THREAD_ID:9010004
*:0:THREAD_NAME:49444c45
*:0:THREAD_ID:9010005
*:0:THREAD_NAME:49444c45
*:0:THREAD_ID:9010006
*:0:THREAD_NAME:49444c45
*:0:THREAD_ID:9010007
*:0:THREAD_NAME:49444c45
*:0:THREAD_ID:9010008
*:0:THREAD_NAME:49444c45
*:0:THREAD_ID:9010009
*:0:THREAD_NAME:49444c45
*:0:THREAD_ID:901000a
*:0:THREAD_NAME:49444c45
*:0:THREAD_ID:901000b
*:0:THREAD_NAME:49444c45
*:0:THREAD_ID:901000c
*:0:THREAD_NAME:49444c45
*:0:THREAD_ID:901000d
*:0:THREAD_NAME:49444c45
*:0:THREAD_ID:901000e
*:0:THREAD_NAME:49444c45
*:0:THREAD_ID:901000f
*:0:THREAD_NAME:49444c45
*:0:THREAD_ID:9010010
*:0:THREAD_NAME:49444c45
*:0:THREAD_ID:9010011
*:0:THREAD_NAME:49444c45
*:0:THREAD_ID:9010012
*:0:THREAD_NAME:49444c45
*:0:THREAD_ID:9010013
*:0:THREAD_NAME:49444c45
*:0:THREAD_ID:9010014
*:0:THREAD_NAME:49444c45
*:0:THREAD_ID:9010015
*:0:THREAD_NAME:49444c45
*:0:THREAD_ID:9010016
*:0:THREAD_NAME:49444c45
*:0:THREAD_ID:9010017
*:0:THREAD_NAME:49444c45
*:0:THREAD_ID:9010018
*:0:THREAD_NAME:49444c45
*:0:THREAD_ID:a010001
*:0:THREAD_NAME:55493120
*:0:THREAD_ID:a010002
*:0:THREAD_NAME:42535750
*:0:THREAD_ID:a010003
*:0:THREAD_NAME:42524441
*:0:THREAD_ID:a010004
*:0:THREAD_NAME:4d444941
*:0:THREAD_ID:a010005
*:0:THREAD_NAME:54494d45
*:0:THREAD_ID:a010006
*:0:THREAD_NAME:49525153
*:0:THREAD_ID:a010007
*:0:THREAD_NAME:49525153
*:0:THREAD_ID:a010008
*:0:THREAD_NAME:49525153
*:0:THREAD_ID:a010009
*:0:THREAD_NAME:49525153
*:0:THREAD_ID:a01000a
*:0:THREAD_NAME:49525153
*:0:THREAD_ID:a01000b
*:0:THREAD_NAME:49525153
*:0:THREAD_ID:a01000c
*:0:THREAD_NAME:49525153
*:0:THREAD_ID:a01000d
*:0:THREAD_NAME:49525153
*:0:THREAD_ID:a01000e
*:0:THREAD_NAME:49525153
*:0:THREAD_ID:a01000f
*:0:THREAD_NAME:49525153
*:0:THREAD_ID:a010010
*:0:THREAD_NAME:49525153
*:0:THREAD_ID:a010011
*:0:THREAD_NAME:49525153
*:0:THREAD_ID:a010012
*:0:THREAD_NAME:49525153
*:0:THREAD_ID:a010013
*:0:THREAD_NAME:49525153
*:0:THREAD_ID:a010014
*:0:THREAD_NAME:49525153
*:0:THREAD_ID:a010015
*:0:THREAD_NAME:49525153
*:0:THREAD_ID:a010016
*:0:THREAD_NAME:49525153
*:0:THREAD_ID:a010017
*:0:THREAD_NAME:49525153
*:0:THREAD_ID:a010018
*:0:THREAD_NAME:49525153
*:0:THREAD_ID:a010019
*:0:THREAD_NAME:49525153
*:0:THREAD_ID:a01001a
*:0:THREAD_NAME:49525153
*:0:THREAD_ID:a01001b
*:0:THREAD_NAME:49525153
*:0:THREAD_ID:a01001c
*:0:THREAD_NAME:49525153
*:0:THREAD_ID:a01001d
*:0:THREAD_NAME:49525153
*:0:THREAD_ID:a01001e
*:0:THREAD_NAME:737769363a207461
*:0:THREAD_NAME:736b2071756575
*:0:THREAD_ID:a01001f
*:0:THREAD_NAME:636f6e6669675f30
*:0:THREAD_ID:a010020
*:0:THREAD_NAME:737769353a206661
*:0:THREAD_NAME:7374207461736b
*:0:THREAD_ID:a010021
*:0:THREAD_NAME:6b71756575655f63
*:0:THREAD_NAME:7478207461736b
*:0:THREAD_ID:a010022
*:0:THREAD_NAME:7468726561642074
*:0:THREAD_NAME:61736b71
*:0:THREAD_ID:a010023
*:0:THREAD_NAME:737769363a204769
*:0:THREAD_NAME:616e7420746173
*:0:THREAD_ID:a010024
*:0:THREAD_NAME:737769313a206e65
*:0:THREAD_NAME:746973722030
*:0:THREAD_ID:a010025
*:0:THREAD_NAME:736f66746972715f
*:0:THREAD_NAME:30
*:0:THREAD_ID:a010026
*:0:THREAD_NAME:44484350
*:0:THREAD_ID:a010027
*:0:THREAD_NAME:5052544c
*:0:THREAD_ID:a010028
*:0:THREAD_NAME:50535441
*:0:THREAD_ID:a010029
*:0:THREAD_NAME:5052544c
*:0:THREAD_ID:a01002a
*:0:THREAD_NAME:50535441
*:0:THREAD_ID:a01002b
*:0:THREAD_NAME:46545061
*:0:THREAD_ID:a01002c
*:0:THREAD_NAME:46545062
*:0:THREAD_ID:a01002d
*:0:THREAD_NAME:46545063
*:0:THREAD_ID:a01002e
*:0:THREAD_NAME:46545064
*:0:THREAD_ID:a01002f
*:0:THREAD_NAME:46545065
*:0:THREAD_ID:a010030
*:0:THREAD_NAME:46545066
*:0:THREAD_ID:a010031
*:0:THREAD_NAME:46545067
*:0:THREAD_ID:a010032
*:0:THREAD_NAME:46545068
*:0:THREAD_ID:a010033
*:0:THREAD_NAME:46545069
*:0:THREAD_ID:a010034
*:0:THREAD_NAME:4654506a
*:0:THREAD_ID:a010035
*:0:THREAD_NAME:4654506b
*:0:THREAD_ID:a010036
*:0:THREAD_NAME:4654506c
*:0:THREAD_ID:a010037
*:0:THREAD_NAME:4654506d
*:0:THREAD_ID:a010038
*:0:THREAD_NAME:4654506e
*:0:THREAD_ID:a010039
*:0:THREAD_NAME:4654506f
*:0:THREAD_ID:a01003a
*:0:THREAD_NAME:46545070
*:0:THREAD_ID:a01003b
*:0:THREAD_NAME:46545071
*:0:THREAD_ID:a01003c
*:0:THREAD_NAME:46545072
*:0:THREAD_ID:a01003d
*:0:THREAD_NAME:46545073
*:0:THREAD_ID:a01003e
*:0:THREAD_NAME:46545074
*:0:THREAD_ID:a01003f
*:0:THREAD_NAME:46545075
*:0:THREAD_ID:a010040
*:0:THREAD_NAME:46545076
*:0:THREAD_ID:a010041
*:0:THREAD_NAME:46545077
*:0:THREAD_ID:a010042
*:0:THREAD_NAME:46545078
*:0:THREAD_ID:a010043
*:0:THREAD_NAME:46545044
*:0:THREAD_ID:a010044
*:0:THREAD_NAME:544e5461
*:0:THREAD_ID:a010045
*:0:THREAD_NAME:544e5462
*:0:THREAD_ID:a010046
*:0:THREAD_NAME:544e5463
*:0:THREAD_ID:a010047
*:0:THREAD_NAME:544e5464
*:0:THREAD_ID:a010048
*:0:THREAD_NAME:544e5465
*:0:THREAD_ID:a010049
*:0:THREAD_NAME:544e5444
*:0:THREAD_ID:a01004a
*:0:THREAD_NAME:52435244
*:0:THREAD_ID:a01004b
*:0:THREAD_NAME:53484c4c
*:0:PROCESSOR:0
*:0:PER_CPU_TAIL:37263
*:0:PER_CPU_HEAD:67dac
0.000001200:0:USER_468:5e
0.000965803:0:THREAD_STACK_CURRENT:19d0
0.000965803:0:THREAD_SWITCH_IN:a01002c
0.001091899:0:THREAD_SWITCH_OUT:a01002c
0.001091899:0:THREAD_STACK_CURRENT:1300

-- 
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