Cross Platform Analysis [message #1854415] |
Wed, 17 August 2022 20:23 |
Tab Mong Messages: 2 Registered: August 2022 |
Junior Member |
|
|
Hello,
Looking for a setup to analyze traces that were captured on an ARM64 ELF embedded target on X64 Linux and/or Windows platforms. Our target does not have a display so I am looking to use trace compass to help me analyze the traces. The default load does not understand the ARM elf .so libraries and traces.
Is there plugins that will allow me to view/analyze cross platform?
Thanks.
Tab
[Updated on: Wed, 17 August 2022 21:19] Report message to a moderator
|
|
|
|
Re: Cross Platform Analysis [message #1854437 is a reply to message #1854436] |
Thu, 18 August 2022 14:06 |
Tab Mong Messages: 2 Registered: August 2022 |
Junior Member |
|
|
Hello Bernd,
Thank you for the quick response. This information is very helpful.
I spent sometime last night to try and understand the issue. The traces are produced by LTTNG but on the ARM64. They load up into the tool as expected. It reads the log file fine but does not interpret the rest of the files properly.
Based on my examination of the file formats, they seem to be binary even though they have a lot of text intermixed in the files. The text that I see are the tasks and markers of my running system so it looks very familiar. My assumption is that this a big endian/little endian issue, so I was wondering if there was a option to save them in a known format or a converter to go between the two formats?
Attached is capture of the tool after trying to load the traces.
Thanks.
Tab
[Updated on: Thu, 18 August 2022 14:13] Report message to a moderator
|
|
|
Re: Cross Platform Analysis [message #1854689 is a reply to message #1854437] |
Fri, 02 September 2022 13:32 |
Bernd Hufmann Messages: 9 Registered: April 2015 |
Junior Member |
|
|
Hi Tab,
If the traces are produced by LTTng then Trace Compass supports them by default. LTTng traces are in CTF, which is a directory with metadata describing the trace content and binary with actual binary trace data. The CTF parser in Trace Compass is able to handle traces in big endian/little endian. If you are allowed to share the trace then we could have look to see if it opens correctly.
Looking at the screen hot it looks like the trace is a User Space trace (UST). The events table seems to be populated. For UST only certain views are available by default because the UST tracepoints are application specific. By default, you see the Events Table, Statistics View/Event density and Histogram. You can also use the Filter view or Color view for highlighting events in the table. If the application was compiled with gcc's finstrument-functions and the tracer started with pre-loading a specific lib, you will see the Flame Chart, Flame Graph and function duration statistics etc populated as well. Similar feature exists for memory analysis. See [1] for LTTng-UST analysis available and how to make them work, [2] is about tracing function entry/exit and [3] about memory analysis.
The view Control Flow view or Resources view are populated for LTTng kernel traces, that why they are currently empty. You need collect the kernel trace with LTTng as well. If you add kernel and UST trace in one "Experiment" and open it, then you can see them together and in table the events are interleaved.
Best Regards
Bernd
[1] https://archive.eclipse.org/tracecompass/doc/org.eclipse.tracecompass.doc.user/LTTng-UST-Analyses.html#LTTng-UST_Analyses
[2] https://archive.eclipse.org/tracecompass/doc/org.eclipse.tracecompass.doc.user/LTTng-UST-Analyses.html#Using_the_Flame_Chart_View_with_LTTng-UST_traces
[3] https://archive.eclipse.org/tracecompass/doc/org.eclipse.tracecompass.doc.user/LTTng-UST-Analyses.html#Memory_Usage
|
|
|
Powered by
FUDForum. Page generated in 0.04300 seconds