Percepio DevAlert 2.0 brings full observability and remote debugging
Percepio DevAlert is a cloud-based observability solution providing a diagnostic feedback loop between remote devices and the product teams. With DevAlert, product teams can detect crashes, errors and other software anomalies instantly, during system testing, field trials and in customer operation, and get detailed diagnostic information enabling rapid solutions. DevAlert is purpose-built for small edge processors and IoT microcontrollers running RTOS-based software, with security, privacy, transparency, and scalability in focus. Embedded software without cloud connectivity can be supported by relaying the data using a locally connected host computer, e.g., for monitoring system testing, or by plugging in a laptop during field service. In this way, DevAlert is relevant and applicable for any embedded software. All you need is a serial port or a debug probe.
DevAlert 2.0 provides much improved diagnostic capabilities, including core dumps for source code debugging targeting Arm Cortex-M devices. This allows for remote analysis of crashes, errors or cybersecurity anomalies in full detail, including the function call stack, parameters and variables, and with source code display. Together with the earlier DevAlert features for collecting Tracealyzer traces on anomalies, and the recently added Tracealyzer SDK for custom trace integrations (see press release here), this provides full observability for any embedded software running on a real-time operating system (RTOS) or as a bare-metal application. DevAlert has not yet been tested on Linux-based devices, but the platform is designed to enable Linux support in the near future.
The new DevAlert solution can also be used to detect stack corruption using common compiler features and an example for the GCC compiler is included. When combined with the core dumps, you can not only discover dangerous buffer overrun issues, but also capture the corrupted stack contents to inspect the data. This can reveal code injection attacks in full detail, as well as accidental buffer overruns that are critical vulnerabilities.
“Software observability is increasingly critical for digital trust due to rising cyber threats and ever-increasing software complexity causing elusive bugs and vulnerabilities. Not only in the cloud, but even more so in edge devices that are exposed to unpredictable environments and physical attacks since they have many attack surfaces. Edge devices may have CAN buses, UARTs, JTAG debug ports and various other I/O interfaces that were not designed with cybersecurity in mind. At Percepio we have been focusing on observability for embedded software for many years now, starting with Tracealyzer for local observability during the development phase. The first version of DevAlert extended this to trace-based observability for deployed devices at scale. With DevAlert 2.0 we take the next step by allowing users to collect any kind of device data, including core dumps for source code debugging, as well as customer-defined data such as device logs, network logs, sensor data, images and audio data. This enables powerful edge device observability, which is the missing piece for achieving true full-stack observability all the way out to the very edge,” says Dr. Johan Kraft, CTO and founder of Percepio.
DevAlert 2.0 has been integrated by Sensorbee AB, a provider of IoT-based outdoor air quality monitoring solutions.
“It is very important for us to deliver new functionality quickly, from a customer request all the way out to the field. DevAlert helps us accelerate the growth of the company as we can deliver new functionality faster and with the high quality expected by our customers,” says David Löwenbrand, CEO at Sensorbee AB.