Automated Analysis

このページは日本語には対応しておりません。随時翻訳に取り組んでいます。
翻訳に関してご質問やご意見ございましたら、お気軽にご連絡ください

Overview

Automated Analysis automatically detects performance issues in your applications using Continuous Profiler data and provides actionable insights for resolution. When an issue is detected, Automated Analysis provides:

  • A high-level summary explaining the issue and why it matters
  • Contextual insights from profiling data (for example, affected methods, packages, or processes)
  • Recommended next steps to help you resolve the issue

This reduces the profiling expertise needed to identify and resolve performance issues in your applications that might otherwise go unnoticed.

The Profiler Thread Time line showing a Thrown Exception insight

Explore insights

Access Automated Analysis from the Profile explorer. Insights are displayed:

  • In the Top Insights banner at the top of the page when you’re scoped to a specific service

    The Automated Analysis banner displaying insights detected for a given service

  • In the Insights column within the service list

    The Automated Analysis column displaying insights detected for a given service within the service list

  • Within a flame graph view

    The Automated Analysis column displaying insights detected for a given service within a flamegraph

  • Within a timeline view

    The Automated Analysis column displaying insights detected for a given service within a timeline

Click an insight to see a high-level summary that explains the issue, contextual insights from profiling data, and recommended next steps.

Expanded Profiling Insights showing the details of a detected Issue

Supported insights

Automated Analysis supports finding the following insights:

NameSeverityDescription
Duplicated FlagsInfoTriggers 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.
Explicit GCInfoTriggers if there are System.gc() calls.
GC Pause Peak DurationInfoTriggers if at least one GC pause took more than 1 second.
GC SetupInfoTriggers 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
Head of line blockingInfoTriggers if a queue event gets stuck behind the given activity.
Primitive Value BoxingInfoTriggers if more than 5% of CPU time was spent doing primitive<>object value conversions.
Deadlocked Threads DetectedWarnTriggers if max number of deadlocked threads over query context is bigger than 0.
GC PausesWarnTriggers if more than 10% of time was spent in GC pauses.
OptionsWarnTriggers if undocumented, deprecated or non-recommended option flags were detected.
Stackdepth SettingWarnTriggers if events were found with truncated stacktraces which may make it hard to understand profiling data.
Thrown ExceptionsWarnTriggers when the rate of thrown (caught and uncaught) exceptions per minute goes above a threshold (defaults to 10K)
VMOperation Peak DurationWarnTriggers 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.

Further reading