Home > On-Demand Archives > Talks >

Using Visual Trace Diagnostics to Uncover Hidden Issues

Dr. Johan Kraft - Percepio - Watch Now - EOC 2020 - Duration: 25:25

Embedded IoT software is often multi-threaded, event driven, and resource-constrained. This increases the difficulty of IoT software development and calls for better means for debugging, beyond the limited scope of traditional debugging tools.

Software event tracing can improve IoT software development by providing a timeline of the overall software activity. This is very useful information for debugging, profiling and for finding software design flaws. Tracing can be performed entirely in software and remain active over long durations. It can even be used in deployment.

However, tracing produces lots of repetitive data. When debugging, you need to find a small number of anomalies. This can be like searching for needles in a haystack.

The human brain is visual and excels at pattern recognition. Visual trace diagnostics makes it possible to leverage this capability to make the anomalies stand out. This builds on software event tracing, but refines the data into a rich, meaningful model and visual overviews that makes it easy to spot anomalies. The result is quick, intuitive comprehension, even for large traces. This approach is invaluable in system-level debugging and for finding software design flaws.

Join Dr. Johan Kraft as he explores visual trace diagnostics and presents real-world examples of its use in locating and solving hidden software issues.

M↓ MARKDOWN HELP
italicssurround text with
*asterisks*
boldsurround text with
**two asterisks**
hyperlink
[hyperlink](https://example.com)
or just a bare URL
code
surround text with
`backticks`
strikethroughsurround text with
~~two tilde characters~~
quote
prefix with
>

Doini
Score: 0 | 4 years ago | no reply

Thank you, I appreciate the presentation!

JohanSpeaker
Score: 0 | 4 years ago | 1 reply

Hi Nathan,
Thanks. Well, for streaming you need some kind of channel to get the data out. But this can be an existing I/O interface with spare capacity, like ethernet, wifi or USB.
Regarding your second question, streaming may also reduce overhead compared to snapshot, at least if you have a really fast streaming interface. Live visualization is another advantage, that can be enabled by fast streaming support.
/Johan

TBS
Score: 0 | 4 years ago | 1 reply

Hi Johan,
2 questions:

  1. without special hardware how can the event capture be so quick (microseconds?)??
  2. I noticed your example was in the STM32CubeIDE (using an STM32L4). Does your tool operate fully in that environment? Is there a demo that would run on an STM32 demo board (I have an 32L4R9IDISCOVERY)??
    Thanks. Clever stuff.
JohanSpeaker
Score: 0 | 4 years ago | no reply
  1. It depends on the mode, but in snapshot mode, the data only needs to be copied to a ring buffer in RAM. That is pretty fast. If you compare with a printf, there is a lot of formatting that needs to happen and the serial output is usually limited to 115 Kbps. For streaming we first copy it to a temporary RAM buffer, like in snapshot mode, and then have a periodic task that flushes the data to a fast channel, like e.g. 100 Mbps Ethernet or fast debug probe with 10+ MHz transfer speed. If you have a really fast debug probe, like an Arm Keil ULINKplus, it is also possible to omit the temporary buffer and stream directly.
  2. Yes. Most IDEs can be used. It is mostly dependent on the RTOS. We have some STM32 demo projects available at https://percepio.com/example-projects/
JohanSpeaker
Score: 0 | 4 years ago | no reply

Thanks Boban
Apart from Windows it also runs on Linux, but not yet Mac.
/Johan

bdanilovski
Score: 0 | 4 years ago | no reply

Excellent and very useful presentation. Is Tracealyzer available only for Windows or other OSs as well (MacOs, Linux)?

Nathan
Score: 0 | 4 years ago | no reply

Thank you for your presentation, it was very useful.
You mentioned that Tracealyzer doesn't rely on any hardware. Is this for the trace buffering mode only, but to get streamed trace data, trace hardware is required? Are there any other additional advantages to having suitable hardware besides the quantity of trace data which may be collected?
Thank you.

JohanSpeaker
Score: 0 | 4 years ago | no reply

Thanks Carl!

Carl
Score: 0 | 4 years ago | no reply

well done and clear

JohanSpeaker
Score: 0 | 4 years ago | no reply

I'm available here in case you have any questions. Or you can join the live Q&A session on Zoom afterwards.

OUR SPONSORS

OUR PARTNERS