What part of your app do you fear most? What's holding your app back? How can you improve your app with less time, cost, and effort?
What if you could observe what your app does in production, instead of guessing? What if you had your own personal application analyst?
Agentless · Proactive · Adaptive · Intelligent Analysis
To measure is to know. — Lord Kelvin
Two things complicate app metrics: First, if everything is important, then nothing is. Second, measuring has a cost.
Rather than tentacles of foreign code worming through your app, as the typical agent approach uses, Analyst observes every aspect of your code while it's running and can focus on the parts you think are important.
And, in most cases, Analyst adds zero runtime cost.
Knowing that your application has an error in production is good. Preventing errors in production is better.
Analyst knows the context of your application errors and works to alert you about problems before they get to production.
There is only one place that your app's performance matters and that's in production.
Relying on benchmarks and profiling in an artifical environment to tell you about your app's performance is like sampling a butter and flour mixture to see how a cake will taste when it's baked.
Always know how your app is performing in production with Analyst.
Your app processes data, and the data flow creates a graph that is distinct from the call graph and object graph.
One of the more troublesome bits of data is nil
. Where do these nil
values arise and why do they always seem to pop up in production?
Never again wonder where nil
values are in your app.
How does your app code interact? How does that interaction change over time?
Static analysis and code churn metrics can provide valuable information. But in a highly dynamic language, app behavior is potentially invisible to these methods.
With Analyst, your app is an open book.
What app code is actually running in production?
Did you just deploy code to production that has no test coverage?
Are developers gingerly working around some particularly complex area in your app? Is that feature really used in production? What code does it interact with?
Reluctant to update a critical gem for fear of some poorly tested app code breaking?
Analyst helps you work confidently with code because it sees exactly what code is running and how it interacts.
What can you do when you have a difficult production error and need to shine a spotlight on a troublesome part of your app?
Analyst can inject instrumentation in production that can help you understand your app's behavior, but is guaranteed to not change your app's semantics.