Yesterday while tracking down the bird bug, I used an incredible tool called Dynatrace, which gathers fine-grained metrics from running applications, then lets you analyze your app in myriad ways. Dynatrace is very expensive, designed to run full time on large server apps like American Airlines and Bank of America. I’ve used it to consult for companies like Marriott, Lowes, and Dollar Thrifty.
While technically an “application performance monitoring” tool, I often use it for debugging because it gives unparalleled visibility into the state and history of running software. Below is a “purepath”, a sort of stacktrace on steroids, which details the exact path your code took for a specific action.
Two things to note. First, this is an end-to-end trace, meaning it shows me the detailed path from Tidepool, the client, to Storymill, the server, and back. Second, it’s giving me exact timing information for individual method calls and network hops. I can then aggregate days or weeks of this data to see the sore points in my code.
I’ve wanted a tool this powerful for most of my professional career. The visibility it gives on running code blows logging and breakpoint debugging out of the water.