New features in Tracealyzer 4.7

Mar 7, 2023 |

Tracealyzer showing Runnables

Tracealyzer® version 4.7 in now available for download and evaluation. This is a big feature update with several new capabilities and major improvements.

Observability for any C/C++ software: Percepio’s TraceRecorder library can now be used with any C/C++ software without requiring that a supported RTOS is used. This way, more firmware developers can benefit from the powerful observability of Percepio Tracealyzer for improve their software verification, profiling and debugging processes. This is enabled by a bare metal integration option that enables application-level trace without also needing an RTOS kernel integration. This provides visual observability on any event or data that is logged by the user, such as important function calls, values of variables and registers, states machines and various types of software timing like execution time and periodicity for selected sections of code.

Automotive ECU profiling support: New support for tracing of “runnables” makes Tracealyzer v4.7 very capable for automotive ECU profiling and debugging. A runnable is an automotive term for a software component in the runtime system, but runnable tracing is not only for automotive systems but allows for detailed profiling of any section of C/C++ code where timing and performance is important. This allows developers to trace and visualize code sections in the Tracealyzer timeline views and get detailed profiling information including execution time statistics and plots.

Improved application tracing: Tracealyzer now allows for setting up explicit tracing of state machines and custom intervals directly in the TraceRecorder API, on the target side. This makes such tracing more efficient and easier to use, since no additional setup is needed in the Tracealyzer application. Views like state graphs and interval plots are available directly when such traces are loaded in Tracealyzer.

Compact logging: The new version of Tracealyzer allows for more efficient logging as string literals like names and format strings don’t need to be logged in full. Instead, only their memory addresses are logged, and these are resolved automatically by Tracealyzer by using the ELF file from the build process. This means fewer bytes needed per log message, faster logging calls and thereby higher throughput in the logging.

UDP streaming: Tracealyzer v4.7 adds support for streaming trace over the UDP protocol. Tracealyzer has earlier allow for network-based streaming using TCP, but UDP is significantly faster meaning higher throughput, less memory usage and lower processor load.

Improved support for Arm Cortex-A/R: The TraceRecorder library has been extended with a new hardware port for Arm Cortex-R and -A devices using the Armv8 architecture in 32-bit mode. This allows for using Tracealyzer on popular cores such as Arm Cortex-R52.

Improved SafeRTOS support: The integration for SafeRTOS has been upgraded to the new generation TraceRecorder and now benefits from all the latest and greatest Tracealyzer features. Contact Wittenstein high integrity systems to learn more about the Tracealyzer support for SafeRTOS. 

Improved VxWorks support: Event definitions have been updated for VxWorks 6.9.

Updates for Percepio® DevAlert®: The integrated DevAlert client in Tracealyzer has been moved to a separate tool, DevAlert Dispatcher. This since DevAlert now supports any type of diagnostic data, not only Tracealyzer traces but also e.g. GDB crash dumps and existing application logs.

Most of the new features are related to the Percepio TraceRecorder library which is used in the FreeRTOS, SafeRTOS, Azure RTOS ThreadX and Bare Metal integrations. These new features are documented in the Tracealyzer User Manual under “Creating and Loading Traces” > “Percepio TraceRecorder”. However, there are several minor improvements and fixes of relevance for other users, including updated VxWorks support and improvements of User Manual for the Linux tracing features.

The new “bare metal” integration option is available to all users with an active Tracealyzer subscription, but licenses issued before Feb 2023 need to be updated to enable this feature. Contact support@percepio.com if you need help with this.

You may download and evaluate Tracealyzer 4.7 at the Tracealyzer download page, or use the direct download link from the Tracealyzer update notification.

More examples of the new features will follow in the blog. Stay tuned!