Skip to content

Commit 4b37dfc

Browse files
committed
Merge branch '1.5.x' into 1.6.x
2 parents 059d1a0 + a1f4b90 commit 4b37dfc

2 files changed

Lines changed: 19 additions & 1 deletion

File tree

  • micrometer-tracing-bridges/micrometer-tracing-bridge-otel/src

micrometer-tracing-bridges/micrometer-tracing-bridge-otel/src/main/java/io/micrometer/tracing/otel/bridge/OtelSpan.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,12 @@ public Span remoteIpAndPort(String ip, int port) {
169169
@Override
170170
public Span error(Throwable throwable) {
171171
this.delegate.recordException(throwable);
172-
this.delegate.setStatus(StatusCode.ERROR, throwable.getMessage());
172+
if (throwable.getMessage() == null) {
173+
this.delegate.setStatus(StatusCode.ERROR);
174+
}
175+
else {
176+
this.delegate.setStatus(StatusCode.ERROR, throwable.getMessage());
177+
}
173178
return this;
174179
}
175180

micrometer-tracing-bridges/micrometer-tracing-bridge-otel/src/test/java/io/micrometer/tracing/otel/bridge/OtelSpanTests.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,19 @@ void should_set_status_to_error_when_recording_exception() {
6161
then(poll.getEvents().get(0).getAttributes().asMap().values()).containsAnyOf("boom!");
6262
}
6363

64+
// gh-1320
65+
@Test
66+
void should_have_empty_description_when_throwable_message_is_null() {
67+
OtelSpan otelSpan = new OtelSpan(otelTracer.spanBuilder("foo").startSpan());
68+
69+
otelSpan.error(new RuntimeException((String) null)).end();
70+
71+
SpanData poll = arrayListSpanProcessor.getFinishedSpanItems().get(0);
72+
then(poll.getStatus()).isEqualTo(StatusData.create(StatusCode.ERROR, ""));
73+
then(poll.getEvents()).hasSize(1);
74+
then(poll.getEvents().get(0).getAttributes().asMap().values()).contains("java.lang.RuntimeException");
75+
}
76+
6477
@Test
6578
void should_be_equal_when_two_span_delegates_are_equal() {
6679
Span span = otelTracer.spanBuilder("foo").startSpan();

0 commit comments

Comments
 (0)