Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -179,6 +179,11 @@ class TrackingSpanDecorator implements AgentSpan {
return delegate.setMetric(key, value)
}

@Override
AgentSpan setMetric(CharSequence key, float value) {
return delegate.setMetric(key, value)
}

@Override
AgentSpan setMetric(CharSequence key, long value) {
return delegate.setMetric(key, value)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -214,6 +214,11 @@ public MutableSpan setMetric(final CharSequence metric, final long value) {
return delegate.setMetric(metric, value);
}

@Override
public MutableSpan setMetric(final CharSequence metric, final float value) {
return delegate.setMetric(metric, value);
}

@Override
public MutableSpan setMetric(final CharSequence metric, final double value) {
return delegate.setMetric(metric, value);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,12 @@ public OTSpan setMetric(final CharSequence metric, final long value) {
return this;
}

@Override
public OTSpan setMetric(final CharSequence metric, final float value) {
delegate.setMetric(metric, value);
return this;
}

@Override
public OTSpan setMetric(final CharSequence metric, final double value) {
delegate.setMetric(metric, value);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,12 @@ public OTSpan setMetric(final CharSequence metric, final long value) {
return this;
}

@Override
public OTSpan setMetric(final CharSequence metric, final float value) {
delegate.setMetric(metric, value);
return this;
}

@Override
public OTSpan setMetric(final CharSequence metric, final double value) {
delegate.setMetric(metric, value);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,8 @@ default Object getTag(String key) {

MutableSpan setMetric(final CharSequence metric, final long value);

MutableSpan setMetric(final CharSequence metric, final float value);

MutableSpan setMetric(final CharSequence metric, final double value);

boolean isError();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -751,6 +751,30 @@ public void setMetric(final CharSequence key, final Number value) {
}
}

public void setMetric(final CharSequence key, final int value) {
synchronized (unsafeTags) {
unsafeTags.set(key.toString(), value);
}
}

public void setMetric(final CharSequence key, final long value) {
synchronized (unsafeTags) {
unsafeTags.set(key.toString(), value);
}
}

public void setMetric(final CharSequence key, final float value) {
synchronized (unsafeTags) {
unsafeTags.set(key.toString(), value);
}
}

public void setMetric(final CharSequence key, final double value) {
synchronized (unsafeTags) {
unsafeTags.set(key.toString(), value);
}
}

public void setMetric(final TagMap.EntryReader entry) {
if (entry == null) {
return;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ class DDSpanContextTest extends DDCoreSpecification {
def context = span.context()

when:
context.setMetric("test", value)
context.setMetric("test", (Number)value)

then:
type.isInstance(context.getTag("test"))
Expand Down
53 changes: 53 additions & 0 deletions dd-trace-core/src/test/java/datadog/trace/core/SpanTest.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package datadog.trace.core;

import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertInstanceOf;

import datadog.trace.api.TagMap;
import datadog.trace.bootstrap.instrumentation.api.AgentSpan;
Expand All @@ -10,6 +11,58 @@
public class SpanTest {
static final CoreTracer TRACER = CoreTracer.builder().build();

@Test
@DisplayName("setMetric: int")
public void setMetricInt() {
int expected = 2;

AgentSpan span = TRACER.startSpan("foo", "foo");
span.setMetric("int", expected);

Object value = span.getTag("int");
assertInstanceOf(Integer.class, value);
assertEquals(Integer.valueOf(expected), value);
}

@Test
@DisplayName("setMetric: long")
public void setMetricLong() {
long expected = 20L;

AgentSpan span = TRACER.startSpan("foo", "foo");
span.setMetric("long", expected);

Object value = span.getTag("long");
assertInstanceOf(Long.class, value);
assertEquals(Long.valueOf(expected), value);
}

@Test
@DisplayName("setMetric: float")
public void setMetricFloat() {
float expected = 2.718F;

AgentSpan span = TRACER.startSpan("foo", "foo");
span.setMetric("float", expected);

Object value = span.getTag("float");
assertInstanceOf(Float.class, value);
assertEquals(Float.valueOf(expected), value);
}

@Test
@DisplayName("setMetric: double")
public void setMetricDouble() {
double expected = 3.1415D;

AgentSpan span = TRACER.startSpan("foo", "foo");
span.setMetric("double", expected);

Object value = span.getTag("double");
assertInstanceOf(Double.class, value);
assertEquals(Double.valueOf(expected), value);
}

@Test
@DisplayName("setTag: TagMap.Entry")
public void setTagEntry() {
Expand Down
6 changes: 6 additions & 0 deletions dd-trace-ot/src/main/java/datadog/opentracing/OTSpan.java
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,12 @@ public OTSpan setMetric(final CharSequence metric, final long value) {
return this;
}

@Override
public OTSpan setMetric(final CharSequence metric, final float value) {
delegate.setMetric(metric, value);
return this;
}

@Override
public OTSpan setMetric(final CharSequence metric, final double value) {
delegate.setMetric(metric, value);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,9 @@ default boolean isValid() {
@Override
AgentSpan setMetric(CharSequence key, long value);

@Override
AgentSpan setMetric(CharSequence key, float value);

@Override
AgentSpan setMetric(CharSequence key, double value);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,11 @@ public AgentSpan setMetric(CharSequence key, long value) {
return this;
}

@Override
public AgentSpan setMetric(CharSequence key, float value) {
return this;
}

@Override
public AgentSpan setMetric(CharSequence key, double value) {
return this;
Expand Down
Loading