Tracealyzer SDK enables full trace observability for any C/C++ application by providing third-party extensibility for any RTOS, middleware and API.
New Percepio Tracealyzer® SDK enables application and platform developers to build custom extensions to gain full trace observability for all C/C++ systems
Västerås, Sweden, September 27, 2023 * * * Percepio AB, the leading provider of edge observability solutions for system developers within critical Operational Technology (OT) applications, announces the immediate availability of Tracealyzer SDK, a software development kit enabling platform developers to create custom observability solutions with Percepio Tracealyzer. The SDK has already enabled PX5 RTOS to add Tracealyzer support, validating the capabilities it unlocks for third parties.
“The Tracealyzer SDK is awesome! It enabled our development team to fully integrate the PX5 RTOS with the latest version of Tracealyzer in just a couple of weeks,” says PX5 RTOS President and CEO Bill Lamie.“Everything was clear and easy to use – so much so that we didn’t need any additional support. I expect other developers will have a similarly positive experience.”
Debugging, verification, and profiling
Percepio Tracealyzer provides trace observability for system-level debugging, verification, and profiling for embedded, edge, and IoT systems. Its advanced visualization and analysis features let product developers speed up development time thanks to 10x faster debugging. Tracealyzer also helps developers verify their software to ensure reliable operation and optimize their software to improve product performance.
Tracealyzer is available for several popular real-time operating systems (RTOS), including FreeRTOS, Zephyr, and Azure RTOS ThreadX, for which Percepio supplies and supports the integration code. The new Tracealyzer SDK provides a broader solution for any C/C++ software enabling more developers to take full advantage of the powerful capabilities of Percepio Tracealyzer, including RTOS awareness, no matter what RTOS is used.
“We are thrilled to release the Tracealyzer SDK, the second step in our strive to enable more developers to benefit from trace observability,” says Dr. Johan Kraft, CTO and founder of Percepio. “The first step was the RTOS-independent bare metal support added in Tracealyzer v4.7 that enabled application-level tracing for any C/C++ application. Now Tracealyzer SDK enables developers to create custom extensions for full observability, including RTOS awareness and API tracing for deep insight into the runtime world. This is a great way for processor vendors and software platform providers to offer market-leading observability to their customers without having to reinvent the wheel.”
The Tracealyzer SDK is suitable both for application developers and for platform developers, such as silicon vendors, RTOS developers and middleware developers. All can benefit greatly from the Tracealyzer SDK in terms of more design wins from better tool support. For silicon vendors, the Tracealyzer SDK can enable detailed observability not only on RTOS and application level, but also for board support packages (BSPs), peripheral drivers and hardware abstraction layers, improving productivity for both customers and field application engineers. This accelerates customer development and thus shortens the time to production orders.
Easy custom integration
The Tracealyzer SDK provides documentation and code examples enabling Percepio customers and partners to create custom integrations of the Percepio TraceRecorder, Percepio’s open-source event tracing library provided in C source code. Only a handful of TraceRecorder function calls are needed to enable profiling and optimization of CPU load, software timing and dynamic memory allocation, including support for identifying memory leaks. Additional instrumentation can be added in any C/C++ API of importance for verification and debugging, such as communication stacks, drivers and hardware abstraction layers. The Tracealyzer SDK also facilitates integration in AUTOSAR-based automotive software and support for AUTOSAR “Runnables” is already included.
The TraceRecorder library is not only intended for development use but can remain active in production software to analyze anomalies in deployed operation. This use-case is supported by DevAlert®, Percepio’s cloud-connected solution for remote edge observability. DevAlert provides alerts from devices to developers on system anomalies, with detailed diagnostic information including Tracealyzer traces, core dumps and other types of data. With the Tracealyzer SDK, DevAlert users can extend the tracing and get more detailed information on issues and anomalies during customer operation, for example errors and failures due to elusive bugs, or cybersecurity warnings.
The TraceRecorder has been highly optimized since it was originally designed for use in resource-constrained devices such as microcontrollers. Even in such devices, tracing an event is around 1000x faster than “printf” logging to a typical 115200 baud UART interface. Thus, the performance impact from the TraceRecorder library is typically not noticeable and often more than compensated for by the possibilities for software optimization.
The TraceRecorder library is available on GitHub under the Apache 2.0 license. The Tracealyzer SDK is available at https://percepio.com/tracealyzer-sdk/ and can be used by any Percepio customer with an active Tracealyzer subscription.
Percepio offers commercial technical support to customers and partners who need assistance with developing Tracealyzer SDK extensions, and also to platform developers who wish to distribute Tracealyzer SDK extensions to customers with technical support from Percepio. Open-source projects may be supported free of charge on a case-by-case basis.
Learn more and access the Tracealyzer SDK at https://percepio.com/tracealyzer-sdk/.
The full release is available here: English | French | German | Italian