What do buying a fire extinguisher and not smoking inside the house have in common? Both are aimed at mitigating the effects from a potential fire. The important difference is that one measure is proactive, and the other is reactive. Same applies to performance: monitoring reacts to damage and testing prevents damage.
Meet XRebel Hub – the new tool from ZeroTurnaround for performance testing in CI, test and staging environments. XRebel Hub is about not smoking in the house. It is about staying healthy and performant.
Development vs production
A team of developers makes code changes every day. Any of these can potentially blow up in production. Imagine a change to a data access object that starts generating hundreds of database queries per request. A newly added open source library that massages the payload with less efficiency, causing a 500% increase in processing time. Or some new code that swallows a valid exception. And then…
That horrible feeling when a monitoring tool registers a performance issue in production.
XRebel Hub catches harmful regressions during the testing stages. It does this by monitoring the team’s code changes during test runs and reporting issues when there is still ample time to address them. Hence that warm feeling when seeing performance reports from a safe testing environment:
There are 3 user experience aspects that XRebel Hub monitors: response and processing times, IO operations and exceptions.
- Latency has a direct impact on user experience: slow means annoying.
- IO count indicates the load on infrastructure. Requests with too many IO operations might perform fine during functional testing and not produce latency alerts. But they can easily become sluggish or fail under a real, concurrent production load.
- Exceptions mean that the normal flow of the application gets disrupted. Not something you want your customers to experience.
Being proactive might seem like a serious effort. Integrating a new tool into the existing workflow, configuring it, maybe even writing tests — it all takes time. This is not the case with XRebel Hub. Simply add the agent to the application and it will reuse your existing testing processes to discover performance issues. No need to divert from your cozy and familiar workflow.
XRebel Hub even takes care of choosing the right data for regression tracking. It compares the two most recent versions of your application by default. This allows you to catch issues introduced within the ongoing release — before they get shipped! A more fine-grained analysis can also be accessed by selecting specific dates.
Once the issues are detected, the developer needs to understand what to do with them. This is where having a full profiler is indispensable. XRebel Hub analyzes the call trees of problematic requests, finds hot spots, pinpoints what causes a latency increase or spawns excessive IO calls. The stack trace of an issue request is compared to a regular one, with problems highlighted, all the way down to the method level.
XRebel Hub is there for every step of the issue life cycle: detect — understand — fix — confirm the fix. Everyone on the team is responsible for performance. Finding issues early keeps teams sane and away from fire extinguishers.
Join the XRebel Hub beta today: xrebel-hub.com