Repository: elastic/opentelemetry
Pull request #95: document java supported technologies
Author: login: SylvainJuge
Created: 2025-03-11T13:55:31Z | Merged: 2025-03-12T06:32:34Z

- **add release notes with link**
- **add supported technologies** (includes exclusive features)
- **add features**

The "features" page is the one we will can link to from a broader "feature matrix".



Diff:
diff --git a/docs/_edot-sdks/java/faq.md b/docs/_edot-sdks/java/faq.md
index 1a62d9c1..e43b9c30 100644
--- a/docs/_edot-sdks/java/faq.md
+++ b/docs/_edot-sdks/java/faq.md
@@ -1,7 +1,7 @@
 ---
 title: Frequently Asked Questions
 layout: default
-nav_order: 6
+nav_order: 7
 parent: EDOT Java
 ---
 
diff --git a/docs/_edot-sdks/java/features.md b/docs/_edot-sdks/java/features.md
new file mode 100644
index 00000000..9f9978ea
--- /dev/null
+++ b/docs/_edot-sdks/java/features.md
@@ -0,0 +1,58 @@
+---
+title: Features
+layout: default
+nav_order: 3
+parent: EDOT Java
+---
+
+# Features of the EDOT Java Agent
+
+The EDOT Java agent is a [distribution](https://opentelemetry.io/docs/concepts/distributions/) of
+[OpenTelemetry Java Instrumentation](https://github.com/open-telemetry/opentelemetry-java-instrumentation) agent, it thus
+inherits all the features of the OpenTelemetry Java Instrumentation to capture logs, metrics and traces.
+
+The EDOT Java agent also provides exclusive features that are _not available_ in the [OpenTelemetry Java Instrumentation](https://github.com/open-telemetry/opentelemetry-java-instrumentation)
+or are provided but with different default configuration.
+
+In addition to the features listed here, see [supported technologies](./supported-technologies) for an overview of the supported technologies.
+
+## Resource attributes
+
+The EDOT Java agent includes the following resource attributes providers from [opentelemetry-java-contrib](https://github.com/open-telemetry/opentelemetry-java-contrib/)
+- AWS: [aws-resources](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/aws-resources) (_enabled_ by default)
+- GCP: [gcp-resources](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/gcp-resources) (_enabled_ by default)
+- application server service name detection: [resource-providers](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/resource-providers)
+
+## Inferred spans
+
+The EDOT Java agent includes the [Inferred Spans Extension](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/inferred-spans)
+from [opentelemetry-java-contrib](https://github.com/open-telemetry/opentelemetry-java-contrib/).
+
+This extension provides the ability to enhance the traces by creating spans from [async-profiler](https://github.com/async-profiler/async-profiler) data without the need of explicit instrumentation of corresponding spans.
+
+This feature is disabled by default and can be enabled by setting `OTEL_INFERRED_SPANS_ENABLED` to `true`.
+
+See [inferred-spans](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/inferred-spans) documentation for configuration options.
+
+## Span stacktrace
+
+The EDOT Java agent includes the [Span Stacktrace Extension](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/span-stacktrace)
+from [opentelemetry-java-contrib](https://github.com/open-telemetry/opentelemetry-java-contrib/).
+
+This feature is enabled by default and allows to capture a stacktrace for spans that have a duration above a threshold (default 5ms).
+
+See [span-stacktrace](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/span-stacktrace) documentation for configuration options.
+
+## Runtime metrics
+
+Experimental runtime metrics are _enabled_ by default.
+
+Set `OTEL_INSTRUMENTATION_RUNTIME_TELEMETRY_EMIT_EXPERIMENTAL_TELEMETRY` to `false` to disable them.
+
+## Elastic Universal profiling integration
+
+[Universal Profiling](https://www.elastic.co/observability/universal-profiling) integration provides the ability to correlate traces with profiling data from the Elastic universal profiler.
+
+This feature is enabled by default on supported systems, disabled otherwise.
+
+See [universal-profiling-integration](https://github.com/elastic/elastic-otel-java/tree/main/universal-profiling-integration) for details and configuration options.
diff --git a/docs/_edot-sdks/java/migration.md b/docs/_edot-sdks/java/migration.md
index a02d2f15..89acde2c 100644
--- a/docs/_edot-sdks/java/migration.md
+++ b/docs/_edot-sdks/java/migration.md
@@ -1,7 +1,7 @@
 ---
 title: Migration
 layout: default
-nav_order: 5
+nav_order: 6
 parent: EDOT Java
 ---
 
diff --git a/docs/_edot-sdks/java/release.md b/docs/_edot-sdks/java/release.md
index edcc566b..6b301b68 100644
--- a/docs/_edot-sdks/java/release.md
+++ b/docs/_edot-sdks/java/release.md
@@ -1,10 +1,10 @@
 ---
 title: Release Notes
 layout: default
-nav_order: 7
+nav_order: 8
 parent: EDOT Java
 ---
 
 # Release Notes for the EDOT Java Agent
 
-TODO
\ No newline at end of file
+Release notes are published [on Github](https://github.com/elastic/elastic-otel-java/releases)
\ No newline at end of file
diff --git a/docs/_edot-sdks/java/supported-technologies.md b/docs/_edot-sdks/java/supported-technologies.md
index d8115e18..040d3c8d 100644
--- a/docs/_edot-sdks/java/supported-technologies.md
+++ b/docs/_edot-sdks/java/supported-technologies.md
@@ -1,12 +1,30 @@
 ---
 title: Supported Technologies
 layout: default
-nav_order: 3
+nav_order: 4
 parent: EDOT Java
 ---
 
 # Technologies Supported by the EDOT Java Agent
 
-TODO:
-- Reference the upstream Java instrumentation.
-- Describe differences (also in default behavior) of EDOT Java compared to upstream.
\ No newline at end of file
+The EDOT Java agent is a [distribution](https://opentelemetry.io/docs/concepts/distributions/) of
+[OpenTelemetry Java Instrumentation](https://github.com/open-telemetry/opentelemetry-java-instrumentation) agent, it thus
+inherits all the [supported technologies of the OpenTelemetry Java Instrumentation](https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/docs/supported-libraries.md).
+
+Please note that [some supported technologies are disabled by default](https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/docs/supported-libraries.md#disabled-instrumentations)
+and need explicit configuration to be enabled.
+
+The EDOT Java agent also supports technologies listed here that are _not available_ in the [OpenTelemetry Java Instrumentation](https://github.com/open-telemetry/opentelemetry-java-instrumentation).
+
+See also the [EDOT Java agent features](./features) for defaults that might differ from the OpenTelemetry Java Instrumentation.
+
+## OpenAI Client instrumentation (tech preview)
+
+Instrumentation for the [official OpenAI Java Client](https://github.com/openai/openai-java).
+
+Note that this instrumentation is currently in **tech preview**, because the OpenAI client itself is still in **beta**.
+
+It supports:
+
+* Tracing for requests, including GenAI-specific attributes such as token usage
+* Opt-In logging of OpenAI request and response content payloads
diff --git a/docs/_edot-sdks/java/troubleshooting.md b/docs/_edot-sdks/java/troubleshooting.md
index 893ba7fc..9bd557ee 100644
--- a/docs/_edot-sdks/java/troubleshooting.md
+++ b/docs/_edot-sdks/java/troubleshooting.md
@@ -1,7 +1,7 @@
 ---
 title: Troubleshooting
 layout: default
-nav_order: 4
+nav_order: 5
 parent: EDOT Java
 ---
 


Reviews:
user: login: AlexanderWert
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-03-12T06:30:45Z
user: login: AlexanderWert
state: APPROVED
author_association: MEMBER
submitted_at: 2025-03-12T06:32:28Z
user: login: hegerchr
body: I've left some comments where I think it could help the reader.
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-12T07:27:47Z
user: login: SylvainJuge
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-03-12T08:06:19Z

Review comments:
diff_hunk: @@ -0,0 +1,58 @@
+---
+title: Features
+layout: default
+nav_order: 3
+parent: EDOT Java
+---
+
+# Features of the EDOT Java Agent
+
+The EDOT Java agent is a [distribution](https://opentelemetry.io/docs/concepts/distributions/) of
+[OpenTelemetry Java Instrumentation](https://github.com/open-telemetry/opentelemetry-java-instrumentation) agent, it thus
+inherits all the features of the OpenTelemetry Java Instrumentation to capture logs, metrics and traces.
+
+The EDOT Java agent also provides exclusive features that are _not available_ in the [OpenTelemetry Java Instrumentation](https://github.com/open-telemetry/opentelemetry-java-instrumentation)
+or are provided but with different default configuration.
+
+In addition to the features listed here, see [supported technologies](./supported-technologies) for an overview of the supported technologies.
+
+## Resource attributes
+
+The EDOT Java agent includes the following resource attributes providers from [opentelemetry-java-contrib](https://github.com/open-telemetry/opentelemetry-java-contrib/)
+- AWS: [aws-resources](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/aws-resources) (_enabled_ by default)
+- GCP: [gcp-resources](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/gcp-resources) (_enabled_ by default)
+- application server service name detection: [resource-providers](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/resource-providers)
+
+## Inferred spans
+
+The EDOT Java agent includes the [Inferred Spans Extension](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/inferred-spans)
+from [opentelemetry-java-contrib](https://github.com/open-telemetry/opentelemetry-java-contrib/).
+
+This extension provides the ability to enhance the traces by creating spans from [async-profiler](https://github.com/async-profiler/async-profiler) data.
path: docs/_edot-sdks/java/features.md
user: login: AlexanderWert
body: ```suggestion
This extension provides the ability to enhance the traces by creating spans from [async-profiler](https://github.com/async-profiler/async-profiler) data without the need of explicit instrumentation of corresponding spans.
```
created_at: 2025-03-12T06:30:45Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,58 @@
+---
+title: Features
+layout: default
+nav_order: 3
+parent: EDOT Java
+---
+
+# Features of the EDOT Java Agent
+
+The EDOT Java agent is a [distribution](https://opentelemetry.io/docs/concepts/distributions/) of
+[OpenTelemetry Java Instrumentation](https://github.com/open-telemetry/opentelemetry-java-instrumentation) agent, it thus
+inherits all the features of the OpenTelemetry Java Instrumentation to capture logs, metrics and traces.
+
+The EDOT Java agent also provides exclusive features that are _not available_ in the [OpenTelemetry Java Instrumentation](https://github.com/open-telemetry/opentelemetry-java-instrumentation)
+or are provided but with different default configuration.
path: docs/_edot-sdks/java/features.md
user: login: hegerchr
body: Can we be a bit more clear about to what the different default configuration refers to. Maybe starting a new sentence. I find a bit hard to read as it is at the moment.
created_at: 2025-03-12T07:20:56Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,58 @@
+---
+title: Features
+layout: default
+nav_order: 3
+parent: EDOT Java
+---
+
+# Features of the EDOT Java Agent
+
+The EDOT Java agent is a [distribution](https://opentelemetry.io/docs/concepts/distributions/) of
+[OpenTelemetry Java Instrumentation](https://github.com/open-telemetry/opentelemetry-java-instrumentation) agent, it thus
+inherits all the features of the OpenTelemetry Java Instrumentation to capture logs, metrics and traces.
+
+The EDOT Java agent also provides exclusive features that are _not available_ in the [OpenTelemetry Java Instrumentation](https://github.com/open-telemetry/opentelemetry-java-instrumentation)
+or are provided but with different default configuration.
+
+In addition to the features listed here, see [supported technologies](./supported-technologies) for an overview of the supported technologies.
+
+## Resource attributes
+
+The EDOT Java agent includes the following resource attributes providers from [opentelemetry-java-contrib](https://github.com/open-telemetry/opentelemetry-java-contrib/)
+- AWS: [aws-resources](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/aws-resources) (_enabled_ by default)
+- GCP: [gcp-resources](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/gcp-resources) (_enabled_ by default)
+- application server service name detection: [resource-providers](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/resource-providers)
+
+## Inferred spans
+
+The EDOT Java agent includes the [Inferred Spans Extension](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/inferred-spans)
+from [opentelemetry-java-contrib](https://github.com/open-telemetry/opentelemetry-java-contrib/).
+
+This extension provides the ability to enhance the traces by creating spans from [async-profiler](https://github.com/async-profiler/async-profiler) data without the need of explicit instrumentation of corresponding spans.
+
+This feature is disabled by default and can be enabled by setting `OTEL_INFERRED_SPANS_ENABLED` to `true`.
path: docs/_edot-sdks/java/features.md
user: login: hegerchr
body: Does this has any impact on the runtime environment and resources that should be mentioned here?
created_at: 2025-03-12T07:22:50Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,58 @@
+---
+title: Features
+layout: default
+nav_order: 3
+parent: EDOT Java
+---
+
+# Features of the EDOT Java Agent
+
+The EDOT Java agent is a [distribution](https://opentelemetry.io/docs/concepts/distributions/) of
+[OpenTelemetry Java Instrumentation](https://github.com/open-telemetry/opentelemetry-java-instrumentation) agent, it thus
+inherits all the features of the OpenTelemetry Java Instrumentation to capture logs, metrics and traces.
+
+The EDOT Java agent also provides exclusive features that are _not available_ in the [OpenTelemetry Java Instrumentation](https://github.com/open-telemetry/opentelemetry-java-instrumentation)
+or are provided but with different default configuration.
+
+In addition to the features listed here, see [supported technologies](./supported-technologies) for an overview of the supported technologies.
+
+## Resource attributes
+
+The EDOT Java agent includes the following resource attributes providers from [opentelemetry-java-contrib](https://github.com/open-telemetry/opentelemetry-java-contrib/)
+- AWS: [aws-resources](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/aws-resources) (_enabled_ by default)
+- GCP: [gcp-resources](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/gcp-resources) (_enabled_ by default)
+- application server service name detection: [resource-providers](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/resource-providers)
+
+## Inferred spans
+
+The EDOT Java agent includes the [Inferred Spans Extension](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/inferred-spans)
+from [opentelemetry-java-contrib](https://github.com/open-telemetry/opentelemetry-java-contrib/).
+
+This extension provides the ability to enhance the traces by creating spans from [async-profiler](https://github.com/async-profiler/async-profiler) data without the need of explicit instrumentation of corresponding spans.
+
+This feature is disabled by default and can be enabled by setting `OTEL_INFERRED_SPANS_ENABLED` to `true`.
+
+See [inferred-spans](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/inferred-spans) documentation for configuration options.
+
+## Span stacktrace
+
+The EDOT Java agent includes the [Span Stacktrace Extension](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/span-stacktrace)
+from [opentelemetry-java-contrib](https://github.com/open-telemetry/opentelemetry-java-contrib/).
+
+This feature is enabled by default and allows to capture a stacktrace for spans that have a duration above a threshold (default 5ms).
+
+See [span-stacktrace](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/span-stacktrace) documentation for configuration options.
+
+## Runtime metrics
+
+Experimental runtime metrics are _enabled_ by default.
path: docs/_edot-sdks/java/features.md
user: login: hegerchr
body: Should we better use "tech preview" here?
created_at: 2025-03-12T07:23:50Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,58 @@
+---
+title: Features
+layout: default
+nav_order: 3
+parent: EDOT Java
+---
+
+# Features of the EDOT Java Agent
+
+The EDOT Java agent is a [distribution](https://opentelemetry.io/docs/concepts/distributions/) of
+[OpenTelemetry Java Instrumentation](https://github.com/open-telemetry/opentelemetry-java-instrumentation) agent, it thus
+inherits all the features of the OpenTelemetry Java Instrumentation to capture logs, metrics and traces.
+
+The EDOT Java agent also provides exclusive features that are _not available_ in the [OpenTelemetry Java Instrumentation](https://github.com/open-telemetry/opentelemetry-java-instrumentation)
+or are provided but with different default configuration.
+
+In addition to the features listed here, see [supported technologies](./supported-technologies) for an overview of the supported technologies.
+
+## Resource attributes
+
+The EDOT Java agent includes the following resource attributes providers from [opentelemetry-java-contrib](https://github.com/open-telemetry/opentelemetry-java-contrib/)
+- AWS: [aws-resources](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/aws-resources) (_enabled_ by default)
+- GCP: [gcp-resources](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/gcp-resources) (_enabled_ by default)
+- application server service name detection: [resource-providers](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/resource-providers)
+
+## Inferred spans
+
+The EDOT Java agent includes the [Inferred Spans Extension](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/inferred-spans)
+from [opentelemetry-java-contrib](https://github.com/open-telemetry/opentelemetry-java-contrib/).
+
+This extension provides the ability to enhance the traces by creating spans from [async-profiler](https://github.com/async-profiler/async-profiler) data without the need of explicit instrumentation of corresponding spans.
+
+This feature is disabled by default and can be enabled by setting `OTEL_INFERRED_SPANS_ENABLED` to `true`.
+
+See [inferred-spans](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/inferred-spans) documentation for configuration options.
+
+## Span stacktrace
+
+The EDOT Java agent includes the [Span Stacktrace Extension](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/span-stacktrace)
+from [opentelemetry-java-contrib](https://github.com/open-telemetry/opentelemetry-java-contrib/).
+
+This feature is enabled by default and allows to capture a stacktrace for spans that have a duration above a threshold (default 5ms).
+
+See [span-stacktrace](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/span-stacktrace) documentation for configuration options.
+
+## Runtime metrics
+
+Experimental runtime metrics are _enabled_ by default.
+
+Set `OTEL_INSTRUMENTATION_RUNTIME_TELEMETRY_EMIT_EXPERIMENTAL_TELEMETRY` to `false` to disable them.
+
+## Elastic Universal profiling integration
+
+[Universal Profiling](https://www.elastic.co/observability/universal-profiling) integration provides the ability to correlate traces with profiling data from the Elastic universal profiler.
+
+This feature is enabled by default on supported systems, disabled otherwise.
path: docs/_edot-sdks/java/features.md
user: login: hegerchr
body: What are the supported systems? Following the link in line 58 I haven't found the answer.
created_at: 2025-03-12T07:25:54Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,58 @@
+---
+title: Features
+layout: default
+nav_order: 3
+parent: EDOT Java
+---
+
+# Features of the EDOT Java Agent
+
+The EDOT Java agent is a [distribution](https://opentelemetry.io/docs/concepts/distributions/) of
+[OpenTelemetry Java Instrumentation](https://github.com/open-telemetry/opentelemetry-java-instrumentation) agent, it thus
+inherits all the features of the OpenTelemetry Java Instrumentation to capture logs, metrics and traces.
+
+The EDOT Java agent also provides exclusive features that are _not available_ in the [OpenTelemetry Java Instrumentation](https://github.com/open-telemetry/opentelemetry-java-instrumentation)
+or are provided but with different default configuration.
+
+In addition to the features listed here, see [supported technologies](./supported-technologies) for an overview of the supported technologies.
+
+## Resource attributes
+
+The EDOT Java agent includes the following resource attributes providers from [opentelemetry-java-contrib](https://github.com/open-telemetry/opentelemetry-java-contrib/)
+- AWS: [aws-resources](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/aws-resources) (_enabled_ by default)
+- GCP: [gcp-resources](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/gcp-resources) (_enabled_ by default)
+- application server service name detection: [resource-providers](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/resource-providers)
+
+## Inferred spans
+
+The EDOT Java agent includes the [Inferred Spans Extension](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/inferred-spans)
+from [opentelemetry-java-contrib](https://github.com/open-telemetry/opentelemetry-java-contrib/).
+
+This extension provides the ability to enhance the traces by creating spans from [async-profiler](https://github.com/async-profiler/async-profiler) data without the need of explicit instrumentation of corresponding spans.
+
+This feature is disabled by default and can be enabled by setting `OTEL_INFERRED_SPANS_ENABLED` to `true`.
+
+See [inferred-spans](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/inferred-spans) documentation for configuration options.
+
+## Span stacktrace
+
+The EDOT Java agent includes the [Span Stacktrace Extension](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/span-stacktrace)
+from [opentelemetry-java-contrib](https://github.com/open-telemetry/opentelemetry-java-contrib/).
+
+This feature is enabled by default and allows to capture a stacktrace for spans that have a duration above a threshold (default 5ms).
+
+See [span-stacktrace](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/span-stacktrace) documentation for configuration options.
+
+## Runtime metrics
+
+Experimental runtime metrics are _enabled_ by default.
path: docs/_edot-sdks/java/features.md
user: login: SylvainJuge
body: Here the 'experimental' comes from the upstream configuration option, so I think it's better to keep it as-is for now. We can maybe clarify this and add a link to semconv to help understand that it's because those are experimental in semconv.
created_at: 2025-03-12T08:02:11Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,58 @@
+---
+title: Features
+layout: default
+nav_order: 3
+parent: EDOT Java
+---
+
+# Features of the EDOT Java Agent
+
+The EDOT Java agent is a [distribution](https://opentelemetry.io/docs/concepts/distributions/) of
+[OpenTelemetry Java Instrumentation](https://github.com/open-telemetry/opentelemetry-java-instrumentation) agent, it thus
+inherits all the features of the OpenTelemetry Java Instrumentation to capture logs, metrics and traces.
+
+The EDOT Java agent also provides exclusive features that are _not available_ in the [OpenTelemetry Java Instrumentation](https://github.com/open-telemetry/opentelemetry-java-instrumentation)
+or are provided but with different default configuration.
+
+In addition to the features listed here, see [supported technologies](./supported-technologies) for an overview of the supported technologies.
+
+## Resource attributes
+
+The EDOT Java agent includes the following resource attributes providers from [opentelemetry-java-contrib](https://github.com/open-telemetry/opentelemetry-java-contrib/)
+- AWS: [aws-resources](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/aws-resources) (_enabled_ by default)
+- GCP: [gcp-resources](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/gcp-resources) (_enabled_ by default)
+- application server service name detection: [resource-providers](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/resource-providers)
+
+## Inferred spans
+
+The EDOT Java agent includes the [Inferred Spans Extension](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/inferred-spans)
+from [opentelemetry-java-contrib](https://github.com/open-telemetry/opentelemetry-java-contrib/).
+
+This extension provides the ability to enhance the traces by creating spans from [async-profiler](https://github.com/async-profiler/async-profiler) data without the need of explicit instrumentation of corresponding spans.
+
+This feature is disabled by default and can be enabled by setting `OTEL_INFERRED_SPANS_ENABLED` to `true`.
path: docs/_edot-sdks/java/features.md
user: login: SylvainJuge
body: I am not sure to understand, can you elaborate a bit ?
created_at: 2025-03-12T08:02:22Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,58 @@
+---
+title: Features
+layout: default
+nav_order: 3
+parent: EDOT Java
+---
+
+# Features of the EDOT Java Agent
+
+The EDOT Java agent is a [distribution](https://opentelemetry.io/docs/concepts/distributions/) of
+[OpenTelemetry Java Instrumentation](https://github.com/open-telemetry/opentelemetry-java-instrumentation) agent, it thus
+inherits all the features of the OpenTelemetry Java Instrumentation to capture logs, metrics and traces.
+
+The EDOT Java agent also provides exclusive features that are _not available_ in the [OpenTelemetry Java Instrumentation](https://github.com/open-telemetry/opentelemetry-java-instrumentation)
+or are provided but with different default configuration.
+
+In addition to the features listed here, see [supported technologies](./supported-technologies) for an overview of the supported technologies.
+
+## Resource attributes
+
+The EDOT Java agent includes the following resource attributes providers from [opentelemetry-java-contrib](https://github.com/open-telemetry/opentelemetry-java-contrib/)
+- AWS: [aws-resources](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/aws-resources) (_enabled_ by default)
+- GCP: [gcp-resources](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/gcp-resources) (_enabled_ by default)
+- application server service name detection: [resource-providers](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/resource-providers)
+
+## Inferred spans
+
+The EDOT Java agent includes the [Inferred Spans Extension](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/inferred-spans)
+from [opentelemetry-java-contrib](https://github.com/open-telemetry/opentelemetry-java-contrib/).
+
+This extension provides the ability to enhance the traces by creating spans from [async-profiler](https://github.com/async-profiler/async-profiler) data without the need of explicit instrumentation of corresponding spans.
+
+This feature is disabled by default and can be enabled by setting `OTEL_INFERRED_SPANS_ENABLED` to `true`.
+
+See [inferred-spans](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/inferred-spans) documentation for configuration options.
+
+## Span stacktrace
+
+The EDOT Java agent includes the [Span Stacktrace Extension](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/span-stacktrace)
+from [opentelemetry-java-contrib](https://github.com/open-telemetry/opentelemetry-java-contrib/).
+
+This feature is enabled by default and allows to capture a stacktrace for spans that have a duration above a threshold (default 5ms).
+
+See [span-stacktrace](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/span-stacktrace) documentation for configuration options.
+
+## Runtime metrics
+
+Experimental runtime metrics are _enabled_ by default.
+
+Set `OTEL_INSTRUMENTATION_RUNTIME_TELEMETRY_EMIT_EXPERIMENTAL_TELEMETRY` to `false` to disable them.
+
+## Elastic Universal profiling integration
+
+[Universal Profiling](https://www.elastic.co/observability/universal-profiling) integration provides the ability to correlate traces with profiling data from the Elastic universal profiler.
+
+This feature is enabled by default on supported systems, disabled otherwise.
path: docs/_edot-sdks/java/features.md
user: login: SylvainJuge
body: I don't know and haven't found a clear reference on this, I assume it's a combination of linux, kernel version and availability of binaries for the target architecture. This sentence was almost copied as-is from the existing docs.
created_at: 2025-03-12T08:04:31Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,58 @@
+---
+title: Features
+layout: default
+nav_order: 3
+parent: EDOT Java
+---
+
+# Features of the EDOT Java Agent
+
+The EDOT Java agent is a [distribution](https://opentelemetry.io/docs/concepts/distributions/) of
+[OpenTelemetry Java Instrumentation](https://github.com/open-telemetry/opentelemetry-java-instrumentation) agent, it thus
+inherits all the features of the OpenTelemetry Java Instrumentation to capture logs, metrics and traces.
+
+The EDOT Java agent also provides exclusive features that are _not available_ in the [OpenTelemetry Java Instrumentation](https://github.com/open-telemetry/opentelemetry-java-instrumentation)
+or are provided but with different default configuration.
path: docs/_edot-sdks/java/features.md
user: login: SylvainJuge
body: https://github.com/elastic/opentelemetry/pull/98
created_at: 2025-03-12T08:06:10Z
author_association: MEMBER

PR comments:
user: login: elastic-acrolinx
created_at: 2025-03-11T13:55:41Z
body: 

## Acrolinx Scorecards 
 
Select the total score link to review all feedback on clarity, consistency, tone, brand, terms, spelling, grammar, readability, and inclusive language. _You should fix all spelling errors regardless of your total score_. Fixing spelling errors helps maintain user trust in overall content quality.

| Article | Total score<br>(Required: 80) | Words + phrases<br>(Brand, terms) | Correctness<br>(Spelling, grammar) | Clarity<br>(Readability) |
|---------|:--------------:|:--------------------:|:------:|:---------:|
| [:white_check_mark:](# "Successfully processed") [docs/_edot-sdks/java/release.md](https://github.com/elastic/opentelemetry/blob/967835e67a4136a6d82cb984623eef6d109e6958/docs%2F_edot-sdks%2Fjava%2Frelease.md) | [63](https://elastic.acrolinx.cloud/api/v1/checking/scorecards/420f8f65-8471-481d-846f-bdbd13f110c5) | 17 | 9 | 17 |
| [:white_check_mark:](# "Successfully processed") [docs/_edot-sdks/java/supported-technologies.md](https://github.com/elastic/opentelemetry/blob/967835e67a4136a6d82cb984623eef6d109e6958/docs%2F_edot-sdks%2Fjava%2Fsupported-technologies.md) | [63](https://elastic.acrolinx.cloud/api/v1/checking/scorecards/e1df0ada-34b8-49c3-8cec-9d11ea9e9c45) | 17 | 41 | 28 |

**TBD*

author_association: NONE
user: login: elastic-acrolinx
created_at: 2025-03-11T14:14:06Z
body: 

## Acrolinx Scorecards 
 
Select the total score link to review all feedback on clarity, consistency, tone, brand, terms, spelling, grammar, readability, and inclusive language. _You should fix all spelling errors regardless of your total score_. Fixing spelling errors helps maintain user trust in overall content quality.

| Article | Total score<br>(Required: 80) | Words + phrases<br>(Brand, terms) | Correctness<br>(Spelling, grammar) | Clarity<br>(Readability) |
|---------|:--------------:|:--------------------:|:------:|:---------:|
| [:white_check_mark:](# "Successfully processed") [docs/_edot-sdks/java/release.md](https://github.com/elastic/opentelemetry/blob/97ba2d5ecc82bd7517c9ab592e36d308c6be976c/docs%2F_edot-sdks%2Fjava%2Frelease.md) | [63](https://elastic.acrolinx.cloud/api/v1/checking/scorecards/7f3473c6-de02-412c-b2dc-99cbf9acd6ec) | 17 | 9 | 17 |
| [:white_check_mark:](# "Successfully processed") [docs/_edot-sdks/java/supported-technologies.md](https://github.com/elastic/opentelemetry/blob/97ba2d5ecc82bd7517c9ab592e36d308c6be976c/docs%2F_edot-sdks%2Fjava%2Fsupported-technologies.md) | [67](https://elastic.acrolinx.cloud/api/v1/checking/scorecards/55982deb-c2a1-48f0-9bf2-3e8985cf55ca) | 16 | 50 | 30 |

**TBD*

author_association: NONE
user: login: elastic-acrolinx
created_at: 2025-03-11T14:22:19Z
body: 

## Acrolinx Scorecards 
 
Select the total score link to review all feedback on clarity, consistency, tone, brand, terms, spelling, grammar, readability, and inclusive language. _You should fix all spelling errors regardless of your total score_. Fixing spelling errors helps maintain user trust in overall content quality.

| Article | Total score<br>(Required: 80) | Words + phrases<br>(Brand, terms) | Correctness<br>(Spelling, grammar) | Clarity<br>(Readability) |
|---------|:--------------:|:--------------------:|:------:|:---------:|
| [:white_check_mark:](# "Successfully processed") [docs/_edot-sdks/java/release.md](https://github.com/elastic/opentelemetry/blob/39108d958c429e19a97be9210b8e8518167e54ba/docs%2F_edot-sdks%2Fjava%2Frelease.md) | [63](https://elastic.acrolinx.cloud/api/v1/checking/scorecards/57a32681-1eed-49c6-b6dc-5e658a8ae222) | 17 | 9 | 17 |
| [:white_check_mark:](# "Successfully processed") [docs/_edot-sdks/java/supported-technologies.md](https://github.com/elastic/opentelemetry/blob/39108d958c429e19a97be9210b8e8518167e54ba/docs%2F_edot-sdks%2Fjava%2Fsupported-technologies.md) | [66](https://elastic.acrolinx.cloud/api/v1/checking/scorecards/47a70fc1-7a5b-4957-bafc-d566f2490aa7) | 17 | 44 | 30 |

**TBD*

author_association: NONE
user: login: elastic-acrolinx
created_at: 2025-03-11T16:14:37Z
body: 

## Acrolinx Scorecards 
 
Select the total score link to review all feedback on clarity, consistency, tone, brand, terms, spelling, grammar, readability, and inclusive language. _You should fix all spelling errors regardless of your total score_. Fixing spelling errors helps maintain user trust in overall content quality.

| Article | Total score<br>(Required: 80) | Words + phrases<br>(Brand, terms) | Correctness<br>(Spelling, grammar) | Clarity<br>(Readability) |
|---------|:--------------:|:--------------------:|:------:|:---------:|
| [:white_check_mark:](# "Successfully processed") [docs/_edot-sdks/java/faq.md](https://github.com/elastic/opentelemetry/blob/71d499fc5ec33daf3620c27c92f8c57be2040664/docs%2F_edot-sdks%2Fjava%2Ffaq.md) | [100](https://elastic.acrolinx.cloud/api/v1/checking/scorecards/8188bbb6-b5ba-42d6-a1c3-f1d1cc6856d7) | 100 | 100 | 100 |
| [:white_check_mark:](# "Successfully processed") [docs/_edot-sdks/java/features.md](https://github.com/elastic/opentelemetry/blob/71d499fc5ec33daf3620c27c92f8c57be2040664/docs%2F_edot-sdks%2Fjava%2Ffeatures.md) | [59](https://elastic.acrolinx.cloud/api/v1/checking/scorecards/afbbf649-0859-413c-a163-bbf1dd35b764) | 16 | 40 | 31 |
| [:white_check_mark:](# "Successfully processed") [docs/_edot-sdks/java/migration.md](https://github.com/elastic/opentelemetry/blob/71d499fc5ec33daf3620c27c92f8c57be2040664/docs%2F_edot-sdks%2Fjava%2Fmigration.md) | [67](https://elastic.acrolinx.cloud/api/v1/checking/scorecards/836fa6b7-5884-4db6-92d1-2c36746d4ca4) | 25 | 25 | 25 |
| [:white_check_mark:](# "Successfully processed") [docs/_edot-sdks/java/release.md](https://github.com/elastic/opentelemetry/blob/71d499fc5ec33daf3620c27c92f8c57be2040664/docs%2F_edot-sdks%2Fjava%2Frelease.md) | [63](https://elastic.acrolinx.cloud/api/v1/checking/scorecards/330c4ba7-3dc8-4241-90ab-8e670305c4bc) | 17 | 9 | 17 |
| [:white_check_mark:](# "Successfully processed") [docs/_edot-sdks/java/supported-technologies.md](https://github.com/elastic/opentelemetry/blob/71d499fc5ec33daf3620c27c92f8c57be2040664/docs%2F_edot-sdks%2Fjava%2Fsupported-technologies.md) | [63](https://elastic.acrolinx.cloud/api/v1/checking/scorecards/e27ee5f7-8a46-412e-b9e7-b7c293099b1a) | 23 | 64 | 27 |
| [:white_check_mark:](# "Successfully processed") [docs/_edot-sdks/java/troubleshooting.md](https://github.com/elastic/opentelemetry/blob/71d499fc5ec33daf3620c27c92f8c57be2040664/docs%2F_edot-sdks%2Fjava%2Ftroubleshooting.md) | [87](https://elastic.acrolinx.cloud/api/v1/checking/scorecards/849585b7-1cf8-4a7f-be6b-c4161ab75ac1) | 9 | 100 | 100 |

**TBD*

author_association: NONE
user: login: elastic-acrolinx
created_at: 2025-03-12T06:31:07Z
body: 

## Acrolinx Scorecards 
 
Select the total score link to review all feedback on clarity, consistency, tone, brand, terms, spelling, grammar, readability, and inclusive language. _You should fix all spelling errors regardless of your total score_. Fixing spelling errors helps maintain user trust in overall content quality.

| Article | Total score<br>(Required: 80) | Words + phrases<br>(Brand, terms) | Correctness<br>(Spelling, grammar) | Clarity<br>(Readability) |
|---------|:--------------:|:--------------------:|:------:|:---------:|
| [:white_check_mark:](# "Successfully processed") [docs/_edot-sdks/java/faq.md](https://github.com/elastic/opentelemetry/blob/2c90e33d07c00d26c81854b634712db4f76fa442/docs%2F_edot-sdks%2Fjava%2Ffaq.md) | [100](https://elastic.acrolinx.cloud/api/v1/checking/scorecards/2719b18b-a75c-4db4-834c-882559448266) | 100 | 100 | 100 |
| [:white_check_mark:](# "Successfully processed") [docs/_edot-sdks/java/features.md](https://github.com/elastic/opentelemetry/blob/2c90e33d07c00d26c81854b634712db4f76fa442/docs%2F_edot-sdks%2Fjava%2Ffeatures.md) | [59](https://elastic.acrolinx.cloud/api/v1/checking/scorecards/e347f2de-7b3e-4f07-94c3-8d982f3d65b8) | 17 | 41 | 28 |
| [:white_check_mark:](# "Successfully processed") [docs/_edot-sdks/java/migration.md](https://github.com/elastic/opentelemetry/blob/2c90e33d07c00d26c81854b634712db4f76fa442/docs%2F_edot-sdks%2Fjava%2Fmigration.md) | [67](https://elastic.acrolinx.cloud/api/v1/checking/scorecards/cc2a0b61-568b-42f2-a9c0-b5df0f93fe8b) | 25 | 25 | 25 |
| [:white_check_mark:](# "Successfully processed") [docs/_edot-sdks/java/release.md](https://github.com/elastic/opentelemetry/blob/2c90e33d07c00d26c81854b634712db4f76fa442/docs%2F_edot-sdks%2Fjava%2Frelease.md) | [63](https://elastic.acrolinx.cloud/api/v1/checking/scorecards/f30034e0-f334-468a-9b08-e9445221d98f) | 17 | 9 | 17 |
| [:white_check_mark:](# "Successfully processed") [docs/_edot-sdks/java/supported-technologies.md](https://github.com/elastic/opentelemetry/blob/2c90e33d07c00d26c81854b634712db4f76fa442/docs%2F_edot-sdks%2Fjava%2Fsupported-technologies.md) | [63](https://elastic.acrolinx.cloud/api/v1/checking/scorecards/4788d6e2-dcd1-452d-b4b0-25143b985376) | 23 | 64 | 27 |
| [:white_check_mark:](# "Successfully processed") [docs/_edot-sdks/java/troubleshooting.md](https://github.com/elastic/opentelemetry/blob/2c90e33d07c00d26c81854b634712db4f76fa442/docs%2F_edot-sdks%2Fjava%2Ftroubleshooting.md) | [87](https://elastic.acrolinx.cloud/api/v1/checking/scorecards/76d38270-24a4-4c3b-949d-c3e1883d8ea8) | 9 | 100 | 100 |

**TBD*

author_association: NONE