@@ -190,22 +190,47 @@ You should get a list of 12 numbers in your browser window, for example:
190
190
For both library and app instrumentation, the first step is to install the
191
191
dependencies for the OpenTelemetry API.
192
192
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
+
193
209
{{< tabpane text=true >}} {{% tab Gradle %}}
194
210
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
+
196
218
dependencies {
197
219
implementation(" org.springframework.boot:spring-boot-starter-web" );
198
- implementation(" io.opentelemetry:opentelemetry-api:{{% param vers.otel %}} " );
220
+ implementation(" io.opentelemetry:opentelemetry-api" );
199
221
}
200
222
```
201
223
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 .
205
227
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
+ ```
209
234
210
235
{{% /tab %}} {{% tab Maven %}}
211
236
@@ -238,50 +263,32 @@ artifact coordinates, see [releases]. For semantic convention releases, see
238
263
{{% alert title="Note" color="info" %}} If you’re instrumenting a library,
239
264
** skip this step** . {{% /alert %}}
240
265
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:
243
270
244
271
{{< tabpane text=true >}} {{% tab Gradle %}}
245
272
246
- ``` kotlin { hl_lines="4-8 " }
273
+ ``` kotlin { hl_lines="4-6 " }
247
274
dependencies {
248
275
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" );
254
280
}
255
281
```
256
282
257
283
{{% /tab %}} {{% tab Maven %}}
258
284
259
285
``` xml
260
286
<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 >
272
287
<dependencies >
273
- <dependency >
274
- <groupId >io.opentelemetry</groupId >
275
- <artifactId >opentelemetry-api</artifactId >
276
- </dependency >
277
288
<dependency >
278
289
<groupId >io.opentelemetry</groupId >
279
290
<artifactId >opentelemetry-sdk</artifactId >
280
291
</dependency >
281
- <dependency >
282
- <groupId >io.opentelemetry</groupId >
283
- <artifactId >opentelemetry-sdk-metrics</artifactId >
284
- </dependency >
285
292
<dependency >
286
293
<groupId >io.opentelemetry</groupId >
287
294
<artifactId >opentelemetry-exporter-logging</artifactId >
@@ -312,16 +319,14 @@ To use autoconfiguration add the following dependency to your application:
312
319
313
320
{{< tabpane text=true >}} {{% tab Gradle %}}
314
321
315
- ``` kotlin { hl_lines="9-10 " }
322
+ ``` kotlin { hl_lines="7 " }
316
323
dependencies {
317
324
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" );
325
330
}
326
331
```
327
332
0 commit comments