Observability was built on the foundation of three pillars: logs, metrics, and traces; Now, the company Rookout wants to add a fourth: snapshots.

“We’ve been hearing for years about the three pillars of observability,” said Liran Haimovitch, CTO and co-founder of Rookout. “Snapshots are the next level for those moments when something goes very wrong and metrics and logs don’t provide enough context for developers. If a picture is worth a thousand words, a Snapshot is worth a thousand log lines.” 

The company today released Smart Snapshots, which provide a picture of what was going on in an application at a particular point in time. 

The snapshot can include things like stack traces, variable values, request context, and the global state of an application. 

Furthermore, developers can customize what data is collected, set additional filters or conditions, or disable the snapshot entirely. 

They can be particularly useful in shielding your application from edge cases of something going wrong and enable developers to do live debugging when issues do arise.

“As you write code, you often think about how to deal with obscure and bizarre edge cases that you don’t know how and if they can happen. Traditionally, you would put a lackluster log line and hope you’ll deal with it when it happens. Fast forward, and you are often stuck with very little information to deal with the (un)expected issue. Instead, take a snapshot of the application state at that point in time,” Haimovitch wrote in a blog post.