Skip to content

Commit e2361fe

Browse files
authored
Merge branch 'main' into theletterf-3929-add-collector-config-path
2 parents b797582 + 8058738 commit e2361fe

File tree

1 file changed

+48
-43
lines changed

1 file changed

+48
-43
lines changed

content/en/docs/languages/java/instrumentation.md

+48-43
Original file line numberDiff line numberDiff line change
@@ -190,22 +190,47 @@ You should get a list of 12 numbers in your browser window, for example:
190190
For both library and app instrumentation, the first step is to install the
191191
dependencies for the OpenTelemetry API.
192192

193+
Throughout this documentation you will add dependencies. For a full list of
194+
artifact coordinates, see [releases]. For semantic convention releases, see
195+
[semantic-conventions-java].
196+
197+
[releases]: https://github.com/open-telemetry/opentelemetry-java#releases
198+
[semantic-conventions-java]:
199+
https://github.com/open-telemetry/semantic-conventions-java/releases
200+
201+
### Dependency management
202+
203+
A Bill of Material
204+
([BOM](https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#bill-of-materials-bom-poms))
205+
ensures that versions of dependencies (including transitive ones) are aligned.
206+
Importing the `opentelemetry-bom` BOM is important to ensure version alignment
207+
across all OpenTelemetry dependencies.
208+
193209
{{< tabpane text=true >}} {{% tab Gradle %}}
194210

195-
```kotlin { hl_lines=3 }
211+
```kotlin { hl_lines=["1-5",9] }
212+
dependencyManagement {
213+
imports {
214+
mavenBom("io.opentelemetry:opentelemetry-bom:{{% param vers.otel %}}")
215+
}
216+
}
217+
196218
dependencies {
197219
implementation("org.springframework.boot:spring-boot-starter-web");
198-
implementation("io.opentelemetry:opentelemetry-api:{{% param vers.otel %}}");
220+
implementation("io.opentelemetry:opentelemetry-api");
199221
}
200222
```
201223

202-
Throughout this documentation you will add dependencies. For a full list of
203-
artifact coordinates, see [releases]. For semantic convention releases, see
204-
[semantic-conventions-java].
224+
If you are not using Spring and its `io.spring.dependency-management` dependency
225+
management plugin, install the OpenTelemetry BOM and API using Gradle
226+
dependencies only.
205227

206-
[releases]: https://github.com/open-telemetry/opentelemetry-java#releases
207-
[semantic-conventions-java]:
208-
https://github.com/open-telemetry/semantic-conventions-java/releases
228+
```kotlin
229+
dependencies {
230+
implementation(platform("io.opentelemetry:opentelemetry-bom:{{% param vers.otel %}}"));
231+
implementation("io.opentelemetry:opentelemetry-api");
232+
}
233+
```
209234

210235
{{% /tab %}} {{% tab Maven %}}
211236

@@ -238,50 +263,32 @@ artifact coordinates, see [releases]. For semantic convention releases, see
238263
{{% alert title="Note" color="info" %}} If you’re instrumenting a library,
239264
**skip this step**. {{% /alert %}}
240265

241-
If you instrument a Java app, install the dependencies for the OpenTelemetry
242-
SDK.
266+
The OpenTelemetry API provides a set of interfaces for collecting telemetry, but
267+
the data is dropped without an implementation. The OpenTelemetry SDK is the
268+
implementation of the OpenTelemetry API provided by OpenTelemetry. To use it if
269+
you instrument a Java app, begin by installing dependencies:
243270

244271
{{< tabpane text=true >}} {{% tab Gradle %}}
245272

246-
```kotlin { hl_lines="4-8" }
273+
```kotlin { hl_lines="4-6" }
247274
dependencies {
248275
implementation("org.springframework.boot:spring-boot-starter-web");
249-
implementation("io.opentelemetry:opentelemetry-api:{{% param vers.otel %}}");
250-
implementation("io.opentelemetry:opentelemetry-sdk:{{% param vers.otel %}}");
251-
implementation("io.opentelemetry:opentelemetry-sdk-metrics:{{% param vers.otel %}}");
252-
implementation("io.opentelemetry:opentelemetry-exporter-logging:{{% param vers.otel %}}");
253-
implementation("io.opentelemetry:opentelemetry-semconv:{{% param vers.otel %}}-alpha");
276+
implementation("io.opentelemetry:opentelemetry-api");
277+
implementation("io.opentelemetry:opentelemetry-sdk");
278+
implementation("io.opentelemetry:opentelemetry-exporter-logging");
279+
implementation("io.opentelemetry.semconv:opentelemetry-semconv:{{% param vers.semconv %}}-alpha");
254280
}
255281
```
256282

257283
{{% /tab %}} {{% tab Maven %}}
258284

259285
```xml
260286
<project>
261-
<dependencyManagement>
262-
<dependencies>
263-
<dependency>
264-
<groupId>io.opentelemetry</groupId>
265-
<artifactId>opentelemetry-bom</artifactId>
266-
<version>{{% param vers.otel %}}</version>
267-
<type>pom</type>
268-
<scope>import</scope>
269-
</dependency>
270-
</dependencies>
271-
</dependencyManagement>
272287
<dependencies>
273-
<dependency>
274-
<groupId>io.opentelemetry</groupId>
275-
<artifactId>opentelemetry-api</artifactId>
276-
</dependency>
277288
<dependency>
278289
<groupId>io.opentelemetry</groupId>
279290
<artifactId>opentelemetry-sdk</artifactId>
280291
</dependency>
281-
<dependency>
282-
<groupId>io.opentelemetry</groupId>
283-
<artifactId>opentelemetry-sdk-metrics</artifactId>
284-
</dependency>
285292
<dependency>
286293
<groupId>io.opentelemetry</groupId>
287294
<artifactId>opentelemetry-exporter-logging</artifactId>
@@ -312,16 +319,14 @@ To use autoconfiguration add the following dependency to your application:
312319

313320
{{< tabpane text=true >}} {{% tab Gradle %}}
314321

315-
```kotlin { hl_lines="9-10" }
322+
```kotlin { hl_lines="7" }
316323
dependencies {
317324
implementation("org.springframework.boot:spring-boot-starter-web");
318-
implementation("io.opentelemetry:opentelemetry-api:{{% param vers.otel %}}");
319-
implementation("io.opentelemetry:opentelemetry-sdk:{{% param vers.otel %}}");
320-
implementation("io.opentelemetry:opentelemetry-sdk-metrics:{{% param vers.otel %}}");
321-
implementation("io.opentelemetry:opentelemetry-exporter-logging:{{% param vers.otel %}}");
322-
implementation("io.opentelemetry.semconv:opentelemetry-semconv:{{% param vers.semconv %}}-alpha")
323-
implementation("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure:{{% param vers.otel %}}");
324-
implementation("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure-spi:{{% param vers.otel %}}");
325+
implementation("io.opentelemetry:opentelemetry-api");
326+
implementation("io.opentelemetry:opentelemetry-sdk");
327+
implementation("io.opentelemetry:opentelemetry-exporter-logging");
328+
implementation("io.opentelemetry.semconv:opentelemetry-semconv:{{% param vers.semconv %}}-alpha");
329+
implementation("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure");
325330
}
326331
```
327332

0 commit comments

Comments
 (0)