- 重要な情報
- はじめに
- 用語集
- ガイド
- エージェント
- インテグレーション
- OpenTelemetry
- 開発者
- API
- CoScreen
- アプリ内
- Service Management
- インフラストラクチャー
- アプリケーションパフォーマンス
- 継続的インテグレーション
- ログ管理
- セキュリティ
- UX モニタリング
- 管理
If you’ve configured the profiler and don’t see profiles in the profile search page, turn on debug mode and open a support ticket with debug files and the following information:
If the default setup overhead is not acceptable, you can use the profiler with minimal configuration settings. Minimal configuration has the following changes compared to the default:
ThreadSleep
, ThreadPark
, and JavaMonitorWait
events compared to 100ms defaultObjectAllocationInNewTLAB
, ObjectAllocationOutsideTLAB
, ExceptionSample
, ExceptionCount
eventsTo use the minimal configuration ensure you have dd-java-agent
version 0.70.0
then change your service invocation to the following:
java -javaagent:dd-java-agent.jar -Ddd.profiling.enabled=true -Ddd.profiling.jfr-template-override-file=minimal -jar <YOUR_SERVICE>.jar <YOUR_SERVICE_FLAGS>
If you want more granularity in your profiling data, you can specify the comprehensive
configuration. Note that this approach will increase your profiler overhead at the cost of further granularity. Comprehensive configuration has the following changes compared to the default:
ThreadSleep
, ThreadPark
, and JavaMonitorWait
events compared to 100ms defaultObjectAllocationInNewTLAB
, ObjectAllocationOutsideTLAB
, ExceptionSample
, ExceptionCount
eventsTo use the comprehensive configuration ensure you have dd-trace-java
version 0.70.0
then change your service invocation to the following:
java -javaagent:dd-java-agent.jar -Ddd.profiling.enabled=true -Ddd.profiling.jfr-template-override-file=comprehensive -jar <YOUR_SERVICE>.jar <YOUR_SERVICE_FLAGS>
On Java 15 and lower, the allocation profiler is turned off by default because it can overwhelm the profiler in allocation-heavy applications.
To enable the allocation profiler, start your application with the -Ddd.profiling.allocation.enabled=true
JVM setting or the DD_PROFILING_ALLOCATION_ENABLED=true
environment variable.
Alternatively, you can enable the following events in your jfp
override template file:
jdk.ObjectAllocationInNewTLAB#enabled=true
jdk.ObjectAllocationOutsideTLAB#enabled=true
Learn how to use override templates.
Alternatively, you can enable the following events in your jfp
override template file:
jdk.OldObjectSample#enabled=true
Learn how to use override templates.
If your system properties contain sensitive information such as user names or passwords, turn off the system property event by creating a jfp
override template file with jdk.InitialSystemProperty
disabled:
jdk.InitialSystemProperty#enabled=false
Learn how to use override templates.
To turn off allocation profiling, disable the following events in your jfp
override template file:
jdk.ObjectAllocationInNewTLAB#enabled=false
jdk.ObjectAllocationOutsideTLAB#enabled=false
Learn how to use override templates.
To turn off memory leak detection, disable the following event in your jfp
override template file:
jdk.OldObjectSample#enabled=false
Learn how to use override templates.
The Datadog exception profiler has a small footprint and overhead under normal conditions. If a lot of exceptions are created and thrown, it can cause significant overhead for the profiler. This can happen when you use exceptions for control flow. If you have an unusually high exception rate, turn off exception profiling temporarily until you fix the cause.
To disable exception profiling, start the tracer with the -Ddd.integration.throwables.enabled=false
JVM setting.
Remember to turn this setting back on after you’ve returned to a more typical rate of exceptions.
The following OpenJDK 8 vendors are supported for Continuous Profiling because they include JDK Flight Recorder in their latest versions:
Vendor | JDK version that includes Flight Recorder |
---|---|
Azul | u212 (u262 is recommended) |
AdoptOpenJDK | u262 |
RedHat | u262 |
Amazon (Corretto) | u262 |
Bell-Soft (Liberica) | u262 |
All vendors upstream builds | u272 |
If your vendor is not on the list, open a support ticket, as other vendors may be in development or available for beta support.
Override templates let you specify profiling properties to override. However, the default settings are balanced for a good tradeoff between overhead and data density that cover most use cases. To use an override file, perform the following steps:
Create an override file in a directory accessible by dd-java-agent
at service invocation:
touch dd-profiler-overrides.jfp
Add your desired overrides to the jfp file. For example, to disable allocation profiling and JVM system properties, your dd-profiler-overrides.jfp
file would look like the following:
jdk.ObjectAllocationInNewTLAB#enabled=false
jdk.ObjectAllocationOutsideTLAB#enabled=false
jdk.InitialSystemProperty#enabled=false
When running your application with dd-java-agent
, your service invocation must point to the override file with -Ddd.profiling.jfr-template-override-file=</path/to/override.jfp>
, for example:
java -javaagent:/path/to/dd-java-agent.jar -Ddd.profiling.enabled=true -Ddd.logs.injection=true -Ddd.profiling.jfr-template-override-file=</path/to/override.jfp> -jar path/to/your/app.jar
お役に立つドキュメント、リンクや記事: