If there is one thing we’ve learned in our years of performance management work, it’s that aggregate metrics, while extremely valuable, don’t always tell the entire story. It is always important to understand your application’s average throughput, ActiveRecord response time, and slowest controller actions. But many times, even though aggregate metrics show things are running smooth as silk, individual customer transactions may be experiencing significant problems. These outlying (poor performing) transactions may not seem a big deal, but for e-commerce sites with very low customer switching costs, a single bad experience can mean the difference between keeping a customer and giving an early 2009 Christmas gift to a competitor.
“So”, I hear you cry, “how do I find those outlying transactions?” And more importantly, “how do I drill into those transactions far enough to really see what is causing the problem?” Fortunately New Relic RPM has a feature (at the Silver level and above) that addresses this very problem.
Presenting Transaction Tracing:
check out the full size demo.
New Relic Transaction Tracing gives you the ability to see the slowest individual transactions in your running production Rails application. Not only that, but you can drill into those transactions to see the SQL queries that may be causing the slow down (for those of you security sensitive folk, we obfuscate the parameters in the queries by default). What’s more, for those really slow queries (over 250ms), we actually capture the SQL Explain Plan to give you even more data.
No longer will you wonder why everything looks great, but customers are still complaining! Take a look at the demo and let us know what you think!