My expectation is that if you use a service you probably use Sentry. Seems like a very common choice. But I’d love to hear if the truth is more diverse.
I am thinking about possibilities for integrating error reporting with NervesHub. And while we could certainly build a NervesHubLink extension for sending errors up to NervesHub it may be more helpful and a lot more bang-for-the-buck if we can integrate with what people actually use and then correlate the device identifiers and show “hey, UND00234238 has reported 1000 errors today”.
So let me know how you detect problems, report errors, all that, if you don’t mind. If you feel the need to weigh in but don’t have production Nerves devices, please be clear about that
The Redwire Labs Nerves project generator comes with Sentry commented out in the template because it’s the simplest one we’ve integrated with. If I recall, the Sentry library doesn’t report GenServer crashes during init by default, but we have some code that catches and reports those.
I do wish NervesHub handled the error reporting. It would be great for consolidating SaaS services, and one less connection we have to instruct users to whitelist.
Yeah, NervesHub directly taking in error reports might be the result. I have a hunch that Sentry is quite common among existing systems. But I could also see a variant of ingesting errors via Sentry for those cases, assuming our error handling is something compatible enough.
The neat thing with error reporting is that it is additional signal for deployments to be smarter about devices misbheaving after an update.
Over time we can consider metrics vs user’s configured thresholds, error reports, log lines at error level. It becomes a very multi-faceted “health” concept. And it lets us determine when a deployment should back off.