Benefits of Tracing
Trace Visualization for Efficient Debugging of Embedded Systems, a presentation by Percepio CEO Johan Kraft, is an excellent introduction into the world of software tracing, the importance of well-designed visualization of trace data, and how this technology can help you create better software.
Software tracing combined with powerful visualization allows for unprecedented insight. Improve productivity and quality in your software development, reduce project risks and time-to-market.
Source code alone does not give the full picture of how multitasking software systems actually behave in run-time. The real-time behavior also depend on many other factors, like the timing of your tasks and interrupts, their interactions and inputs. With a sophisticated tracing tool like Tracealyzer, you get much better insight into the run-time world of your system and accelerate your development, debugging and validation.
To learn more about the challenges of designing and debugging multitasking embedded systems, we recommend reading this white paper.
- Faster Troubleshooting
Percepio® Tracealyzer allows for capturing rare, sporadic errors which otherwise can be very hard to reproduce and analyze. Many embedded software problems can be solved in a fraction of the time otherwise required. Tracealyzer recording can be used in parallel with existing debuggers in the lab, or deployed in field systems to capture rare sporadic errors.
- Better Software Quality
Tracealyzer is not only a “fire extinguisher” to use on specific hard problems. You can also discover and avoid potential future problems, such as blocking system calls that are close to a timeout. Moreover, Tracealyzer gives you a better understanding of the current system run-time dynamics, so when designing new features, you can avoid unsuitable designs that could cause problems related to timing, CPU usage, scheduling or other task interactions.
- Better Performance
The improved insight also allows you to find new ways of improving the embedded software performance. There might be “low hanging fruits”, where small changes in task timing may give substantial performance improvements. Tracealyzer provides several ways of finding “hot-spots” where tasks are delayed by higher prioritized tasks, that possibly could run a bit earlier or later to reduce resource conflicts. Without suitable visualization, such optimizations are very hard to find. This way, you can get a more responsive software system, or fit more software functionality in the same hardware platform.
- Control system tuning
Control system developers can benefit from the support for plotting custom application data, what we call user events. Plots of e.g. control signals (sensor inputs and actuator outputs) can be correlated with the software timing in order to better understand anomalies in the control performance. Moreover, plots of task timing (e.g., periodicity) can be used to study software timing variations that affects control performance.
- Other benefits
The improved level of insight also allows for faster introduction of new developers and better possibilities to evaluate the performance of new third party software, such as embedded databases, touch screen drivers or communication stacks. Finally, since we support several common operating systems for embedded software, you can often keep the Tracealyzer support even if switching to another operating system.
Lead Firmware Engineer, Flyability
“Tracealyzer allowed me to quickly understand and solve serious multi-threading issues, that otherwise would have taken least two weeks to analyze. I got started and solved the first issue in a single day. I strongly recommend Percepio’s tracing tools.”
Embedded Systems Engineer, CGX Aero
“The many system views of the Tracealyzer from Percepio makes it easy to quickly find solutions that we have not seen using (Wind River) System Viewer. The visualization has several advantages over the system viewer and makes it easier to understand system behavior. This tool would be of great use for us.”
Software Architect, Saab AB
Serious Integrated, Inc.
“In less than 5 days from running the tool, we improved the performance of our graphic rendering engine by 3x!”
CEO, Serious Integrated, Inc.
“Tracealyzer have enabled us to better understand and further improve our embedded software. Using this tool, we have been able to identify performance bottlenecks and solve problems, which otherwise would have been very hard to analyze.”
CEO, Telcred AB
“ABB Robotics is using the first generation Tracealyzer in all of the IRC5 robot controllers shipped since 2005. The tool has proven its value many times in all corners of the world.”
Global System Architect, ABB Robotics
Atlas Copco Rock Drills
“In today’s tough competition with time-to-market pressure constantly increasing, visualization support is natural for software developers in order to produce software of higher quality, in shorter time and at a lower cost. We choose Tracealyzer from Percepio.”
R&D Manager, Atlas Copco Rock Drills
“Our goal is to integrate internet, mobile internet, digital broadcast networks and home network, in a way that creates an interesting user experience. This puts enormous quality requirements on the software we develop and Tracealyzer gives a very good support in this.”
CTO, Zenterio AB
“I am looking at an existing code base and architecture in use here on several projects. If we improve how we use FreeRTOS, we would substantially improve software quality, make better use of microcontroller resources and streamline our debugging efforts. I plan on using Tracealyzer to understand where the project is at today and to help me analyze changes I make going forward. It is obvious to me that Percepio is working to improve Tracealyzer every day.”
“It is not always easy to decide if an investment is a good idea or not. But now that we have invested in Tracealyzer, it is very difficult for us to imagine developing firmware based on FreeRTOS without it. Money is always a delicate point for every company, but from my point of view, Tracealyzer for an RTOS is like an oscilloscope for hardware design; it’s not an option, it’s a requirement.”
“Percepio Trazealyzer allows us to quickly analyze and understand our embedded system. It gives us great insight on process timing and interactions within our software.”
Embedded Software Engineer, Endress+Hauser Flow
“Tracealyzer allowed us to see what our software was doing. It gave us insight into available memory for tasks, and we could verify real-time requirements. We used it throughout the project and found integrating it into our application quite easy thanks to the included instructions.”
Electronics & Software Engineer, ARIS Switzerland