diff --git a/src/main/java/com/datadoghq/trace/impl/DDSpan.java b/src/main/java/com/datadoghq/trace/impl/DDSpan.java index f5cfc3da6e..8069b67cae 100644 --- a/src/main/java/com/datadoghq/trace/impl/DDSpan.java +++ b/src/main/java/com/datadoghq/trace/impl/DDSpan.java @@ -15,7 +15,7 @@ import io.opentracing.SpanContext; public class DDSpan implements io.opentracing.Span { - protected final DDTracer tracer; + protected final DDTracer tracer; protected String operationName; protected Map tags; protected long startTimeNano; @@ -190,4 +190,34 @@ public class DDSpan implements io.opentracing.Span { public List getTrace() { return trace; } + + @Override + public String toString() { + return context.toString(); + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((context == null) ? 0 : context.hashCode()); + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + DDSpan other = (DDSpan) obj; + if (context == null) { + if (other.context != null) + return false; + } else if (!context.equals(other.context)) + return false; + return true; + } } diff --git a/src/main/java/com/datadoghq/trace/impl/DDSpanContext.java b/src/main/java/com/datadoghq/trace/impl/DDSpanContext.java index f8c5186cd8..7115bc462b 100644 --- a/src/main/java/com/datadoghq/trace/impl/DDSpanContext.java +++ b/src/main/java/com/datadoghq/trace/impl/DDSpanContext.java @@ -110,4 +110,38 @@ public class DDSpanContext implements io.opentracing.SpanContext { public Map getBaggageItems() { return baggageItems; } + + + + @Override + public String toString() { + return "DDSpanContext [traceId=" + traceId + + ", spanId=" + spanId + + ", parentId=" + parentId +"]"; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + (int) (spanId ^ (spanId >>> 32)); + result = prime * result + (int) (traceId ^ (traceId >>> 32)); + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + DDSpanContext other = (DDSpanContext) obj; + if (spanId != other.spanId) + return false; + if (traceId != other.traceId) + return false; + return true; + } }