Skip to content

Commit 58f5769

Browse files
hdafgardjanine-cbrantigua
authored
Update analysis insights table (#33078)
* Update analysis insights table * Apply suggestions from code review Co-authored-by: Janine Chan <[email protected]> * Added a few more insights. * Try splitting table into tabs * Reorder and rename tabs for consistency --------- Co-authored-by: Janine Chan <[email protected]> Co-authored-by: brantigua <[email protected]>
1 parent 100dbcb commit 58f5769

File tree

1 file changed

+67
-14
lines changed

1 file changed

+67
-14
lines changed

content/en/profiler/automated_analysis.md

Lines changed: 67 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -61,20 +61,73 @@ You can filter insights by runtime, service, or environment to narrow the list t
6161

6262
Automated Analysis supports finding the following insights:
6363

64-
| Name | Priority | Description |
65-
|---------------------------|----------|-------------|
66-
| Duplicated Flags | Info | Triggers if duplicate flags were provided to the runtime (for example, `-Xmx2g -Xmx5g`). This is a problem as it may lead to changes not having the expected effect. |
67-
| Explicit GC | Info | Triggers if there are System.gc() calls. |
68-
| GC Pause Peak Duration | Info | Triggers if at least one GC pause took more than 1 second. |
69-
| GC Setup | Info | Triggers when one of the following is detected - serial GC used on a multi-core machine, parallel GC on a single-core machine, more GC threads were configured than available cores, or a parallel GC was configured to run in 1 thread |
70-
| Head of line blocking | Info | Triggers if a queue event gets stuck behind the given activity. |
71-
| Primitive Value Boxing | Info | Triggers if more than 5% of CPU time was spent doing primitive<>object value conversions. |
72-
| Deadlocked Threads Detected | Warn | Triggers if max number of deadlocked threads over query context is bigger than 0. |
73-
| GC Pauses | Warn | Triggers if more than 10% of time was spent in GC pauses. |
74-
| Options | Warn | Triggers if undocumented, deprecated or non-recommended option flags were detected. |
75-
| Stackdepth Setting | Warn | Triggers if events were found with truncated stacktraces which may make it hard to understand profiling data. |
76-
| Thrown Exceptions | Warn | Triggers when the rate of thrown (caught and uncaught) exceptions per minute goes above a threshold (defaults to 10K) |
77-
| VMOperation Peak Duration | Warn | Triggers if a blocking VM operation (or combination of operations close in time) takes more than 2 seconds. Reports details about the operation with the highest duration. |
64+
{{< tabs >}}
65+
{{% tab "Java" %}}
66+
| Name | Priority | Description |
67+
|------------------------------|------------|-------------|
68+
| Virtual Thread Pinning | High | Triggers if virtual threads were pinned to their carrier threads for a prolonged time. |
69+
| Virtual Thread Submit Failure| High | Triggers if virtual threads could not be scheduled for execution. |
70+
| Allocation Stall | Medium | Triggers if a thread had to be paused due to insufficient available memory. |
71+
| Blocking VMOperations | Medium | Triggers if blocking VM operations (or combination of operations close in time) take more than 5% of a profile. |
72+
| Code Cache Size | Medium | Triggers if the Code Cache was filled during a profile. |
73+
| CPU Burst | Medium | Triggers if there is more than 75% CPU utilization across a 10s window. |
74+
| CPU Burst Saturation | Medium | Triggers if there is at least 1 second where CPU utilization is at 100%. |
75+
| Deadlocked Threads Detected | Medium | Triggers if max number of deadlocked threads over query context is greater than 0. |
76+
| Explicit GC | Medium | Triggers if there are `System.gc()` calls. |
77+
| GC Pause Peak Duration | Medium | Triggers if at least one GC pause took more than one second. |
78+
| GC Pauses | Medium | Triggers if more than 10% of time was spent in GC pauses. |
79+
| GC Setup | Medium | Triggers when one of the following is detected: serial GC used on a multi-core machine, parallel GC on a single-core machine, more GC threads configured than available cores, or parallel GC configured to run in one thread. |
80+
| Stackdepth Setting | Medium | Triggers if events were found with truncated stacktraces which may make it hard to understand profiling data. |
81+
| Thrown Exceptions | Medium | Triggers when the rate of thrown (caught and uncaught) exceptions per minute goes above a threshold (defaults to 10K). |
82+
| VMOperation Peak Duration | Medium | Triggers if a blocking VM operation (or combination of operations close in time) takes more than two seconds. Reports details about the operation with the highest duration. |
83+
| VMOperations Ratio | Medium | Triggers if the total amount of blocking VM operations is a significant part of a 60 second window. |
84+
| Command Line Options Check | Low | Triggers if undocumented, deprecated, or non-recommended option flags were detected. |
85+
| Context Switches | Low | Triggers if the rate of context switches on the underlying system is greater than 50k per second. |
86+
| DebugNonSafepoints | Low | Triggers if a service is run with potentially less accurate settings for the profiler. |
87+
| Duplicated Flags | Low | Triggers if duplicate flags were provided to the runtime (for example, `-Xmx2g -Xmx5g`). This is a problem as it may lead to changes not having the expected effect. |
88+
| GC Overhead | Low | Triggers if more than 20% of CPU time is related to GC activities or allocation overhead. |
89+
| Head of line blocking | Low | Triggers if a queue event gets stuck behind the given activity. |
90+
| High Lock Contention | Low | Triggers if there is a high ratio of time waiting on locks to time spent on-CPU. |
91+
| Primitive Value Boxing | Low | Triggers if more than 5% of CPU time was spent converting values between primitive and object values. |
92+
| Thread Pool Size | Low | Triggers if a thread pool is CPU-bound but is set to a size larger than the number of available cores. |
93+
| Unbalanced Parallelism | Low | Triggers if at least one peer thread is performing less than half the work of another in the same span. |
94+
{{% /tab %}}
95+
96+
{{% tab "Python" %}}
97+
| Name | Priority | Description |
98+
|------------------------------|------------|-------------|
99+
| High Lock Contention | Low | Triggers if there is a high ratio of time waiting on locks to time spent on-CPU. |
100+
{{% /tab %}}
101+
102+
{{% tab "Go" %}}
103+
| Name | Priority | Description |
104+
|------------------------------|------------|-------------|
105+
| GC Overhead | Low | Triggers if more than 20% of CPU time is related to GC activities or allocation overhead. |
106+
| High Lock Contention | Low | Triggers if there is a high ratio of time waiting on locks to time spent on-CPU. |
107+
{{% /tab %}}
108+
109+
{{% tab "Ruby" %}}
110+
| Name | Priority | Description |
111+
|------------------------------|------------|-------------|
112+
| GC Overhead | Low | Triggers if more than 20% of CPU time is related to GC activities or allocation overhead. |
113+
{{% /tab %}}
114+
115+
{{% tab "Node.js" %}}
116+
| Name | Priority | Description |
117+
|------------------------------|------------|-------------|
118+
| Event Loop Blocking | Medium | Triggers if callbacks were running for an extended period of time on the Main Event Loop thread. |
119+
| GC Overhead | Low | Triggers if more than 20% of CPU time is related to GC activities or allocation overhead. |
120+
| Libuv Pool Overload | Low | Triggers if there were more concurrent tasks scheduled to run on the libuv thread pool than it has threads. |
121+
{{% /tab %}}
122+
123+
{{% tab ".NET" %}}
124+
| Name | Priority | Description |
125+
|------------------------------|------------|-------------|
126+
| Sync-over-Async Blocking | Medium | Triggers if async functions are detected in CPU samples. |
127+
| Excessive String Concatenation | Low | Triggers if there is a high ratio of CPU time spent concatenating strings. |
128+
{{% /tab %}}
129+
130+
{{< /tabs >}}
78131

79132
## Further reading
80133

0 commit comments

Comments
 (0)