package org.skywalking.apm.toolkit.opentracing;
import io.opentracing.Span;
import io.opentracing.SpanContext;
import java.util.HashMap;
import java.util.Map;
/**
* Created by wusheng on 2016/12/20.
*/
public class SkyWalkingSpan implements Span, SpanContext {
private String operationName;
private long startTime;
private Map<String, String> tags;
private final Map<String, String> baggageItems;
SkyWalkingSpan(String operationName, long startTime, Map<String, String> tags) {
this.operationName = operationName;
this.startTime = startTime;
this.tags = tags;
baggageItems = new HashMap<String, String>();
}
@Override
public SpanContext context() {
return this;
}
@Override
public void finish() {
}
@Override
public void finish(long finishMicros) {
}
@Override
public void close() {
}
@Override
public Span setTag(String key, String value) {
return this;
}
@Override
public Span setTag(String key, boolean value) {
return this;
}
@Override
public Span setTag(String key, Number value) {
return this;
}
@Override
public Span log(Map<String, ?> fields) {
return this;
}
@Override
public Span log(long timestampMicroseconds, Map<String, ?> fields) {
return this;
}
@Override
public Span log(String event) {
return this;
}
@Override
public Span log(long timestampMicroseconds, String event) {
return this;
}
@Override
public Span setBaggageItem(String key, String value) {
baggageItems.put(key, value);
return this;
}
@Override
public String getBaggageItem(String key) {
return baggageItems.get(key);
}
@Override
public Span setOperationName(String operationName) {
return this;
}
@Override
public Span log(String eventName, Object payload) {
return this;
}
@Override
public Span log(long timestampMicroseconds, String eventName, Object payload) {
return this;
}
@Override
public Iterable<Map.Entry<String, String>> baggageItems() {
return baggageItems.entrySet();
}
}