Enable Autocomplete and Search for Java
Cette page n'est pas encore disponible en français, sa traduction est en cours.
Si vous avez des questions ou des retours sur notre projet de traduction actuel,
n'hésitez pas à nous contacter.
Join the Beta!
Autocomplete and search are in public beta.
Requirements
Installation
Run your service with Dynamic Instrumentation enabled, and additionally enable autocomplete and search:
- Set the
-Ddd.symbol.database.upload.enabled=true
flag or the DD_SYMBOL_DATABASE_UPLOAD_ENABLED=true
environment variable. - Specify the
dd.service
and dd.version
Unified Service Tags.
Example service startup command:
java \
-javaagent:dd-java-agent.jar \
-Ddd.service=<YOUR_SERVICE> \
-Ddd.env=<YOUR_ENVIRONMENT> \
-Ddd.version=<YOUR_VERSION> \
-Ddd.dynamic.instrumentation.enabled=true \
-Ddd.symbol.database.upload.enabled=true \
-jar <YOUR_SERVICE>.jar <YOUR_SERVICE_FLAGS>
export DD_SERVICE=<YOUR_SERVICE>
export DD_ENV=<YOUR_ENV>
export DD_VERSION=<YOUR_VERSION>
export DD_DYNAMIC_INSTRUMENTATION_ENABLED=true
export DD_SYMBOL_DATABASE_UPLOAD_ENABLED=true
java \
-javaagent:dd-java-agent.jar \
-jar <YOUR_SERVICE>.jar <YOUR_SERVICE_FLAGS>
Note: The -javaagent
argument needs to be before -jar
, adding it as a JVM option rather than an application argument. For more information, see the Oracle documentation:
# Correct:
$ java -javaagent:dd-java-agent.jar ... -jar my-service.jar -more-flags
# Incorrect:
$ java -jar my-service.jar -javaagent:dd-java-agent.jar ...
- After starting your service with Dynamic Instrumentation and autocomplete and search enabled, you can use Dynamic Instrumentation’s IDE-like features on the APM > Dynamic Instrumentation page.
Additional configuration
Third party detection
If autocomplete suggestions do not appear for your package or module, it may be incorrectly recognized as third-party code. The autocomplete and search features use a heuristic to filter out third-party code, which can sometimes lead to accidental misclassification.
To ensure that your code is properly recognized and to enable accurate autocomplete and search functionality, you can configure the third-party detection settings using the following options:
export DD_THIRD_PARTY_EXCLUDES=<LIST_OF_USER_CODE_PACKAGE_PREFIXES>
export DD_THIRD_PARTY_INCLUDES=<LIST_OF_ADDITIONAL_THIRD_PARTY_PACKAGE_PREFIXES>
or:
-Ddd.third.party.excludes=<LIST_OF_USER_CODE_PACKAGE_PREFIXES> \
-Ddd.third.party.includes=<LIST_OF_ADDITIONAL_THIRD_PARTY_PACKAGE_PREFIXES> \
Where a list means a comma separated list of package prefixes, for example
export DD_THIRD_PARTY_EXCLUDES=com.mycompany,io.mycompany