Troubleshoot a performance regression after a deployment
This guide walks you through a common end-to-end workflow for using Adaptive Profiles to automatically detect, diagnose, and resolve a performance regression introduced by a new version of one of your services.
Goal
In this scenario, you use Adaptive Profiles to:
- Automatically capture a high-resolution profile following a version change.
- Use an auto-generated insight to pinpoint the root cause of a performance regression.
- Use Drilldown to view a detailed flame graph, validate the finding, and resolve the problem.
Solution
You are responsible for a critical service that is regularly updated and deployed. After a new version is released, you want to ensure that no performance regressions are introduced. Continuously running high-resolution profiling on every deployment would be too expensive, and regressions may not be immediately obvious through metrics alone.
Adaptive Profiles helps you automatically capture detailed profiling data during the critical period immediately following a deployment, allowing you to detect and diagnose regressions early.
Step 1 (automatic): a version change is detected
You don’t have to do anything for this step. While your service runs, Adaptive Profiles continuously monitors it at a cost-effective baseline resolution.
When a new version of your service is deployed, the system’s automatic analysis detects the version change in the affected segment. In response, Adaptive Profiles automatically increases the profiling resolution to capture high-detail data for the next 10 minutes. This ensures that the behavior of the new version is captured immediately after deployment, without you needing to intervene manually.
Step 2 (automatic): an insight is generated
Once the high-resolution profiling period is complete, the detailed data is captured.
The system analyzes the profiles and identifies a specific function in your code that is consuming significantly more resources in the new version. Because a valuable, actionable root cause was found, the system generates an insight, which appears in your Insights overview.
Step 3: investigate the insight
Now it’s your turn to act. Navigate to the insight in Grafana.
Open the insight. You immediately see a summary and recommended improvements that point directly to the problematic function.
Analyze the flame graph to understand the call stack and see exactly where the application is spending its time.
From here, click Go to Drilldown to access a more detailed and interactive view of the flame graph for deeper investigation.
Step 4: resolve the issue
By analyzing the flame graph, you confirm that an inefficient loop introduced in the new version is the cause of the regression. With this precise information, you can now make a targeted code change to restore performance.
Once you have addressed the problem, you can dismiss the insight, which moves it to your Insights History for future reference.
Outcome
You have successfully used Adaptive Profiles to detect and resolve a performance regression introduced by a deployment with minimal effort.
- You received an auto-generated insight with a suggested resolution, helping you quickly understand and address the root cause.
- You identified opportunities to optimize your service, helping reduce unnecessary resource usage and lower infrastructure costs.



