TrustRadius: an HG Insights company

Percepio Tracealyzer

Score7.7 out of 10

5 Reviews and Ratings

What is Percepio Tracealyzer?

Tracealyzer® lets embedded software developers dive deep into the real-time behavior with the goal of speeding up debugging, optimizing performance and verifying software timing.

Requiring no special hardware, Tracealyzer uses software instrumentation to record software event traces. This can be streamed to the host application views or kept in target RAM until requested. This is enabled by its trace recorder library, refined since 2009 and provided as open source.

Tracealyzer supports many processor families, including STM32, NXP i.MX RT, Xilinx Zynq and other Arm devices, ESP32 and others. Supporting new processors is done with a few lines of code. Integrations are provided for leading embedded software platforms and tools, including FreeRTOS, Zephyr, Azure RTOS ThreadX, VxWorks, IAR Embedded Workbench, Keil µVision, Segger J-Link, Lauterbach µTrace, Eclipse/GDB and LTTng for Linux tracing.

Great tool, even better support!

Use Cases and Deployment Scope

We use percepio as our main platform to troubleshoot and diagnose our embedded applications in real time, both as a method to find bugs and to evaluate the performance of our code regarding use of resources and timing.

Pros

  • Allow you to see real-time performance
  • Easily log start-up transients
  • Show RTOS scheduling decisions and resource allocation

Cons

  • More contemporary UI

Most Important Features

  • Real-time long term logging
  • CPU timeline
  • User-defined events

Return on Investment

  • Sped up our debugging process by a tangible amount, especially for a couple issues that had our engineers stumped

Great Embedded RTOS Debugging Tool

Use Cases and Deployment Scope

I have been using Percepio Tracealyzer since I first discovered in on the FreeRTOS site. It has been my go to too for 3 companies, especially with useful for debugging nasty crashes and performance issues. It is one of the first tools I purchase and have successfully used it both with FreeRTOS and Linux. I greatly appreciate the ability to view the internal workings of complex multithreaded systems with massive debug overhead. As an early adopter I provided initial ports for the microchip DSPIC/24 and Xilinx PPC families and this required very little coding even back in the early days. Since then all the families I’ve used have been supported. Given the viewer itself is written using the .net framework it is a little cleaner directly on Windows but generally runs fine on Linux. Far and away one of my favorite tools for embedded systems.

Pros

  • Debug system crashes
  • Performance Analysis

Cons

  • Wish it ran on macOS,

Most Important Features

  • Debug

Return on Investment

  • Small company now, a bit pricy now

It works. Sometimes...

Use Cases and Deployment Scope

We use Tracealyzer built within uCOSIII to visualize and debug issues.

Pros

  • Great visualization
  • Sometimes awkward views (vertical vs horizontal)

Cons

  • It's not always easy to include/integrate Tracealyzer in the OS build. It would be nice to have a simple install/plug n play method for our target.
  • Sometimes, the .bin files from Tracealyzer don't always work and we don't know why

Most Important Features

  • Visualizing the timing of the code/OS/everything else.
  • being able to add custom events

Return on Investment

  • Positive: We were able to find some thread priority issues with Tracealyzer.
  • Positive: we were able to see timing of events in the sw/hw that we couldn't otherwise see.

Alternatives Considered

BlackBerry QNX Software Development Platform

Other Software Used

BlackBerry QNX Software Development Platform

Tracealyzer use for an average user

Use Cases and Deployment Scope

Tracealyzer allowed me to quickly identify embedded OS and code use issues using standard interfaces and hardware tools that far surpass writing custom debug routines, parsers, corresponding software tools in a fraction of the time. I can't really imagine writing code for an embedded OS target without having visualization tools like Tracealyzer at the ready.

Pros

  • Visualization of complex process interactions, times, dependencies
  • Organization of data streamed from the OS target in a meaningful way

Cons

  • More support for resource constrained bare metal systems with limited memory

Most Important Features

  • Out of the box use without too much integration or trouble to get running

Return on Investment

  • The initial licensing costs and maintenance costs are negligible compared to the time a developer can spend trying to troubleshoot some deep OS intrinsic without the proper insight tools.
  • Tracealyzer costs are negligible compared to the time to develop, test, and maintain custom debug tools and corresponding desktop software.

Tracealyzer definitely helps our customers isolate real-time problems

Use Cases and Deployment Scope

The Intervalzero’s RTX64 product contains the percepio Tracealyzer tool as part of its SDK. The IntervalZero monitoring session logs can be loaded by Tracealyzer to help our customers get a detailed graphical view of their real-time application’s behavior. Tracealyzer allows our customers to find memory leaks, deadlocks, and even performance issues. The design of the UI allows for complex applications that run across multiple cores to be easily viewed by our customers to determine what is happening in their applications.

Pros

  • Graphical view of data
  • filtering out of events

Cons

  • a lot of views which can be confusing
  • does not do a great job of loading very large files

Most Important Features

  • graphical display of data

Return on Investment

  • Allows our customer to get to market faster
  • Allows our customer to better understand what their application is doing