Skip to content

Commit 264210e

Browse files
committed
Emit schema url from HTTP instrumentations
1 parent d69f077 commit 264210e

File tree

4 files changed

+19
-4
lines changed

4 files changed

+19
-4
lines changed

instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/builder/internal/DefaultHttpClientInstrumenterBuilder.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
import io.opentelemetry.instrumentation.api.semconv.http.HttpSpanNameExtractor;
3232
import io.opentelemetry.instrumentation.api.semconv.http.HttpSpanNameExtractorBuilder;
3333
import io.opentelemetry.instrumentation.api.semconv.http.HttpSpanStatusExtractor;
34+
import io.opentelemetry.semconv.SchemaUrls;
3435
import java.util.ArrayList;
3536
import java.util.Collection;
3637
import java.util.List;
@@ -245,7 +246,8 @@ public Instrumenter<REQUEST, RESPONSE> build() {
245246
statusExtractorTransformer.apply(HttpSpanStatusExtractor.create(attributesGetter)))
246247
.addAttributesExtractor(httpAttributesExtractorBuilder.build())
247248
.addAttributesExtractors(additionalExtractors)
248-
.addOperationMetrics(HttpClientMetrics.get());
249+
.addOperationMetrics(HttpClientMetrics.get())
250+
.setSchemaUrl(SchemaUrls.V1_37_0);
249251
if (emitExperimentalHttpClientTelemetry) {
250252
builder
251253
.addAttributesExtractor(HttpExperimentalAttributesExtractor.create(attributesGetter))

instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/builder/internal/DefaultHttpServerInstrumenterBuilder.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import io.opentelemetry.instrumentation.api.semconv.http.HttpSpanNameExtractor;
2727
import io.opentelemetry.instrumentation.api.semconv.http.HttpSpanNameExtractorBuilder;
2828
import io.opentelemetry.instrumentation.api.semconv.http.HttpSpanStatusExtractor;
29+
import io.opentelemetry.semconv.SchemaUrls;
2930
import java.util.ArrayList;
3031
import java.util.Collection;
3132
import java.util.List;
@@ -207,7 +208,8 @@ public InstrumenterBuilder<REQUEST, RESPONSE> instrumenterBuilder() {
207208
.addAttributesExtractor(httpAttributesExtractorBuilder.build())
208209
.addAttributesExtractors(additionalExtractors)
209210
.addContextCustomizer(httpServerRouteBuilder.build())
210-
.addOperationMetrics(HttpServerMetrics.get());
211+
.addOperationMetrics(HttpServerMetrics.get())
212+
.setSchemaUrl(SchemaUrls.V1_37_0);
211213
if (emitExperimentalHttpServerTelemetry) {
212214
builder
213215
.addAttributesExtractor(HttpExperimentalAttributesExtractor.create(attributesGetter))

testing-common/src/main/java/io/opentelemetry/instrumentation/testing/junit/http/AbstractHttpClientTest.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import io.opentelemetry.semconv.ErrorAttributes;
2828
import io.opentelemetry.semconv.HttpAttributes;
2929
import io.opentelemetry.semconv.NetworkAttributes;
30+
import io.opentelemetry.semconv.SchemaUrls;
3031
import io.opentelemetry.semconv.ServerAttributes;
3132
import io.opentelemetry.semconv.UrlAttributes;
3233
import io.opentelemetry.semconv.UserAgentAttributes;
@@ -1151,7 +1152,11 @@ protected SpanDataAssert assertClientSpan(
11511152
} else {
11521153
assertThat(attrs).doesNotContainKey(HttpAttributes.HTTP_REQUEST_RESEND_COUNT);
11531154
}
1154-
});
1155+
})
1156+
.satisfies(
1157+
spanData ->
1158+
assertThat(spanData.getInstrumentationScopeInfo().getSchemaUrl())
1159+
.isEqualTo(SchemaUrls.V1_37_0));
11551160
}
11561161

11571162
protected static SpanDataAssert assertServerSpan(SpanDataAssert span) {

testing-common/src/main/java/io/opentelemetry/instrumentation/testing/junit/http/AbstractHttpServerTest.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
import io.opentelemetry.semconv.ErrorAttributes;
4242
import io.opentelemetry.semconv.HttpAttributes;
4343
import io.opentelemetry.semconv.NetworkAttributes;
44+
import io.opentelemetry.semconv.SchemaUrls;
4445
import io.opentelemetry.semconv.ServerAttributes;
4546
import io.opentelemetry.semconv.UrlAttributes;
4647
import io.opentelemetry.semconv.UserAgentAttributes;
@@ -828,7 +829,12 @@ protected SpanDataAssert assertServerSpan(
828829
String expectedRoute = options.expectedHttpRoute.apply(endpoint, method);
829830
String name = options.expectedServerSpanNameMapper.apply(endpoint, method, expectedRoute);
830831

831-
span.hasName(name).hasKind(SpanKind.SERVER);
832+
span.hasName(name)
833+
.hasKind(SpanKind.SERVER)
834+
.satisfies(
835+
spanData ->
836+
assertThat(spanData.getInstrumentationScopeInfo().getSchemaUrl())
837+
.isEqualTo(SchemaUrls.V1_37_0));
832838
if (statusCode >= 500) {
833839
span.hasStatus(StatusData.error());
834840
}

0 commit comments

Comments
 (0)