When it comes to debugging performance related issues, the range of these issues together with their root cause can be overwhelming to developers.
I’ve been a firmware engineer at two wearable companies in the past, Pebble and Fitbit, and there was always one class of customer support tickets and user complaints that never went away: issues around battery life. It was a constant game of whack-a-mole with every new firmware version introducing a battery regression.
Debugging in production is always a necessary evil. No matter how well your code is written and reviewed, bugs are bound to appear, and their consequences are there for your users to see. While debugging any app has challenges, debugging legacy systems is a different ballgame. From unfamiliarity with the codebase to a lack of knowledge about the tech, your developers can find themselves aimlessly searching for solutions where solutions don’t exist.
I’m Markus, software engineer @ Tridonic, where we are working on Internet-connected wireless lighting solutions based on the Matter standard. To be able to monitor the reliability of those devices we’ve been using Memfault and tied it into Matter/Thread and its UDP/IPv6 stack based on the Nordic Connect SDK. In the following, I’ll show you the modifications we’ve done to enable Memfault in an IPv6 solution. Like Interrupt?