diff --git a/sdk/src/main/java/io/opentelemetry/sdk/trace/RecordEventsReadableSpan.java b/sdk/src/main/java/io/opentelemetry/sdk/trace/RecordEventsReadableSpan.java index 1aa0ed6a5c4..e84b1143899 100644 --- a/sdk/src/main/java/io/opentelemetry/sdk/trace/RecordEventsReadableSpan.java +++ b/sdk/src/main/java/io/opentelemetry/sdk/trace/RecordEventsReadableSpan.java @@ -220,14 +220,14 @@ public InstrumentationLibraryInfo getInstrumentationLibraryInfo() { } /** - * Returns the end nano time (see {@link System#nanoTime()}). If the current {@code Span} is not - * ended then returns {@link Clock#nanoTime()}. + * Returns the end nano time (see {@link System#nanoTime()}) or zero if the current {@code Span} + * is not ended. * * @return the end nano time. */ private long getEndEpochNanos() { synchronized (lock) { - return getEndNanoTimeInternal(); + return endEpochNanos; } } @@ -291,24 +291,6 @@ Map getAttributes() { } } - /** - * Returns the latency of the {@code Span} in nanos. If still active then returns now() - start - * time. - * - * @return the latency of the {@code Span} in nanos. - */ - long getLatencyNs() { - synchronized (lock) { - return getEndNanoTimeInternal() - startEpochNanos; - } - } - - // Use getEndNanoTimeInternal to avoid over-locking. - @GuardedBy("lock") - private long getEndNanoTimeInternal() { - return hasBeenEnded ? endEpochNanos : clock.now(); - } - /** * Returns the kind of this {@code Span}. * diff --git a/sdk/src/test/java/io/opentelemetry/sdk/trace/RecordEventsReadableSpanTest.java b/sdk/src/test/java/io/opentelemetry/sdk/trace/RecordEventsReadableSpanTest.java index 3bfaee85760..8b3a6a22e99 100644 --- a/sdk/src/test/java/io/opentelemetry/sdk/trace/RecordEventsReadableSpanTest.java +++ b/sdk/src/test/java/io/opentelemetry/sdk/trace/RecordEventsReadableSpanTest.java @@ -134,7 +134,7 @@ public void toSpanData_ActiveSpan() { Collections.singletonList(link), SPAN_NEW_NAME, startEpochNanos, - testClock.now(), + 0, Status.OK); } finally { span.end(); @@ -243,32 +243,6 @@ public void getAndUpdateSpanName() { } } - @Test - public void getLatencyNs_ActiveSpan() { - RecordEventsReadableSpan span = createTestSpan(Kind.INTERNAL); - try { - testClock.advanceMillis(MILLIS_PER_SECOND); - long elapsedTimeNanos1 = testClock.now() - startEpochNanos; - assertThat(span.getLatencyNs()).isEqualTo(elapsedTimeNanos1); - testClock.advanceMillis(MILLIS_PER_SECOND); - long elapsedTimeNanos2 = testClock.now() - startEpochNanos; - assertThat(span.getLatencyNs()).isEqualTo(elapsedTimeNanos2); - } finally { - span.end(); - } - } - - @Test - public void getLatencyNs_EndedSpan() { - RecordEventsReadableSpan span = createTestSpan(Kind.INTERNAL); - testClock.advanceMillis(MILLIS_PER_SECOND); - span.end(); - long elapsedTimeNanos = testClock.now() - startEpochNanos; - assertThat(span.getLatencyNs()).isEqualTo(elapsedTimeNanos); - testClock.advanceMillis(MILLIS_PER_SECOND); - assertThat(span.getLatencyNs()).isEqualTo(elapsedTimeNanos); - } - @Test public void setAttribute() { RecordEventsReadableSpan span = createTestRootSpan();