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.SpanContext;
import io.opentelemetry.trace.SpanId;
import io.opentelemetry.trace.StatusCanonicalCode;
import io.opentelemetry.trace.TraceFlags;
import io.opentelemetry.trace.TraceId;
import io.opentelemetry.trace.TraceState;
@ -112,13 +113,17 @@ class SpanAdapterTest {
void toProtoStatus() {
assertThat(SpanAdapter.toStatusProto(ImmutableStatus.UNSET))
.isEqualTo(Status.newBuilder().setCode(STATUS_CODE_OK).build());
assertThat(SpanAdapter.toStatusProto(ImmutableStatus.ERROR.withDescription("ERROR")))
assertThat(
SpanAdapter.toStatusProto(ImmutableStatus.create(StatusCanonicalCode.ERROR, "ERROR")))
.isEqualTo(
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(
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());
}

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

View File

@ -8,7 +8,6 @@ package io.opentelemetry.sdk.trace.data;
import com.google.auto.value.AutoValue;
import io.opentelemetry.trace.Span;
import io.opentelemetry.trace.StatusCanonicalCode;
import java.util.Objects;
import javax.annotation.Nullable;
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
* successfully.
*/
public static final ImmutableStatus OK = createInternal(StatusCanonicalCode.OK, null);
public static final SpanData.Status OK = create(StatusCanonicalCode.OK, null);
/** 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. */
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.
@ -43,26 +42,6 @@ public abstract class ImmutableStatus implements SpanData.Status {
*/
public static SpanData.Status create(
StatusCanonicalCode canonicalCode, @Nullable String description) {
return createInternal(canonicalCode, description);
}
private static ImmutableStatus createInternal(
StatusCanonicalCode canonicalCode, @Nullable String 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,
START_EPOCH_NANOS,
testClock.now(),
ImmutableStatus.ERROR.withDescription("CANCELLED"),
ImmutableStatus.create(StatusCanonicalCode.ERROR, "CANCELLED"),
/*hasEnded=*/ true);
}
@ -262,12 +262,12 @@ class RecordEventsReadableSpanTest {
assertThat(span.toSpanData().getStatus()).isEqualTo(ImmutableStatus.UNSET);
span.setStatus(StatusCanonicalCode.ERROR, "CANCELLED");
assertThat(span.toSpanData().getStatus())
.isEqualTo(ImmutableStatus.ERROR.withDescription("CANCELLED"));
.isEqualTo(ImmutableStatus.create(StatusCanonicalCode.ERROR, "CANCELLED"));
} finally {
span.end();
}
assertThat(span.toSpanData().getStatus())
.isEqualTo(ImmutableStatus.ERROR.withDescription("CANCELLED"));
.isEqualTo(ImmutableStatus.create(StatusCanonicalCode.ERROR, "CANCELLED"));
}
@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.SpanData;
import io.opentelemetry.trace.Span;
import io.opentelemetry.trace.StatusCanonicalCode;
import org.junit.jupiter.api.Test;
class SpanDataBuilderTest {
@ -50,9 +51,10 @@ class SpanDataBuilderTest {
assertThat(TEST_SPAN_DATA.getStatus()).isEqualTo(ImmutableStatus.ERROR);
SpanData modified =
SpanDataBuilder.newBuilder(TEST_SPAN_DATA)
.setStatus(ImmutableStatus.ERROR.withDescription("ABORTED"))
.setStatus(ImmutableStatus.create(StatusCanonicalCode.ERROR, "ABORTED"))
.build();
assertThat(modified.getStatus()).isEqualTo(ImmutableStatus.ERROR.withDescription("ABORTED"));
assertThat(modified.getStatus())
.isEqualTo(ImmutableStatus.create(StatusCanonicalCode.ERROR, "ABORTED"));
}
@Test
@ -65,7 +67,7 @@ class SpanDataBuilderTest {
SpanDataBuilder.newBuilder(TEST_SPAN_DATA).build())
.addEqualityGroup(
SpanDataBuilder.newBuilder(TEST_SPAN_DATA)
.setStatus(ImmutableStatus.ERROR.withDescription("ABORTED"))
.setStatus(ImmutableStatus.create(StatusCanonicalCode.ERROR, "ABORTED"))
.build());
tester.testEquals();
}