Overlock vs. SentrySentry is great for tracking exceptions in servers, websites and apps. But the kind of errors that crop up in IoT systems are distinct, and the techniques needed to debug them are different.
Overlock’s agent-based architecture allows up to track events that happen outside the scope of the main application. Sentry’s breadcrumbs show you what was happening in the program just before an error, but with IoT devices it’s just as important to know information that’s happening on the host OS. That could be kernel messages, errors in background threads or network issues.
The unpredictable operating environment of IoT devices, with power fluctuations, long-running processes and the inability to do regular maintenance, means that low-level issues are more likely than on a server where problematic devices can be repaired or replaced without service interruptions.
When someone gets in touch to say their device isn’t working, what’s the first thing you do?
With Sentry, unless there has been an exception recently, there’s not much you can do. Overlock, on the other hand, gives you a high-level overview of the events that have affected a device recently. For example, was it restarted recently? Or has it not been restarted for three years? Does the network keep dropping out, or was the firmware just updated? Are there any recorded issues or exceptions on the device? All this information helps you understand quickly and clearly what’s been happening on the device and why it might be going wrong, and means customer support staff can ask developers about specific issues rather than hard-to-define complaints.
Errors in interconnected systems
Sentry is great for debugging a program operating in isolation. But if a gateway throws an exception because of invalid JSON, Sentry will only show you what was happening on that device. It’s up to you to investigate which devices might have been the source of that JSON and track down why it’s wrong.
Overlock, on the other hard, is built with these kinds of distributed systems in mind. Easily inspect the state of all devices related to the current issue, without jumping between tools or even going to a different page. Seamlessly track the data as it flows from edge node to gateway to server, or from a controller to an actuator.
Find the root cause of the problem, faster.