Skip to content

Commit a78465a

Browse files
committed
support service.instance.id in spring starter
1 parent 007478d commit a78465a

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

instrumentation/spring/starters/spring-boot-starter/build.gradle.kts

+1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ dependencies {
1414
api(project(":instrumentation:spring:spring-boot-autoconfigure"))
1515
api(project(":instrumentation-annotations"))
1616
implementation(project(":instrumentation:resources:library"))
17+
implementation("io.opentelemetry:opentelemetry-sdk-extension-incubator")
1718
api("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure-spi")
1819
api("io.opentelemetry:opentelemetry-api")
1920
api("io.opentelemetry:opentelemetry-exporter-logging")

smoke-tests-otel-starter/src/test/java/io/opentelemetry/smoketest/OtelSpringStarterSmokeTest.java

+8-1
Original file line numberDiff line numberDiff line change
@@ -27,18 +27,21 @@
2727
import io.opentelemetry.sdk.metrics.data.MetricData;
2828
import io.opentelemetry.sdk.metrics.export.MetricExporter;
2929
import io.opentelemetry.sdk.resources.Resource;
30+
import io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions;
3031
import io.opentelemetry.sdk.testing.assertj.TracesAssert;
3132
import io.opentelemetry.sdk.testing.exporter.InMemoryLogRecordExporter;
3233
import io.opentelemetry.sdk.testing.exporter.InMemoryMetricExporter;
3334
import io.opentelemetry.sdk.testing.exporter.InMemorySpanExporter;
3435
import io.opentelemetry.sdk.trace.data.SpanData;
3536
import io.opentelemetry.sdk.trace.export.SpanExporter;
37+
import io.opentelemetry.semconv.ResourceAttributes;
3638
import io.opentelemetry.semconv.SemanticAttributes;
3739
import io.opentelemetry.spring.smoketest.OtelSpringStarterSmokeTestApplication;
3840
import io.opentelemetry.spring.smoketest.OtelSpringStarterSmokeTestController;
3941
import java.time.Duration;
4042
import java.util.Collections;
4143
import java.util.List;
44+
import org.assertj.core.api.AbstractCharSequenceAssert;
4245
import org.junit.jupiter.api.Test;
4346
import org.springframework.beans.factory.annotation.Autowired;
4447
import org.springframework.boot.test.context.SpringBootTest;
@@ -205,7 +208,11 @@ void shouldSendTelemetry() {
205208
AttributeKey.booleanKey("keyFromResourceCustomizer"),
206209
true)
207210
.hasAttribute(
208-
AttributeKey.stringKey("attributeFromYaml"), "true"))
211+
AttributeKey.stringKey("attributeFromYaml"), "true")
212+
.hasAttribute(
213+
OpenTelemetryAssertions.satisfies(
214+
ResourceAttributes.SERVICE_INSTANCE_ID,
215+
AbstractCharSequenceAssert::isNotBlank)))
209216
.hasAttribute(SemanticAttributes.HTTP_REQUEST_METHOD, "GET")
210217
.hasAttribute(SemanticAttributes.HTTP_RESPONSE_STATUS_CODE, 200L)
211218
.hasAttribute(SemanticAttributes.HTTP_ROUTE, "/ping")));

0 commit comments

Comments
 (0)