Remove helper method withDescription from ImmutableStatus (#1752)

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
This commit is contained in:
Bogdan Drutu 2020-10-05 09:04:45 -07:00 committed by GitHub
parent 21fbb36d81
commit 52477d66bd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 21 additions and 34 deletions

View File

@ -29,6 +29,7 @@ import io.opentelemetry.sdk.trace.data.ImmutableStatus;
import io.opentelemetry.trace.Span.Kind; import io.opentelemetry.trace.Span.Kind;
import io.opentelemetry.trace.SpanContext; import io.opentelemetry.trace.SpanContext;
import io.opentelemetry.trace.SpanId; import io.opentelemetry.trace.SpanId;
import io.opentelemetry.trace.StatusCanonicalCode;
import io.opentelemetry.trace.TraceFlags; import io.opentelemetry.trace.TraceFlags;
import io.opentelemetry.trace.TraceId; import io.opentelemetry.trace.TraceId;
import io.opentelemetry.trace.TraceState; import io.opentelemetry.trace.TraceState;
@ -112,13 +113,17 @@ class SpanAdapterTest {
void toProtoStatus() { void toProtoStatus() {
assertThat(SpanAdapter.toStatusProto(ImmutableStatus.UNSET)) assertThat(SpanAdapter.toStatusProto(ImmutableStatus.UNSET))
.isEqualTo(Status.newBuilder().setCode(STATUS_CODE_OK).build()); .isEqualTo(Status.newBuilder().setCode(STATUS_CODE_OK).build());
assertThat(SpanAdapter.toStatusProto(ImmutableStatus.ERROR.withDescription("ERROR"))) assertThat(
SpanAdapter.toStatusProto(ImmutableStatus.create(StatusCanonicalCode.ERROR, "ERROR")))
.isEqualTo( .isEqualTo(
Status.newBuilder().setCode(STATUS_CODE_UNKNOWN_ERROR).setMessage("ERROR").build()); Status.newBuilder().setCode(STATUS_CODE_UNKNOWN_ERROR).setMessage("ERROR").build());
assertThat(SpanAdapter.toStatusProto(ImmutableStatus.ERROR.withDescription("UNKNOWN"))) assertThat(
SpanAdapter.toStatusProto(ImmutableStatus.create(StatusCanonicalCode.ERROR, "UNKNOWN")))
.isEqualTo( .isEqualTo(
Status.newBuilder().setCode(STATUS_CODE_UNKNOWN_ERROR).setMessage("UNKNOWN").build()); Status.newBuilder().setCode(STATUS_CODE_UNKNOWN_ERROR).setMessage("UNKNOWN").build());
assertThat(SpanAdapter.toStatusProto(ImmutableStatus.OK.withDescription("OK_OVERRIDE"))) assertThat(
SpanAdapter.toStatusProto(
ImmutableStatus.create(StatusCanonicalCode.OK, "OK_OVERRIDE")))
.isEqualTo(Status.newBuilder().setCode(STATUS_CODE_OK).setMessage("OK_OVERRIDE").build()); .isEqualTo(Status.newBuilder().setCode(STATUS_CODE_OK).setMessage("OK_OVERRIDE").build());
} }

View File

@ -32,6 +32,7 @@ import io.opentelemetry.sdk.trace.data.ImmutableStatus;
import io.opentelemetry.sdk.trace.data.SpanData; import io.opentelemetry.sdk.trace.data.SpanData;
import io.opentelemetry.sdk.trace.data.SpanData.Event; import io.opentelemetry.sdk.trace.data.SpanData.Event;
import io.opentelemetry.trace.Span.Kind; import io.opentelemetry.trace.Span.Kind;
import io.opentelemetry.trace.StatusCanonicalCode;
import io.opentelemetry.trace.attributes.SemanticAttributes; import io.opentelemetry.trace.attributes.SemanticAttributes;
import java.io.IOException; import java.io.IOException;
import java.util.Arrays; import java.util.Arrays;
@ -219,7 +220,7 @@ class ZipkinSpanExporterTest {
SpanData data = SpanData data =
buildStandardSpan() buildStandardSpan()
.setStatus(ImmutableStatus.ERROR.withDescription(errorMessage)) .setStatus(ImmutableStatus.create(StatusCanonicalCode.ERROR, errorMessage))
.setAttributes(attributeMap) .setAttributes(attributeMap)
.build(); .build();

View File

@ -8,7 +8,6 @@ package io.opentelemetry.sdk.trace.data;
import com.google.auto.value.AutoValue; import com.google.auto.value.AutoValue;
import io.opentelemetry.trace.Span; import io.opentelemetry.trace.Span;
import io.opentelemetry.trace.StatusCanonicalCode; import io.opentelemetry.trace.StatusCanonicalCode;
import java.util.Objects;
import javax.annotation.Nullable; import javax.annotation.Nullable;
import javax.annotation.concurrent.Immutable; import javax.annotation.concurrent.Immutable;
@ -26,13 +25,13 @@ public abstract class ImmutableStatus implements SpanData.Status {
* The operation has been validated by an Application developers or Operator to have completed * The operation has been validated by an Application developers or Operator to have completed
* successfully. * successfully.
*/ */
public static final ImmutableStatus OK = createInternal(StatusCanonicalCode.OK, null); public static final SpanData.Status OK = create(StatusCanonicalCode.OK, null);
/** The default status. */ /** The default status. */
public static final ImmutableStatus UNSET = createInternal(StatusCanonicalCode.UNSET, null); public static final SpanData.Status UNSET = create(StatusCanonicalCode.UNSET, null);
/** The operation contains an error. */ /** The operation contains an error. */
public static final ImmutableStatus ERROR = createInternal(StatusCanonicalCode.ERROR, null); public static final SpanData.Status ERROR = create(StatusCanonicalCode.ERROR, null);
/** /**
* Creates a derived instance of {@code Status} with the given description. * Creates a derived instance of {@code Status} with the given description.
@ -43,26 +42,6 @@ public abstract class ImmutableStatus implements SpanData.Status {
*/ */
public static SpanData.Status create( public static SpanData.Status create(
StatusCanonicalCode canonicalCode, @Nullable String description) { StatusCanonicalCode canonicalCode, @Nullable String description) {
return createInternal(canonicalCode, description);
}
private static ImmutableStatus createInternal(
StatusCanonicalCode canonicalCode, @Nullable String description) {
return new AutoValue_ImmutableStatus(canonicalCode, description); return new AutoValue_ImmutableStatus(canonicalCode, description);
} }
/**
* Creates a derived instance of {@code Status} with the given description.
*
* @param description the new description of the {@code Status}.
* @return The newly created {@code Status} with the given description.
* @since 0.1.0
*/
// TODO: Consider to remove this in a future PR. Avoid too many changes in the initial PR.
public ImmutableStatus withDescription(@Nullable String description) {
if (Objects.equals(getDescription(), description)) {
return this;
}
return createInternal(getCanonicalCode(), description);
}
} }

View File

@ -174,7 +174,7 @@ class RecordEventsReadableSpanTest {
SPAN_NEW_NAME, SPAN_NEW_NAME,
START_EPOCH_NANOS, START_EPOCH_NANOS,
testClock.now(), testClock.now(),
ImmutableStatus.ERROR.withDescription("CANCELLED"), ImmutableStatus.create(StatusCanonicalCode.ERROR, "CANCELLED"),
/*hasEnded=*/ true); /*hasEnded=*/ true);
} }
@ -262,12 +262,12 @@ class RecordEventsReadableSpanTest {
assertThat(span.toSpanData().getStatus()).isEqualTo(ImmutableStatus.UNSET); assertThat(span.toSpanData().getStatus()).isEqualTo(ImmutableStatus.UNSET);
span.setStatus(StatusCanonicalCode.ERROR, "CANCELLED"); span.setStatus(StatusCanonicalCode.ERROR, "CANCELLED");
assertThat(span.toSpanData().getStatus()) assertThat(span.toSpanData().getStatus())
.isEqualTo(ImmutableStatus.ERROR.withDescription("CANCELLED")); .isEqualTo(ImmutableStatus.create(StatusCanonicalCode.ERROR, "CANCELLED"));
} finally { } finally {
span.end(); span.end();
} }
assertThat(span.toSpanData().getStatus()) assertThat(span.toSpanData().getStatus())
.isEqualTo(ImmutableStatus.ERROR.withDescription("CANCELLED")); .isEqualTo(ImmutableStatus.create(StatusCanonicalCode.ERROR, "CANCELLED"));
} }
@Test @Test

View File

@ -13,6 +13,7 @@ import io.opentelemetry.sdk.trace.TestSpanData;
import io.opentelemetry.sdk.trace.data.ImmutableStatus; import io.opentelemetry.sdk.trace.data.ImmutableStatus;
import io.opentelemetry.sdk.trace.data.SpanData; import io.opentelemetry.sdk.trace.data.SpanData;
import io.opentelemetry.trace.Span; import io.opentelemetry.trace.Span;
import io.opentelemetry.trace.StatusCanonicalCode;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
class SpanDataBuilderTest { class SpanDataBuilderTest {
@ -50,9 +51,10 @@ class SpanDataBuilderTest {
assertThat(TEST_SPAN_DATA.getStatus()).isEqualTo(ImmutableStatus.ERROR); assertThat(TEST_SPAN_DATA.getStatus()).isEqualTo(ImmutableStatus.ERROR);
SpanData modified = SpanData modified =
SpanDataBuilder.newBuilder(TEST_SPAN_DATA) SpanDataBuilder.newBuilder(TEST_SPAN_DATA)
.setStatus(ImmutableStatus.ERROR.withDescription("ABORTED")) .setStatus(ImmutableStatus.create(StatusCanonicalCode.ERROR, "ABORTED"))
.build(); .build();
assertThat(modified.getStatus()).isEqualTo(ImmutableStatus.ERROR.withDescription("ABORTED")); assertThat(modified.getStatus())
.isEqualTo(ImmutableStatus.create(StatusCanonicalCode.ERROR, "ABORTED"));
} }
@Test @Test
@ -65,7 +67,7 @@ class SpanDataBuilderTest {
SpanDataBuilder.newBuilder(TEST_SPAN_DATA).build()) SpanDataBuilder.newBuilder(TEST_SPAN_DATA).build())
.addEqualityGroup( .addEqualityGroup(
SpanDataBuilder.newBuilder(TEST_SPAN_DATA) SpanDataBuilder.newBuilder(TEST_SPAN_DATA)
.setStatus(ImmutableStatus.ERROR.withDescription("ABORTED")) .setStatus(ImmutableStatus.create(StatusCanonicalCode.ERROR, "ABORTED"))
.build()); .build());
tester.testEquals(); tester.testEquals();
} }