Israeli startup Rookout supplies dynamic instrumentation for cloud-native apps that it says lets developers find and fix bugs faster, and is used by developers at storage companies Backblaze, NetApp and Seagate.
During an IT Press Tour briefing, B&F was told the whole idea is to help developers deliver correct code faster by enabling them to react better and quicker when code fails. The main way this bug hunting is done is through live logging and dynamic instrumentation and it can be carried out in production environments. Live logging enables developers to increase the granularity of log data at a specific point in their code so that they can zoom in on a problem area.
Dynamic instrumentation is made possible by bytecode (portable or pcode) manipulation. Bytecode is an intermediate type of software code between developer-written source and the machine code that runs on the hardware. It is compiled and executes on a virtual machine, such as a Java Virtual Machine, which acts as an interpreter to turn it into executable machine code.
What Rookout does is to use bytecode manipulation to insert new instrumentation into cloud-native apps at run time. It means the developer is not limited to only seeing instrumentation results at preset breakpoints in the source code. They can see as deep as they want into the code when they need to do so, we’re told.
Rookout Smart Snapshots capture application memory contents when a cloud-native app fails. Log data only capture a few hundred bytes, with app traces getting a few thousand. Snapshots include everything that happened at a specific moment in time: stack traces, variable values, request context, and the global state of the application.
Liran Haimovitch, CTO and co-founder of Rookout, said: “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.”
A Dynamic Observability offering is designed to allow developers to collect any metric they want on-demand and for no additional cost. Developers can click on any line of code, visualize the data directly from production, and connect it to a business value.
Background
Rookout was founded in 2017 by CTO Liran Haimovitch and Or Weiss, who is on the board but is also the co-founder and CEO of Permit.io. Shahar Fogel is Rookout’s CEO and joined in February 2020. It has raised $28.4 million in total: a $4.2 million seed round in April 2018; an $8 million A-round in August 2019; and a $16.2 million B-round in August 2022. There are 45 full-time employees and R&D takes place in Tel Aviv with a business office in Palo Alto.
Rookout’s software is deployed as an agent and incurs a 2 percent or so execution overhead, we’re told. The company defines four pillars of observability:
- Metrics – application response measurement on demand,
- Traces – app event timeline,
- Logs – app event information,
- Smart Snapshots – app memory content capture.
Rookout told us it has hundreds of customers and more than 100,000 instances of its agent deployed. Customers include Adobe, Jobvite, and Informatica, it said.