Profiling shows where your program spends time (CPU) and memory while it runs. It helps you find slow parts, memory leaks, and heavy functions so you can fix them. It also lets you compare performance before vs after changes or across deployments. Profiling runs with low overhead, making it suitable for production environments.
CPU Usage Breakdown
| Function | CPU Usage |
|---|---|
func1() |
48% |
func2() |
19% |
| Other | 13% |
Performance issues are often caused by a small number of hidden hotspots. Instead of guessing what to optimize, profiling pinpoints exactly where your application spends time and resources. It provides deeper visibility than traditional monitoring tools by offering fine-grained insights without requiring additional instrumentation. Continuous profiling can capture metrics such as CPU usage, memory allocations, lock wait time, and I/O activity, depending on the language runtime.
Flame Graph
A flame graph gives you a visual representation of where your application spends its CPU time. It aggregates thousands of stack samples into a single view, making performance hot paths immediately visible.
Flame graphs help you
- Identify hot paths: Quickly spot functions consuming the most resources.
- Trace call chains: Understand the full call stack leading to a bottleneck.
- Compare before and after: Overlay flame graphs to verify performance improvements after a code change or deployment.
- Detect regressions: Spot unexpected increases in resource consumption across deployments.
Compare
The Compare feature helps you analyze profiling data side-by-side to quickly identify performance differences between time ranges, deployments, or configurations.
A. Baseline Function
Displays the reference performance data used as the starting point for comparison.
B. Comparison Function
Shows the selected dataset alongside the baseline to highlight differences in CPU usage and function performance.
Insights
Insights automatically detects anomalies in your profiling data. The Insights table displays Service Name, ProcessId, Anomaly Type, Severity, Peak Value, and Profile Type.
Anomaly Types
| Anomaly Type | Description |
|---|---|
| Memory Leak | Memory usage continuously increases over time without dropping or stabilizing |
| Sudden Spike | A sudden jump occurs in resource usage (e.g., CPU jumps from 20% → 90% instantly) |
| Resource Exhaustion | Resource usage reaches a critical threshold (CPU > 90%, RAM > 90%, high thread count) |
| Instability | Frequent fluctuations in resource usage (up-down-up-down repeatedly) |
| Pattern Deviation | Current behavior deviates significantly from the baseline historical pattern |
| CPU Trend | Long-term CPU usage shows a consistent trend (gradual increase or decrease over time) |
| Sudden Memory Spike | Memory usage suddenly jumps drastically in a short interval |
What's Next
- Enable Profiling — Get started with profiling
- Profiling Types — Explore profiling types per language
+1-415-800-4104