|
5 | 5 |
|
6 | 6 | package io.opentelemetry.javaagent.instrumentation.opensearch.v3_0; |
7 | 7 |
|
| 8 | +import io.opentelemetry.api.GlobalOpenTelemetry; |
| 9 | +import io.opentelemetry.instrumentation.api.incubator.semconv.db.DbClientAttributesExtractor; |
| 10 | +import io.opentelemetry.instrumentation.api.incubator.semconv.db.DbClientMetrics; |
| 11 | +import io.opentelemetry.instrumentation.api.incubator.semconv.db.DbClientSpanNameExtractor; |
8 | 12 | import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter; |
| 13 | +import io.opentelemetry.instrumentation.api.instrumenter.SpanKindExtractor; |
9 | 14 |
|
10 | 15 | public final class OpenSearchSingletons { |
11 | | - private static final Instrumenter<OpenSearchRequest, Void> INSTRUMENTER = |
12 | | - OpenSearchInstrumenterFactory.create("io.opentelemetry.opensearch-java-3.0"); |
| 16 | + private static final Instrumenter<OpenSearchRequest, Void> INSTRUMENTER = createInstrumenter(); |
13 | 17 |
|
14 | 18 | public static Instrumenter<OpenSearchRequest, Void> instrumenter() { |
15 | 19 | return INSTRUMENTER; |
16 | 20 | } |
17 | 21 |
|
| 22 | + private static Instrumenter<OpenSearchRequest, Void> createInstrumenter() { |
| 23 | + OpenSearchAttributesGetter dbClientAttributesGetter = new OpenSearchAttributesGetter(); |
| 24 | + |
| 25 | + return Instrumenter.<OpenSearchRequest, Void>builder( |
| 26 | + GlobalOpenTelemetry.get(), |
| 27 | + "io.opentelemetry.opensearch-java-3.0", |
| 28 | + DbClientSpanNameExtractor.create(dbClientAttributesGetter)) |
| 29 | + .addAttributesExtractor(DbClientAttributesExtractor.create(dbClientAttributesGetter)) |
| 30 | + .addOperationMetrics(DbClientMetrics.get()) |
| 31 | + .buildInstrumenter(SpanKindExtractor.alwaysClient()); |
| 32 | + } |
| 33 | + |
18 | 34 | private OpenSearchSingletons() {} |
19 | 35 | } |
0 commit comments