diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/span/persistence/SpanSearchWithIdTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/span/persistence/SpanSearchWithIdTestCase.java index f6969cf53feb9e84264714ca4dede4c6a653cbb4..90bbf94e6a87b85f9dbc7718c88ef6bc4fa68826 100644 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/span/persistence/SpanSearchWithIdTestCase.java +++ b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/span/persistence/SpanSearchWithIdTestCase.java @@ -18,7 +18,6 @@ import org.skywalking.apm.collector.worker.Const; import org.skywalking.apm.collector.worker.segment.SegmentIndex; import org.skywalking.apm.collector.worker.segment.mock.SegmentMock; import org.skywalking.apm.collector.worker.storage.GetResponseFromEs; -import org.skywalking.apm.agent.core.context.trace.Span; import org.skywalking.apm.agent.core.context.trace.TraceSegment; import java.util.TimeZone; diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/client/CollectorClient.java b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/client/CollectorClient.java index 6b5fc05fa7e24ca0bdc0fb746b0507535f91ef08..11fa6d713969cc4f231459d003b6ca845a5eb32f 100644 --- a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/client/CollectorClient.java +++ b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/client/CollectorClient.java @@ -10,7 +10,6 @@ import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.skywalking.apm.agent.core.boot.ServiceManager; import org.skywalking.apm.agent.core.conf.Config; -import org.skywalking.apm.agent.core.context.trace.SegmentsMessage; import org.skywalking.apm.agent.core.context.trace.TraceSegment; import org.skywalking.apm.agent.core.queue.TraceSegmentProcessQueue; import org.skywalking.apm.logging.ILog; diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/AbstractTracerContext.java b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/AbstractTracerContext.java index 1adc79002c008be53f82c57ebbe98e93cfebfbd0..4b1c19bdeffbbeb16beb7ee08bb2ccd44127146e 100644 --- a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/AbstractTracerContext.java +++ b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/AbstractTracerContext.java @@ -1,6 +1,7 @@ package org.skywalking.apm.agent.core.context; import org.skywalking.apm.agent.core.context.trace.AbstractSpan; +import org.skywalking.apm.agent.core.context.trace.SpanType; /** * The AbstractTracerContext represents the tracer context manager. @@ -14,15 +15,11 @@ public interface AbstractTracerContext { String getGlobalTraceId(); - AbstractSpan createSpan(String operationName, boolean isLeaf); - - AbstractSpan createSpan(String operationName, long startTime, boolean isLeaf); + AbstractSpan createSpan(String operationName, SpanType spanType); AbstractSpan activeSpan(); void stopSpan(AbstractSpan span); - void stopSpan(AbstractSpan span, Long endTime); - void dispose(); } diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/ContextCarrier.java b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/ContextCarrier.java index a8fb8dfb86da0acc43dbf94763f26ab014daaf10..25d576f8efddb5d8dd1210b3ee68939a244f9b46 100644 --- a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/ContextCarrier.java +++ b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/ContextCarrier.java @@ -5,7 +5,6 @@ import java.util.LinkedList; import java.util.List; import org.skywalking.apm.agent.core.context.ids.DistributedTraceId; import org.skywalking.apm.agent.core.context.ids.PropagatedTraceId; -import org.skywalking.apm.agent.core.context.trace.Span; import org.skywalking.apm.agent.core.context.trace.TraceSegment; import org.skywalking.apm.util.StringUtil; diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/TracerContext.java b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/TracerContext.java index be3aebd4e9ab36d84e0e2fa2f9a19f4254686c3a..bfd85ec228854d6d709dab0d209939468b6eb2d9 100644 --- a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/TracerContext.java +++ b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/TracerContext.java @@ -5,8 +5,6 @@ import java.util.List; import org.skywalking.apm.agent.core.boot.ServiceManager; import org.skywalking.apm.agent.core.conf.Config; import org.skywalking.apm.agent.core.context.trace.AbstractSpan; -import org.skywalking.apm.agent.core.context.trace.LeafSpan; -import org.skywalking.apm.agent.core.context.trace.Span; import org.skywalking.apm.agent.core.context.trace.TraceSegment; import org.skywalking.apm.agent.core.context.trace.TraceSegmentRef; import org.skywalking.apm.agent.core.sampling.SamplingService; diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/TracingContext.java b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/TracingContext.java new file mode 100644 index 0000000000000000000000000000000000000000..c06ddd15716b6c78390f3074ff46a7aedcb096e8 --- /dev/null +++ b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/TracingContext.java @@ -0,0 +1,100 @@ +package org.skywalking.apm.agent.core.context; + +import java.util.LinkedList; +import org.skywalking.apm.agent.core.boot.ServiceManager; +import org.skywalking.apm.agent.core.conf.Config; +import org.skywalking.apm.agent.core.context.trace.AbstractSpan; +import org.skywalking.apm.agent.core.context.trace.AbstractTracingSpan; +import org.skywalking.apm.agent.core.context.trace.SpanType; +import org.skywalking.apm.agent.core.context.trace.TraceSegment; +import org.skywalking.apm.agent.core.dictionary.DictionaryManager; +import org.skywalking.apm.agent.core.sampling.SamplingService; + +/** + * @author wusheng + */ +public class TracingContext implements AbstractTracerContext { + private SamplingService samplingService; + + private TraceSegment segment; + + /** + * Active spans stored in a Stack, usually called 'ActiveSpanStack'. + * This {@link LinkedList} is the in-memory storage-structure. + *

+ * I use {@link LinkedList#removeLast()}, {@link LinkedList#addLast(Object)} and {@link LinkedList#last} instead of + * {@link #pop()}, {@link #push(AbstractTracingSpan)}, {@link #peek()} + */ + private LinkedList activeSpanStack = new LinkedList(); + + private int spanIdGenerator; + + TracingContext() { + this.segment = new TraceSegment(DictionaryManager.getApplicationDictionary().findId(Config.Agent.APPLICATION_CODE)); + this.spanIdGenerator = 0; + if (samplingService == null) { + samplingService = ServiceManager.INSTANCE.findService(SamplingService.class); + } + } + + @Override + public void inject(ContextCarrier carrier) { + + } + + @Override + public void extract(ContextCarrier carrier) { + + } + + @Override + public String getGlobalTraceId() { + return null; + } + + @Override + public AbstractSpan createSpan(String operationName, SpanType spanType) { + return null; + } + + @Override + public AbstractSpan activeSpan() { + return null; + } + + @Override + public void stopSpan(AbstractSpan span) { + + } + + @Override + public void dispose() { + + } + + /** + * @return the top element of 'ActiveSpanStack', and remove it. + */ + private AbstractTracingSpan pop() { + return activeSpanStack.removeLast(); + } + + /** + * Add a new Span at the top of 'ActiveSpanStack' + * + * @param span + */ + private void push(AbstractTracingSpan span) { + activeSpanStack.addLast(span); + } + + /** + * @return the top element of 'ActiveSpanStack' only. + */ + private AbstractTracingSpan peek() { + if (activeSpanStack.isEmpty()) { + return null; + } + return activeSpanStack.getLast(); + } +} diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/tag/AbstractTag.java b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/tag/AbstractTag.java index 518e6e2ae0c5dafdbed490b61e1e60f6e1c3c9f2..7c40949e527c6e26bd35b401934b9c2bdac1fd7e 100644 --- a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/tag/AbstractTag.java +++ b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/tag/AbstractTag.java @@ -1,7 +1,6 @@ package org.skywalking.apm.agent.core.context.tag; import org.skywalking.apm.agent.core.context.trace.AbstractSpan; -import org.skywalking.apm.agent.core.context.trace.Span; /** * This is the abstract tag. diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/AbstractSpan.java b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/AbstractSpan.java index 73697705f84d47ab87bc1489c52f3173c38762c0..e5e936cc1cae4f3d4cecb3af28145054cece1754 100644 --- a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/AbstractSpan.java +++ b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/AbstractSpan.java @@ -1,6 +1,9 @@ package org.skywalking.apm.agent.core.context.trace; -import java.util.Map; +import java.util.LinkedList; +import java.util.List; +import org.skywalking.apm.agent.core.context.util.KeyValuePair; +import org.skywalking.apm.agent.core.context.util.ThrowableTransformer; /** * The AbstractSpan represents the span's skeleton, @@ -8,24 +11,70 @@ import java.util.Map; * * @author wusheng */ -public interface AbstractSpan { - AbstractSpan setOperationName(String operationName); +public abstract class AbstractSpan { + protected String operationName; + /** + * The start time of this Span. + */ + protected long startTime; + /** + * The end time of this Span. + */ + protected long endTime; - void setPeerHost(String peerHost); + /** + * Log is a concept from OpenTracing spec. + *

+ * {@see https://github.com/opentracing/specification/blob/master/specification.md#log-structured-data} + */ + protected List logs; - void setPort(int port); + protected AbstractSpan(String operationName) { + this.operationName = operationName; + } - void setPeers(String peers); + public void start() { + this.startTime = System.currentTimeMillis(); + } - AbstractSpan setTag(String key, String value); + /** + * Set a key:value tag on the Span. + * + * @return this Span instance, for chaining + */ + public abstract AbstractSpan tag(String key, String value); - AbstractSpan setTag(String key, boolean value); + /** + * Record an exception event of the current walltime timestamp. + * + * @param t any subclass of {@link Throwable}, which occurs in this span. + * @return the Span, for chaining + */ + public AbstractSpan log(Throwable t) { + if (logs == null) { + logs = new LinkedList(); + } + logs.add(new LogDataEntity.Builder() + .add(new KeyValuePair("event", "error")) + .add(new KeyValuePair("error.kind", t.getClass().getName())) + .add(new KeyValuePair("message", t.getMessage())) + .add(new KeyValuePair("stack", ThrowableTransformer.INSTANCE.convert2String(t, 4000))) + .build()); + return this; + } - AbstractSpan setTag(String key, Integer value); + /** + * @return true if the actual span is an entry span. + */ + public abstract boolean isEntry(); - AbstractSpan log(Map fields); + /** + * @return true if the actual span is a local span. + */ + public abstract boolean isLocal(); - AbstractSpan log(Throwable t); - - AbstractSpan log(String event); + /** + * @return true if the actual span is an exit span. + */ + public abstract boolean isExit(); } diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/AbstractTracingSpan.java b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/AbstractTracingSpan.java new file mode 100644 index 0000000000000000000000000000000000000000..858593559cccb32da7dabb5e3df041194a99c14b --- /dev/null +++ b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/AbstractTracingSpan.java @@ -0,0 +1,43 @@ +package org.skywalking.apm.agent.core.context.trace; + +import java.util.LinkedList; +import java.util.List; +import org.skywalking.apm.agent.core.context.util.KeyValuePair; + +/** + * The AbstractTracingSpan represents a group of {@link AbstractSpan} implementations, + * which belongs a real distributed trace. + * + * @author wusheng + */ +public abstract class AbstractTracingSpan extends AbstractSpan { + protected int spanId; + protected int parentSpanId; + protected List tags; + + protected AbstractTracingSpan(int spanId, int parentSpanId, String operationName) { + super(operationName); + this.spanId = spanId; + this.parentSpanId = parentSpanId; + } + + @Override + public AbstractTracingSpan tag(String key, String value) { + if (tags == null) { + tags = new LinkedList(); + } + tags.add(new KeyValuePair(key, value)); + return this; + } + + /** + * Finish the active Span. + * When it is finished, it will be archived by the given {@link TraceSegment}, which owners it. + * + * @param owner of the Span. + */ + public void finish(TraceSegment owner) { + this.endTime = System.currentTimeMillis(); + owner.archive(this); + } +} diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/EntrySpan.java b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/EntrySpan.java new file mode 100644 index 0000000000000000000000000000000000000000..204b3cd1beeb5432fb16aa0410ce8e27fa7f9d17 --- /dev/null +++ b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/EntrySpan.java @@ -0,0 +1,69 @@ +package org.skywalking.apm.agent.core.context.trace; + +/** + * The EntrySpan represents a service provider point, such as Tomcat server entrance. + * + * It is a start point of {@link TraceSegment}, even in a complex application, there maybe have multi entry point, + * the EntrySpan only represents the first one. + * + * But with the last EntrySpan's tags and logs, which have more details about a service provider. + * + * @author wusheng + */ +public class EntrySpan extends AbstractTracingSpan { + private int stackDepth; + + public EntrySpan(int spanId, int parentSpanId, String operationName) { + super(spanId, parentSpanId, operationName); + this.stackDepth = 0; + } + + /** + * Set the {@link #startTime}, when the first start, which means the first service provided. + */ + @Override + public void start() { + if (++stackDepth == 1) { + super.start(); + } + clearWhenRestart(); + } + + @Override + public EntrySpan tag(String key, String value) { + if (stackDepth == 1) { + super.tag(key, value); + } + return this; + } + + @Override + public void finish(TraceSegment owner) { + if (--stackDepth == 0) { + super.finish(owner); + } + } + + @Override + public EntrySpan log(Throwable t) { + super.log(t); + return this; + } + + @Override public boolean isEntry() { + return true; + } + + @Override public boolean isLocal() { + return false; + } + + @Override public boolean isExit() { + return false; + } + + private void clearWhenRestart() { + this.logs = null; + this.tags = null; + } +} diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/ExitSpan.java b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/ExitSpan.java new file mode 100644 index 0000000000000000000000000000000000000000..e9d554580ff37652302bcab71499943fdcedbf1e --- /dev/null +++ b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/ExitSpan.java @@ -0,0 +1,67 @@ +package org.skywalking.apm.agent.core.context.trace; + +/** + * The ExitSpan represents a service consumer point, such as Feign, Okhttp client for a Http service. + * + * It is an exit point or a leaf span(our old name) of trace tree. + * In a single rpc call, because of a combination of client libs, there maybe contain multi exit point. + * + * The ExitSpan only presents the first one. + * + * @author wusheng + */ +public class ExitSpan extends AbstractTracingSpan { + private int stackDepth; + private String peerPoint; + + public ExitSpan(int spanId, int parentSpanId, String operationName, String peerPoint) { + super(spanId, parentSpanId, operationName); + this.stackDepth = 0; + this.peerPoint = peerPoint; + } + + /** + * Set the {@link #startTime}, when the first start, which means the first service provided. + */ + @Override + public void start() { + if (++stackDepth == 1) { + super.start(); + } + } + + @Override + public ExitSpan tag(String key, String value) { + if (stackDepth == 1) { + super.tag(key, value); + } + return this; + } + + @Override + public void finish(TraceSegment owner) { + if (--stackDepth == 0) { + super.finish(owner); + } + } + + @Override + public ExitSpan log(Throwable t) { + if (stackDepth == 1) { + super.log(t); + } + return this; + } + + @Override public boolean isEntry() { + return false; + } + + @Override public boolean isLocal() { + return false; + } + + @Override public boolean isExit() { + return true; + } +} diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/LeafSpan.java b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/LeafSpan.java deleted file mode 100644 index 0d102e952a91a6edd38fadceaf4918bb4a24221f..0000000000000000000000000000000000000000 --- a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/LeafSpan.java +++ /dev/null @@ -1,106 +0,0 @@ -package org.skywalking.apm.agent.core.context.trace; - - -/** - * LeafSpan is a special type of {@link Span} - * - * In rpc-client tracing scenario, one component could constitute by many other rpc-client. - * e.g Feign constitutes by okhttp, apache httpclient, etc. - * - * By having leaf concept, no need so many spans for single rpc call. - * - * @author wusheng - */ -public class LeafSpan extends Span { - private int stackDepth = 0; - - /** - * Create a new span, by given span id and give startTime but no parent span id, - * No parent span id means that, this Span is the first span of the {@link TraceSegment} - * - * @param spanId given by the creator, and must be unique id in the {@link TraceSegment} - * @param operationName {@link #operationName} - * @param startTime given start time of span - */ - public LeafSpan(int spanId, String operationName, long startTime) { - super(spanId, -1, operationName, startTime); - } - - /** - * Create a new span, by given span id, parent span, operationName and startTime. - * This span must belong a {@link TraceSegment}, also is a part of Distributed Trace. - * - * @param spanId given by the creator, and must be unique id in the {@link TraceSegment} - * @param parentSpan {@link Span} - * @param operationName {@link #operationName} - * @param startTime given start timestamp - */ - public LeafSpan(int spanId, Span parentSpan, String operationName, long startTime) { - super(spanId, parentSpan.getSpanId(), operationName, startTime); - } - - public void push() { - stackDepth++; - } - - public void pop() { - stackDepth--; - } - - public boolean isFinished() { - return stackDepth == 0; - } - - @Override - public boolean isLeaf() { - return true; - } - - private boolean isInOwnerContext() { - return stackDepth == 1; - } - - /** - * Sets the string name for the logical operation this span represents, - * only when this is in context of the leaf span owner. - * - * @return this Span instance, for chaining - */ - @Override - public Span setOperationName(String operationName) { - if (isInOwnerContext()) { - super.setOperationName(operationName); - } - return this; - } - - /** - * Set a key:value tag on the Span, - * only when this is in context of the leaf span owner. - * - * @return this Span instance, for chaining - */ - @Override - public final Span setTag(String key, String value) { - if (isInOwnerContext()) { - super.setTag(key, value); - } - return this; - } - - @Override - public final Span setTag(String key, boolean value) { - if (isInOwnerContext()) { - super.setTag(key, value); - } - return this; - } - - @Override - public final Span setTag(String key, Integer value) { - if (isInOwnerContext()) { - super.setTag(key, value); - } - return this; - } -} diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/LocalSpan.java b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/LocalSpan.java new file mode 100644 index 0000000000000000000000000000000000000000..83cddb4c087c34c3d677291a6ecc1fe76858fd1d --- /dev/null +++ b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/LocalSpan.java @@ -0,0 +1,37 @@ +package org.skywalking.apm.agent.core.context.trace; + +/** + * The LocalSpan represents a normal tracing point, such as a local method. + * + * @author wusheng + */ +public class LocalSpan extends AbstractTracingSpan { + + public LocalSpan(int spanId, int parentSpanId, String operationName) { + super(spanId, parentSpanId, operationName); + } + + @Override + public LocalSpan tag(String key, String value) { + super.tag(key, value); + return this; + } + + @Override + public LocalSpan log(Throwable t) { + super.log(t); + return this; + } + + @Override public boolean isEntry() { + return false; + } + + @Override public boolean isLocal() { + return true; + } + + @Override public boolean isExit() { + return false; + } +} diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/LogData.java b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/LogData.java deleted file mode 100644 index 3e9fd6b0167bb7549c8d1ba4b5f7e2b387d3d794..0000000000000000000000000000000000000000 --- a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/LogData.java +++ /dev/null @@ -1,41 +0,0 @@ -package org.skywalking.apm.agent.core.context.trace; - -import com.google.gson.annotations.Expose; -import com.google.gson.annotations.SerializedName; -import java.util.Collections; -import java.util.Map; - -/** - * It is a holder of one log record. - *

- * Created by wusheng on 2017/2/17. - */ -public class LogData { - @Expose - @SerializedName(value = "tm") - private long time; - - @Expose - @SerializedName(value = "fi") - private Map fields; - - LogData(long time, Map fields) { - this.time = time; - if (fields == null) { - throw new NullPointerException(); - } - this.fields = fields; - } - - public LogData() { - } - - public long getTime() { - return time; - } - - public Map getFields() { - return Collections.unmodifiableMap(fields); - } - -} diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/LogDataEntity.java b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/LogDataEntity.java new file mode 100644 index 0000000000000000000000000000000000000000..6a1eedb976560fb2288039fa97e2f5e5ac5bb373 --- /dev/null +++ b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/LogDataEntity.java @@ -0,0 +1,42 @@ +package org.skywalking.apm.agent.core.context.trace; + +import java.util.LinkedList; +import java.util.List; +import org.skywalking.apm.agent.core.context.util.KeyValuePair; + +/** + * The LogDataEntity represents a collection of {@link KeyValuePair}, + * contains several fields of a logging operation. + * + * @author wusheng + */ +public class LogDataEntity { + protected List logs; + + private LogDataEntity(List logs) { + this.logs = logs; + } + + public List getLogs() { + return logs; + } + + public static class Builder { + protected List logs; + + public Builder() { + logs = new LinkedList(); + } + + public Builder add(KeyValuePair... fields){ + for (KeyValuePair field : fields) { + logs.add(field); + } + return this; + } + + public LogDataEntity build(){ + return new LogDataEntity(logs); + } + } +} diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/NoopSpan.java b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/NoopSpan.java index 45995108600416cf18aedd51d38ebf65db8629df..7e538bb6273fbdc62458a55313e7efa92dd96046 100644 --- a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/NoopSpan.java +++ b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/NoopSpan.java @@ -1,6 +1,5 @@ package org.skywalking.apm.agent.core.context.trace; -import java.util.Map; import org.skywalking.apm.agent.core.context.IgnoredTracerContext; /** @@ -9,55 +8,39 @@ import org.skywalking.apm.agent.core.context.IgnoredTracerContext; * * @author wusheng */ -public class NoopSpan implements AbstractSpan { - @Override - public AbstractSpan setOperationName(String operationName) { - return this; - } - - @Override - public void setPeerHost(String peerHost) { - +public class NoopSpan extends AbstractSpan { + public NoopSpan() { + super(null); } @Override - public void setPort(int port) { - + public void start() { + super.start(); } @Override - public void setPeers(String peers) { - + public AbstractSpan log(Throwable t) { + return super.log(t); } - @Override - public AbstractSpan setTag(String key, String value) { - return this; - } + public void finish(){ - @Override - public AbstractSpan setTag(String key, boolean value) { - return this; } @Override - public AbstractSpan setTag(String key, Integer value) { - return this; + public AbstractSpan tag(String key, String value) { + return null; } - @Override - public AbstractSpan log(Map fields) { - return this; + @Override public boolean isEntry() { + return false; } - @Override - public AbstractSpan log(Throwable t) { - return this; + @Override public boolean isLocal() { + return false; } - @Override - public AbstractSpan log(String event) { - return this; + @Override public boolean isExit() { + return false; } - } diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/SegmentsMessage.java b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/SegmentsMessage.java deleted file mode 100644 index d08fae7ce7e8967235d0b4711de1c1ea47feb8dd..0000000000000000000000000000000000000000 --- a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/SegmentsMessage.java +++ /dev/null @@ -1,48 +0,0 @@ -package org.skywalking.apm.agent.core.context.trace; - -import com.google.gson.Gson; -import java.util.Collections; -import java.util.LinkedList; -import java.util.List; - -/** - * The SegmentsMessage is a set of {@link TraceSegment}, - * this set provides a container, when several {@link TraceSegment}s are going to uplink to server. - * - * @author wusheng - */ -public class SegmentsMessage { - private List segments; - - public SegmentsMessage() { - segments = new LinkedList(); - } - - public void append(TraceSegment segment) { - this.segments.add(segment); - } - - public List getSegments() { - return Collections.unmodifiableList(segments); - } - - /** - * This serialization mechanism started from 3.1, it is similar to network package. - * The data protocol is - * - * segment1.json.length + ' '(one blank space) + segment1.json - * + segment2.json.length + ' '(one blank space) + segment2.json - * + etc. - * - * @param gson the serializer for {@link TraceSegment} - * @return the string represents the SegmentMessage - */ - public String serialize(Gson gson) { - StringBuilder buffer = new StringBuilder(); - for (TraceSegment segment : segments) { - String segmentJson = gson.toJson(segment); - buffer.append(segmentJson.length()).append(' ').append(segmentJson); - } - return buffer.toString(); - } -} diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/Span.java b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/Span.java deleted file mode 100644 index 28f32f6acacd4a543eb1e56bfeef7836a7d9ae61..0000000000000000000000000000000000000000 --- a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/Span.java +++ /dev/null @@ -1,416 +0,0 @@ -package org.skywalking.apm.agent.core.context.trace; - -import com.google.gson.Gson; -import com.google.gson.GsonBuilder; -import com.google.gson.JsonObject; -import com.google.gson.TypeAdapter; -import com.google.gson.annotations.JsonAdapter; -import com.google.gson.stream.JsonReader; -import com.google.gson.stream.JsonWriter; -import java.io.IOException; -import java.util.Collections; -import java.util.HashMap; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import org.skywalking.apm.agent.core.context.tag.BooleanTagItem; -import org.skywalking.apm.agent.core.context.tag.IntTagItem; -import org.skywalking.apm.agent.core.context.tag.StringTagItem; -import org.skywalking.apm.agent.core.context.util.ThrowableTransformer; -import org.skywalking.apm.util.StringUtil; - -/** - * Span is a concept from OpenTracing Spec, also from Google Dapper Paper. - * Traces in OpenTracing are defined implicitly by their Spans. - *

- * Know more things about span concept: - * {@see https://github.com/opentracing/specification/blob/master/specification.md#the-opentracing-data-model} - *

- * Created by wusheng on 2017/2/17. - */ -@JsonAdapter(Span.Serializer.class) -public class Span implements AbstractSpan { - private static Gson SERIALIZATION_GSON = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create(); - - private int spanId; - private int parentSpanId; - - /** - * The start time of this Span. - */ - private long startTime; - - /** - * The end time of this Span. - */ - private long endTime; - - /** - * The operation name ot this Span. - * If you want to know, how to set an operation name, - * {@see https://github.com/opentracing/specification/blob/master/specification.md#start-a-new-span} - */ - private String operationName; - - /** - * {@link #peerHost}, {@link #port} and {@link #peers} were part of tags, - * independence them from tags for better performance and gc. - */ - private String peerHost; - - private int port; - - private String peers; - - /** - * Tag is a concept from OpenTracing spec. - *

- * {@see https://github.com/opentracing/specification/blob/master/specification.md#set-a-span-tag} - */ - private List tagsWithStr; - - private List tagsWithBool; - - private List tagsWithInt; - - /** - * Log is a concept from OpenTracing spec. - *

- * {@see https://github.com/opentracing/specification/blob/master/specification.md#log-structured-data} - */ - private List logs; - - /** - * Create a new span, by given span id, parent span id and operationName. - * This span must belong a {@link TraceSegment}, also is a part of Distributed Trace. - * - * @param spanId given by the creator, and must be unique id in the {@link TraceSegment} - * @param parentSpanId given by the creator, and must be an existed span id in the {@link TraceSegment}. Value -1 - * means no parent span if this {@link TraceSegment}. - * @param operationName {@link #operationName} - */ - protected Span(int spanId, int parentSpanId, String operationName) { - this(spanId, parentSpanId, operationName, System.currentTimeMillis()); - } - - /** - * Create a new span, by given span id, parent span id, operationName and startTime. - * This span must belong a {@link TraceSegment}, also is a part of Distributed Trace. - * - * @param spanId given by the creator, and must be unique id in the {@link TraceSegment} - * @param parentSpanId given by the creator, and must be an existed span id in the {@link TraceSegment}. Value -1 - * means no parent span if this {@link TraceSegment}. - * @param operationName {@link #operationName} - * @param startTime given start timestamp. - */ - protected Span(int spanId, int parentSpanId, String operationName, long startTime) { - this(); - this.spanId = spanId; - this.parentSpanId = parentSpanId; - this.startTime = startTime; - this.setOperationName(operationName); - } - - /** - * Create a new span, by given span id and no parent span id. - * No parent span id means that, this Span is the first span of the {@link TraceSegment} - * - * @param spanId given by the creator, and must be unique id in the {@link TraceSegment} - * @param operationName {@link #operationName} - */ - public Span(int spanId, String operationName) { - this(spanId, -1, operationName); - } - - /** - * Create a new span, by given span id and give startTime but no parent span id, - * No parent span id means that, this Span is the first span of the {@link TraceSegment} - * - * @param spanId given by the creator, and must be unique id in the {@link TraceSegment} - * @param operationName {@link #operationName} - * @param startTime given start time of span - */ - public Span(int spanId, String operationName, long startTime) { - this(spanId, -1, operationName, startTime); - } - - /** - * Create a new span, by given span id and given parent {@link Span}. - * - * @param spanId given by the creator, and must be unique id in the {@link TraceSegment} - * @param parentSpan {@link Span} - * @param operationName {@link #operationName} - */ - public Span(int spanId, Span parentSpan, String operationName) { - this(spanId, parentSpan.spanId, operationName, System.currentTimeMillis()); - } - - /** - * Create a new span, by given span id, parent span, operationName and startTime. - * This span must belong a {@link TraceSegment}, also is a part of Distributed Trace. - * - * @param spanId given by the creator, and must be unique id in the {@link TraceSegment} - * @param parentSpan {@link Span} - * @param operationName {@link #operationName} - * @param startTime given start timestamp - */ - public Span(int spanId, Span parentSpan, String operationName, long startTime) { - this(spanId, parentSpan.spanId, operationName, startTime); - } - - /** - * Create a new/empty span. - */ - public Span() { - } - - /** - * Finish the active Span. - * When it is finished, it will be archived by the given {@link TraceSegment}, which owners it. - * - * @param owner of the Span. - */ - public void finish(TraceSegment owner) { - this.finish(owner, System.currentTimeMillis()); - } - - /** - * Finish the active Span. - * When it is finished, it will be archived by the given {@link TraceSegment}, which owners it. - * At the same out, set the {@link #endTime} as the given endTime - * - * @param owner of the Span. - * @param endTime of the Span. - */ - public void finish(TraceSegment owner, long endTime) { - this.endTime = endTime; - owner.archive(this); - } - - /** - * Set the string name for the logical operation this span represents. - * - * @return this Span instance, for chaining - */ - public AbstractSpan setOperationName(String operationName) { - this.operationName = operationName; - return this; - } - - /** - * Set a key:value tag on the Span. - * - * @return this Span instance, for chaining - */ - public Span setTag(String key, String value) { - if (tagsWithStr == null) { - tagsWithStr = new LinkedList(); - } - tagsWithStr.add(new StringTagItem(key, value)); - return this; - } - - public Span setTag(String key, boolean value) { - if (tagsWithBool == null) { - tagsWithBool = new LinkedList(); - } - tagsWithBool.add(new BooleanTagItem(key, value)); - return this; - } - - public Span setTag(String key, Integer value) { - if (tagsWithInt == null) { - tagsWithInt = new LinkedList(); - } - tagsWithInt.add(new IntTagItem(key, value)); - return this; - } - - /** - * This method is from opentracing-java. {@see https://github.com/opentracing/opentracing-java/blob/release-0.20.9/opentracing-api/src/main/java/io/opentracing/Span.java#L91} - *

Log key:value pairs to the Span with the current walltime timestamp.

CAUTIONARY NOTE: - * not all Tracer implementations support key:value log fields end-to-end. Caveat emptor.

A contrived example - * (using Guava, which is not required): - *

{@code
-     * span.log(
-     * ImmutableMap.Builder()
-     * .put("event", "soft error")
-     * .put("type", "cache timeout")
-     * .put("waited.millis", 1500)
-     * .build());
-     * }
- * - * @param fields key:value log fields. Tracer implementations should support String, numeric, and boolean values; - * some may also support arbitrary Objects. - * @return the Span, for chaining - * @see Span#log(String) - */ - public Span log(Map fields) { - if (logs == null) { - logs = new LinkedList(); - } - logs.add(new LogData(System.currentTimeMillis(), fields)); - return this; - } - - /** - * Record an exception event of the current walltime timestamp. - * - * @param t any subclass of {@link Throwable}, which occurs in this span. - * @return the Span, for chaining - */ - public Span log(Throwable t) { - Map exceptionFields = new HashMap(); - exceptionFields.put("event", "error"); - exceptionFields.put("error.kind", t.getClass().getName()); - exceptionFields.put("message", t.getMessage()); - exceptionFields.put("stack", ThrowableTransformer.INSTANCE.convert2String(t, 4000)); - - return log(exceptionFields); - } - - /** - * This method is from opentracing-java. {@see https://github.com/opentracing/opentracing-java/blob/release-0.20.9/opentracing-api/src/main/java/io/opentracing/Span.java#L120} - *

Record an event at the current walltime timestamp.

Shorthand for

- *

{@code
-     * span.log(Collections.singletonMap("event", event));
-     * }
- * - * @param event the event value; often a stable identifier for a moment in the Span lifecycle - * @return the Span, for chaining - */ - public Span log(String event) { - log(Collections.singletonMap("event", event)); - return this; - } - - public int getSpanId() { - return spanId; - } - - public int getParentSpanId() { - return parentSpanId; - } - - public long getStartTime() { - return startTime; - } - - public long getEndTime() { - return endTime; - } - - public String getOperationName() { - return operationName; - } - - public boolean isLeaf() { - return false; - } - - public String getPeerHost() { - return peerHost; - } - - public int getPort() { - return port; - } - - public String getPeers() { - return peers; - } - - public void setPeerHost(String peerHost) { - this.peerHost = peerHost; - } - - public void setPort(int port) { - this.port = port; - } - - public void setPeers(String peers) { - this.peers = peers; - } - - @Override - public String toString() { - return "Span{" + - "spanId=" + spanId + - ", parentSpanId=" + parentSpanId + - ", startTime=" + startTime + - ", operationName='" + operationName + '\'' + - '}'; - } - - public static class Serializer extends TypeAdapter { - @Override - public void write(JsonWriter out, Span span) throws IOException { - out.beginObject(); - out.name("si").value(span.spanId); - out.name("ps").value(span.parentSpanId); - out.name("st").value(span.startTime); - out.name("et").value(span.endTime); - out.name("on").value(span.operationName); - - this.writeTags(out, span); - - if (span.logs != null) { - out.name("logs").jsonValue(SERIALIZATION_GSON.toJson(span.logs)); - } - - out.endObject(); - } - - public void writeTags(JsonWriter out, Span span) throws IOException { - JsonObject tagWithStr = null; - JsonObject tagWithInt = null; - JsonObject tagWithBool = null; - if (!StringUtil.isEmpty(span.peerHost)) { - tagWithStr = new JsonObject(); - tagWithStr.addProperty("peer.host", span.peerHost); - tagWithInt = new JsonObject(); - tagWithInt.addProperty("peer.port", span.port); - } else if (!StringUtil.isEmpty(span.peers)) { - tagWithStr = new JsonObject(); - tagWithStr.addProperty("peers", span.peers); - } else if (span.tagsWithStr != null) { - tagWithStr = new JsonObject(); - } - - if (span.tagsWithStr != null) { - for (StringTagItem item : span.tagsWithStr) { - tagWithStr.addProperty(item.getKey(), item.getValue()); - } - } - if (span.tagsWithInt != null) { - if (tagWithInt != null) { - tagWithInt = new JsonObject(); - } - for (IntTagItem item : span.tagsWithInt) { - tagWithInt.addProperty(item.getKey(), item.getValue()); - } - } - if (span.tagsWithBool != null) { - tagWithBool = new JsonObject(); - for (BooleanTagItem item : span.tagsWithBool) { - tagWithBool.addProperty(item.getKey(), item.getValue()); - } - } - - if (tagWithStr != null) { - out.name("ts").jsonValue(tagWithStr.toString()); - } - if (tagWithInt != null) { - out.name("ti").jsonValue(tagWithInt.toString()); - } - if (tagWithBool != null) { - out.name("tb").jsonValue(tagWithBool.toString()); - } - } - - @Override - public Span read(JsonReader in) throws IOException { - throw new IOException("Can't deserialize span at agent side for performance consideration"); - } - } -} diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/SpanType.java b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/SpanType.java new file mode 100644 index 0000000000000000000000000000000000000000..ec13a4a1d38d63a77902cfb1cc531aea37e65db1 --- /dev/null +++ b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/SpanType.java @@ -0,0 +1,10 @@ +package org.skywalking.apm.agent.core.context.trace; + +/** + * @author wusheng + */ +public enum SpanType { + ENTRY, + EXIT, + LOCAL; +} diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/TraceSegment.java b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/TraceSegment.java index d54f76c916e180c103552cf7f989c0fbead81082..daefba54c6abf603db8839b1690fdae1b7f12f23 100644 --- a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/TraceSegment.java +++ b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/TraceSegment.java @@ -1,7 +1,5 @@ package org.skywalking.apm.agent.core.context.trace; -import com.google.gson.annotations.Expose; -import com.google.gson.annotations.SerializedName; import java.util.Collections; import java.util.LinkedList; import java.util.List; @@ -26,22 +24,16 @@ public class TraceSegment { * The id of this trace segment. * Every segment has its unique-global-id. */ - @Expose - @SerializedName(value = "ts") private String traceSegmentId; /** * The start time of this trace segment. */ - @Expose - @SerializedName(value = "st") private long startTime; /** * The end time of this trace segment. */ - @Expose - @SerializedName(value = "et") private long endTime; /** @@ -50,8 +42,6 @@ public class TraceSegment { * but if this segment is a start span of batch process, the segment faces multi parents, * at this moment, we use this {@link #refs} to link them. */ - @Expose - @SerializedName(value = "rs") private List refs; /** @@ -59,19 +49,15 @@ public class TraceSegment { * They all have finished. * All active spans are hold and controlled by "skywalking-api" module. */ - @Expose - @SerializedName(value = "ss") - private List spans; + private List spans; /** - * The applicationCode represents a name of current application/JVM and indicates which is business + * The applicationId represents a name of current application/JVM and indicates which is business * role in the cluster. *

* e.g. account_app, billing_app */ - @Expose - @SerializedName(value = "ac") - private String applicationCode; + private int applicationId; /** * The relatedGlobalTraces represent a set of all related trace. Most time it contains only one @@ -86,18 +72,16 @@ public class TraceSegment { * relatedGlobalTraces targets this {@link TraceSegment}'s related call chain, a call chain contains * multi {@link TraceSegment}s, only using {@link #refs} is not enough for analysis and ui. */ - @Expose - @SerializedName(value = "gt") private DistributedTraceIds relatedGlobalTraces; private boolean ignore = false; /** - * Create a trace segment, by the given applicationCode. + * Create a trace segment, by the given applicationId. */ - public TraceSegment(String applicationCode) { + public TraceSegment(int applicationId) { this(); - this.applicationCode = applicationCode; + this.applicationId = applicationId; } /** @@ -108,7 +92,7 @@ public class TraceSegment { public TraceSegment() { this.startTime = System.currentTimeMillis(); this.traceSegmentId = GlobalIdGenerator.generate(ID_TYPE); - this.spans = new LinkedList(); + this.spans = new LinkedList(); this.relatedGlobalTraces = new DistributedTraceIds(); this.relatedGlobalTraces.append(new NewDistributedTraceId()); } @@ -142,12 +126,12 @@ public class TraceSegment { } /** - * After {@link Span} is finished, as be controller by "skywalking-api" module, + * After {@link AbstractSpan} is finished, as be controller by "skywalking-api" module, * notify the {@link TraceSegment} to archive it. * * @param finishedSpan */ - public void archive(Span finishedSpan) { + public void archive(AbstractTracingSpan finishedSpan) { spans.add(finishedSpan); } @@ -173,13 +157,6 @@ public class TraceSegment { return endTime; } - public List getRefs() { - if (refs == null) { - return null; - } - return Collections.unmodifiableList(refs); - } - public boolean hasRef() { return !(refs == null || refs.size() == 0); } @@ -192,14 +169,6 @@ public class TraceSegment { return this.spans != null && this.spans.size() == 1; } - public List getSpans() { - return Collections.unmodifiableList(spans); - } - - public String getApplicationCode() { - return applicationCode; - } - public boolean isIgnore() { return ignore; } @@ -216,7 +185,7 @@ public class TraceSegment { ", endTime=" + endTime + ", refs=" + refs + ", spans=" + spans + - ", applicationCode='" + applicationCode + '\'' + + ", applicationId='" + applicationId + '\'' + ", relatedGlobalTraces=" + relatedGlobalTraces + '}'; } diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/TraceSegmentRef.java b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/TraceSegmentRef.java index bd0ca79cbac29a03b3a300987a9f990e6bd67f8f..a9e2c7c97ca1c00fa6ff7fa5eba3a1b41be55a2a 100644 --- a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/TraceSegmentRef.java +++ b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/TraceSegmentRef.java @@ -1,9 +1,5 @@ package org.skywalking.apm.agent.core.context.trace; -import com.google.gson.annotations.Expose; -import com.google.gson.annotations.SerializedName; -import org.skywalking.apm.agent.core.context.tag.Tags; - /** * {@link TraceSegmentRef} is like a pointer, which ref to another {@link TraceSegment}, * use {@link #spanId} point to the exact span of the ref {@link TraceSegment}. @@ -14,29 +10,12 @@ public class TraceSegmentRef { /** * {@link TraceSegment#traceSegmentId} */ - @Expose - @SerializedName(value = "ts") private String traceSegmentId; - /** - * {@link Span#spanId} - */ - @Expose - @SerializedName(value = "si") private int spanId = -1; - /** - * {@link TraceSegment#applicationCode} - */ - @Expose - @SerializedName(value = "ac") private String applicationCode; - /** - * {@link Tags#PEER_HOST} - */ - @Expose - @SerializedName(value = "ph") private String peerHost; /** diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/util/KeyValuePair.java b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/util/KeyValuePair.java new file mode 100644 index 0000000000000000000000000000000000000000..6ae5ebcae8266d90590a5a4d30628fab0b534d9c --- /dev/null +++ b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/util/KeyValuePair.java @@ -0,0 +1,24 @@ +package org.skywalking.apm.agent.core.context.util; + +/** + * The KeyValuePair represents a object which contains a string key and a string value. + * + * @author wusheng + */ +public class KeyValuePair { + private String key; + private String value; + + public KeyValuePair(String key, String value) { + this.key = key; + this.value = value; + } + + public String getKey() { + return key; + } + + public String getValue() { + return value; + } +} diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/dictionary/ApplicationDictionary.java b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/dictionary/ApplicationDictionary.java new file mode 100644 index 0000000000000000000000000000000000000000..115c5ea2f49b292780faae79a009a33c1e4f53d1 --- /dev/null +++ b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/dictionary/ApplicationDictionary.java @@ -0,0 +1,14 @@ +package org.skywalking.apm.agent.core.dictionary; + +/** + * Map of application id to application code, which is from the collector side. + * + * @author wusheng + */ +public enum ApplicationDictionary { + INSTANCE; + + public int findId(String applicationCode) { + + } +} diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/dictionary/DictionaryManager.java b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/dictionary/DictionaryManager.java new file mode 100644 index 0000000000000000000000000000000000000000..81e581de55b0b8511cd1c4223c9977a5a4bc1ee4 --- /dev/null +++ b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/dictionary/DictionaryManager.java @@ -0,0 +1,13 @@ +package org.skywalking.apm.agent.core.dictionary; + +/** + * @author wusheng + */ +public class DictionaryManager { + /** + * @return {@link ApplicationDictionary} to find applicationId + */ + public static ApplicationDictionary getApplicationDictionary(){ + return ApplicationDictionary.INSTANCE; + } +} diff --git a/apm-sniffer/apm-agent-core/src/test/java/org/skywalking/apm/agent/core/context/trace/LeafSpanTestCase.java b/apm-sniffer/apm-agent-core/src/test/java/org/skywalking/apm/agent/core/context/trace/LeafSpanTestCase.java index 3ceb1b83a5a91e2f094f7e74110263db21ed7237..f79a983d0ff5fc60e7c896c0902a4e296b2df929 100644 --- a/apm-sniffer/apm-agent-core/src/test/java/org/skywalking/apm/agent/core/context/trace/LeafSpanTestCase.java +++ b/apm-sniffer/apm-agent-core/src/test/java/org/skywalking/apm/agent/core/context/trace/LeafSpanTestCase.java @@ -2,7 +2,6 @@ package org.skywalking.apm.agent.core.context.trace; import org.junit.Assert; import org.junit.Test; -import org.skywalking.apm.agent.core.context.trace.LeafSpan; import org.skywalking.apm.agent.core.tags.BooleanTagReader; import org.skywalking.apm.agent.core.tags.IntTagReader; import org.skywalking.apm.agent.core.tags.StringTagReader; diff --git a/apm-sniffer/apm-agent-core/src/test/java/org/skywalking/apm/agent/core/context/trace/SpanTestCase.java b/apm-sniffer/apm-agent-core/src/test/java/org/skywalking/apm/agent/core/context/trace/SpanTestCase.java index 8031530b3bb354bf04a6ceac7b795e74cfe00a7a..e68e8c9592bc5d4693603b301e8bfabb892d0d9e 100644 --- a/apm-sniffer/apm-agent-core/src/test/java/org/skywalking/apm/agent/core/context/trace/SpanTestCase.java +++ b/apm-sniffer/apm-agent-core/src/test/java/org/skywalking/apm/agent/core/context/trace/SpanTestCase.java @@ -6,9 +6,6 @@ import org.junit.Assert; import org.junit.Test; import org.skywalking.apm.agent.core.tags.BooleanTagReader; import org.skywalking.apm.agent.core.tags.StringTagReader; -import org.skywalking.apm.agent.core.context.trace.LogData; -import org.skywalking.apm.agent.core.context.trace.Span; -import org.skywalking.apm.agent.core.context.trace.TraceSegment; import org.skywalking.apm.agent.core.context.tag.Tags; /** diff --git a/apm-sniffer/apm-agent-core/src/test/java/org/skywalking/apm/agent/core/context/trace/TraceSegmentTestCase.java b/apm-sniffer/apm-agent-core/src/test/java/org/skywalking/apm/agent/core/context/trace/TraceSegmentTestCase.java index f0ff219005b3d87a30c9b5ff369275f4580d8e43..1b62dce9727305c8d0fdf7fe76bab4cbd478fb92 100644 --- a/apm-sniffer/apm-agent-core/src/test/java/org/skywalking/apm/agent/core/context/trace/TraceSegmentTestCase.java +++ b/apm-sniffer/apm-agent-core/src/test/java/org/skywalking/apm/agent/core/context/trace/TraceSegmentTestCase.java @@ -18,7 +18,7 @@ public class TraceSegmentTestCase { Assert.assertTrue(segment.getTraceSegmentId().startsWith("Segment")); Assert.assertTrue(segment.getStartTime() > 0); - Assert.assertEquals("billing_app", segment.getApplicationCode()); + Assert.assertEquals("billing_app", segment.getApplicationId()); } @Test diff --git a/apm-sniffer/apm-agent-core/src/test/java/org/skywalking/apm/agent/core/tags/BooleanTagReader.java b/apm-sniffer/apm-agent-core/src/test/java/org/skywalking/apm/agent/core/tags/BooleanTagReader.java index f353b0c8831117d015b1b4f560531ff92d700e5a..326e5fdc78146dab16928c97c8b538193bec7e58 100644 --- a/apm-sniffer/apm-agent-core/src/test/java/org/skywalking/apm/agent/core/tags/BooleanTagReader.java +++ b/apm-sniffer/apm-agent-core/src/test/java/org/skywalking/apm/agent/core/tags/BooleanTagReader.java @@ -2,7 +2,6 @@ package org.skywalking.apm.agent.core.tags; import java.lang.reflect.Field; import java.util.List; -import org.skywalking.apm.agent.core.context.trace.Span; import org.skywalking.apm.agent.core.context.tag.BooleanTag; import org.skywalking.apm.agent.core.context.tag.BooleanTagItem; diff --git a/apm-sniffer/apm-agent-core/src/test/java/org/skywalking/apm/agent/core/tags/IntTagReader.java b/apm-sniffer/apm-agent-core/src/test/java/org/skywalking/apm/agent/core/tags/IntTagReader.java index feee4eb596db3d1f416a9ffe4e5b735b888163ce..6e168ec58e8c6616abe07727274cdccd152ba231 100644 --- a/apm-sniffer/apm-agent-core/src/test/java/org/skywalking/apm/agent/core/tags/IntTagReader.java +++ b/apm-sniffer/apm-agent-core/src/test/java/org/skywalking/apm/agent/core/tags/IntTagReader.java @@ -2,7 +2,6 @@ package org.skywalking.apm.agent.core.tags; import java.lang.reflect.Field; import java.util.List; -import org.skywalking.apm.agent.core.context.trace.Span; import org.skywalking.apm.agent.core.context.tag.IntTag; import org.skywalking.apm.agent.core.context.tag.IntTagItem; diff --git a/apm-sniffer/apm-agent-core/src/test/java/org/skywalking/apm/agent/core/tags/StringTagReader.java b/apm-sniffer/apm-agent-core/src/test/java/org/skywalking/apm/agent/core/tags/StringTagReader.java index fc7246e7af6a81f56fbdb0c669b46f4d9d98163a..d15816650e2474c03be0ce274374409adf0c30e5 100644 --- a/apm-sniffer/apm-agent-core/src/test/java/org/skywalking/apm/agent/core/tags/StringTagReader.java +++ b/apm-sniffer/apm-agent-core/src/test/java/org/skywalking/apm/agent/core/tags/StringTagReader.java @@ -2,7 +2,6 @@ package org.skywalking.apm.agent.core.tags; import java.lang.reflect.Field; import java.util.List; -import org.skywalking.apm.agent.core.context.trace.Span; import org.skywalking.apm.agent.core.context.tag.StringTag; import org.skywalking.apm.agent.core.context.tag.StringTagItem; diff --git a/apm-sniffer/apm-agent/pom.xml b/apm-sniffer/apm-agent/pom.xml index 92d678ba7b443985f49e536f018a86de34e9e5a0..d1883f5110e6dacbe664c5fcfa881acd02aa5b35 100644 --- a/apm-sniffer/apm-agent/pom.xml +++ b/apm-sniffer/apm-agent/pom.xml @@ -148,7 +148,6 @@ org.apache.httpcomponents:* commons-logging:* commons-codec:* - *:gson diff --git a/apm-sniffer/apm-sdk-plugin/dubbo-plugin/src/test/java/org/skywalking/apm/plugin/dubbo/DubboInterceptorTest.java b/apm-sniffer/apm-sdk-plugin/dubbo-plugin/src/test/java/org/skywalking/apm/plugin/dubbo/DubboInterceptorTest.java index 98dfe05d623f8278205ffdb1b5f1eccc68914791..991c691c8e0f012772b27920c7ea6bc73977decf 100644 --- a/apm-sniffer/apm-sdk-plugin/dubbo-plugin/src/test/java/org/skywalking/apm/plugin/dubbo/DubboInterceptorTest.java +++ b/apm-sniffer/apm-sdk-plugin/dubbo-plugin/src/test/java/org/skywalking/apm/plugin/dubbo/DubboInterceptorTest.java @@ -27,8 +27,6 @@ import org.skywalking.apm.sniffer.mock.context.MockTracerContextListener; import org.skywalking.apm.sniffer.mock.context.SegmentAssert; import org.skywalking.apm.sniffer.mock.trace.SpanLogReader; import org.skywalking.apm.sniffer.mock.trace.tags.StringTagReader; -import org.skywalking.apm.agent.core.context.trace.LogData; -import org.skywalking.apm.agent.core.context.trace.Span; import org.skywalking.apm.agent.core.context.trace.TraceSegment; import org.skywalking.apm.agent.core.context.trace.TraceSegmentRef; import org.skywalking.apm.agent.core.context.tag.Tags; diff --git a/apm-sniffer/apm-sdk-plugin/feign-default-http-9.x-plugin/src/main/java/org/skywalking/apm/plugin/feign/http/v9/DefaultHttpClientInterceptor.java b/apm-sniffer/apm-sdk-plugin/feign-default-http-9.x-plugin/src/main/java/org/skywalking/apm/plugin/feign/http/v9/DefaultHttpClientInterceptor.java index 4e658ef01476e052f47c36e797a209412ab8a461..37525e8e180e02b084ff8461fadf32914de788fb 100644 --- a/apm-sniffer/apm-sdk-plugin/feign-default-http-9.x-plugin/src/main/java/org/skywalking/apm/plugin/feign/http/v9/DefaultHttpClientInterceptor.java +++ b/apm-sniffer/apm-sdk-plugin/feign-default-http-9.x-plugin/src/main/java/org/skywalking/apm/plugin/feign/http/v9/DefaultHttpClientInterceptor.java @@ -16,7 +16,6 @@ import org.skywalking.apm.agent.core.context.ContextCarrier; import org.skywalking.apm.agent.core.context.ContextManager; import org.skywalking.apm.agent.core.context.tag.Tags; import org.skywalking.apm.agent.core.context.trace.AbstractSpan; -import org.skywalking.apm.agent.core.context.trace.Span; import org.skywalking.apm.agent.core.plugin.interceptor.EnhancedClassInstanceContext; import org.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceMethodInvokeContext; import org.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceMethodsAroundInterceptor; diff --git a/apm-sniffer/apm-sdk-plugin/feign-default-http-9.x-plugin/src/test/java/org/skywalking/apm/plugin/feign/http/v9/DefaultHttpClientInterceptorTest.java b/apm-sniffer/apm-sdk-plugin/feign-default-http-9.x-plugin/src/test/java/org/skywalking/apm/plugin/feign/http/v9/DefaultHttpClientInterceptorTest.java index e9d6191cf12f336faff3555e02ac049201eb26d1..76425b1f02a9281ca7a0d3feb319dff920aac5e5 100644 --- a/apm-sniffer/apm-sdk-plugin/feign-default-http-9.x-plugin/src/test/java/org/skywalking/apm/plugin/feign/http/v9/DefaultHttpClientInterceptorTest.java +++ b/apm-sniffer/apm-sdk-plugin/feign-default-http-9.x-plugin/src/test/java/org/skywalking/apm/plugin/feign/http/v9/DefaultHttpClientInterceptorTest.java @@ -22,7 +22,6 @@ import org.skywalking.apm.sniffer.mock.context.SegmentAssert; import org.skywalking.apm.sniffer.mock.trace.SpanLogReader; import org.skywalking.apm.sniffer.mock.trace.tags.BooleanTagReader; import org.skywalking.apm.sniffer.mock.trace.tags.StringTagReader; -import org.skywalking.apm.agent.core.context.trace.Span; import org.skywalking.apm.agent.core.context.trace.TraceSegment; import org.skywalking.apm.agent.core.context.tag.Tags; diff --git a/apm-sniffer/apm-sdk-plugin/httpClient-4.x-plugin/src/test/java/org/skywalking/apm/plugin/httpClient/v4/HttpClientExecuteInterceptorTest.java b/apm-sniffer/apm-sdk-plugin/httpClient-4.x-plugin/src/test/java/org/skywalking/apm/plugin/httpClient/v4/HttpClientExecuteInterceptorTest.java index 2ebf8b2465cc8b3c54dfc0a1b145c924421b9442..b24d549e15bcb0519e7e546c863e29f0a0ceec41 100644 --- a/apm-sniffer/apm-sdk-plugin/httpClient-4.x-plugin/src/test/java/org/skywalking/apm/plugin/httpClient/v4/HttpClientExecuteInterceptorTest.java +++ b/apm-sniffer/apm-sdk-plugin/httpClient-4.x-plugin/src/test/java/org/skywalking/apm/plugin/httpClient/v4/HttpClientExecuteInterceptorTest.java @@ -18,8 +18,6 @@ import org.skywalking.apm.sniffer.mock.context.MockTracerContextListener; import org.skywalking.apm.sniffer.mock.context.SegmentAssert; import org.skywalking.apm.sniffer.mock.trace.tags.BooleanTagReader; import org.skywalking.apm.sniffer.mock.trace.tags.StringTagReader; -import org.skywalking.apm.agent.core.context.trace.LogData; -import org.skywalking.apm.agent.core.context.trace.Span; import org.skywalking.apm.agent.core.context.trace.TraceSegment; import org.skywalking.apm.agent.core.context.tag.Tags; diff --git a/apm-sniffer/apm-sdk-plugin/jdbc-plugin/src/main/java/org/skywalking/apm/plugin/jdbc/CallableStatementTracing.java b/apm-sniffer/apm-sdk-plugin/jdbc-plugin/src/main/java/org/skywalking/apm/plugin/jdbc/CallableStatementTracing.java index 76b6b8eb1f6750a7558d53431ef69564ac896575..f6a949093a0aac47c15a5ce80383f196cd90880e 100644 --- a/apm-sniffer/apm-sdk-plugin/jdbc-plugin/src/main/java/org/skywalking/apm/plugin/jdbc/CallableStatementTracing.java +++ b/apm-sniffer/apm-sdk-plugin/jdbc-plugin/src/main/java/org/skywalking/apm/plugin/jdbc/CallableStatementTracing.java @@ -4,7 +4,6 @@ import java.sql.SQLException; import org.skywalking.apm.agent.core.context.ContextManager; import org.skywalking.apm.agent.core.context.tag.Tags; import org.skywalking.apm.agent.core.context.trace.AbstractSpan; -import org.skywalking.apm.agent.core.context.trace.Span; import org.skywalking.apm.util.StringUtil; /** diff --git a/apm-sniffer/apm-sdk-plugin/jdbc-plugin/src/main/java/org/skywalking/apm/plugin/jdbc/ConnectionTracing.java b/apm-sniffer/apm-sdk-plugin/jdbc-plugin/src/main/java/org/skywalking/apm/plugin/jdbc/ConnectionTracing.java index b20421b6bc277a2ab71aba8db417dbdee709ad12..b86c6025e2606e025fe59a9a494ee3bae39449e4 100755 --- a/apm-sniffer/apm-sdk-plugin/jdbc-plugin/src/main/java/org/skywalking/apm/plugin/jdbc/ConnectionTracing.java +++ b/apm-sniffer/apm-sdk-plugin/jdbc-plugin/src/main/java/org/skywalking/apm/plugin/jdbc/ConnectionTracing.java @@ -3,7 +3,6 @@ package org.skywalking.apm.plugin.jdbc; import org.skywalking.apm.agent.core.context.ContextManager; import org.skywalking.apm.agent.core.context.trace.AbstractSpan; import org.skywalking.apm.util.StringUtil; -import org.skywalking.apm.agent.core.context.trace.Span; import org.skywalking.apm.agent.core.context.tag.Tags; import java.sql.SQLException; diff --git a/apm-sniffer/apm-sdk-plugin/jdbc-plugin/src/main/java/org/skywalking/apm/plugin/jdbc/PreparedStatementTracing.java b/apm-sniffer/apm-sdk-plugin/jdbc-plugin/src/main/java/org/skywalking/apm/plugin/jdbc/PreparedStatementTracing.java index 4dea978ff75ce83c0bcc914036c93a2f44403f02..1b351bffaceebe2f50c6ce0b430a62f9c3a32223 100644 --- a/apm-sniffer/apm-sdk-plugin/jdbc-plugin/src/main/java/org/skywalking/apm/plugin/jdbc/PreparedStatementTracing.java +++ b/apm-sniffer/apm-sdk-plugin/jdbc-plugin/src/main/java/org/skywalking/apm/plugin/jdbc/PreparedStatementTracing.java @@ -4,7 +4,6 @@ import java.sql.SQLException; import org.skywalking.apm.agent.core.context.ContextManager; import org.skywalking.apm.agent.core.context.tag.Tags; import org.skywalking.apm.agent.core.context.trace.AbstractSpan; -import org.skywalking.apm.agent.core.context.trace.Span; import org.skywalking.apm.util.StringUtil; /** diff --git a/apm-sniffer/apm-sdk-plugin/jdbc-plugin/src/main/java/org/skywalking/apm/plugin/jdbc/StatementTracing.java b/apm-sniffer/apm-sdk-plugin/jdbc-plugin/src/main/java/org/skywalking/apm/plugin/jdbc/StatementTracing.java index d28c09d57e5c5ee6949e8e48bc6f216a3c6bf586..dae0e1e7039f20c12af3ae21a32d7910dcbc621d 100644 --- a/apm-sniffer/apm-sdk-plugin/jdbc-plugin/src/main/java/org/skywalking/apm/plugin/jdbc/StatementTracing.java +++ b/apm-sniffer/apm-sdk-plugin/jdbc-plugin/src/main/java/org/skywalking/apm/plugin/jdbc/StatementTracing.java @@ -4,7 +4,6 @@ import java.sql.SQLException; import org.skywalking.apm.agent.core.context.ContextManager; import org.skywalking.apm.agent.core.context.tag.Tags; import org.skywalking.apm.agent.core.context.trace.AbstractSpan; -import org.skywalking.apm.agent.core.context.trace.Span; import org.skywalking.apm.util.StringUtil; /** diff --git a/apm-sniffer/apm-sdk-plugin/jdbc-plugin/src/test/java/org/skywalking/apm/plugin/jdbc/AbstractStatementTest.java b/apm-sniffer/apm-sdk-plugin/jdbc-plugin/src/test/java/org/skywalking/apm/plugin/jdbc/AbstractStatementTest.java index 266b1d07760c37baf7e8b586bc8e4a4d4b327ee0..c442856baf5dc1d864f1bd94d64e2fb09eb18760 100644 --- a/apm-sniffer/apm-sdk-plugin/jdbc-plugin/src/test/java/org/skywalking/apm/plugin/jdbc/AbstractStatementTest.java +++ b/apm-sniffer/apm-sdk-plugin/jdbc-plugin/src/test/java/org/skywalking/apm/plugin/jdbc/AbstractStatementTest.java @@ -5,8 +5,6 @@ import java.util.List; import org.hamcrest.CoreMatchers; import org.skywalking.apm.sniffer.mock.context.MockTracerContextListener; import org.skywalking.apm.sniffer.mock.trace.tags.StringTagReader; -import org.skywalking.apm.agent.core.context.trace.LogData; -import org.skywalking.apm.agent.core.context.trace.Span; import org.skywalking.apm.agent.core.context.tag.Tags; import java.sql.SQLException; diff --git a/apm-sniffer/apm-sdk-plugin/jdbc-plugin/src/test/java/org/skywalking/apm/plugin/jdbc/SWCallableStatementTest.java b/apm-sniffer/apm-sdk-plugin/jdbc-plugin/src/test/java/org/skywalking/apm/plugin/jdbc/SWCallableStatementTest.java index 7d00bd0f048ab262caed2a2531e74b85cbb36d63..76f8150ffde709852ddb9eed92989e2ad3c88e7f 100644 --- a/apm-sniffer/apm-sdk-plugin/jdbc-plugin/src/test/java/org/skywalking/apm/plugin/jdbc/SWCallableStatementTest.java +++ b/apm-sniffer/apm-sdk-plugin/jdbc-plugin/src/test/java/org/skywalking/apm/plugin/jdbc/SWCallableStatementTest.java @@ -1,7 +1,6 @@ package org.skywalking.apm.plugin.jdbc; import com.mysql.cj.api.jdbc.JdbcConnection; -import java.lang.reflect.Field; import java.util.List; import org.hamcrest.CoreMatchers; import org.junit.After; @@ -16,8 +15,6 @@ import org.skywalking.apm.agent.core.boot.ServiceManager; import org.skywalking.apm.agent.core.context.TracerContext; import org.skywalking.apm.sniffer.mock.context.MockTracerContextListener; import org.skywalking.apm.sniffer.mock.context.SegmentAssert; -import org.skywalking.apm.agent.core.context.trace.LogData; -import org.skywalking.apm.agent.core.context.trace.Span; import org.skywalking.apm.agent.core.context.trace.TraceSegment; import java.io.InputStream; diff --git a/apm-sniffer/apm-sdk-plugin/jdbc-plugin/src/test/java/org/skywalking/apm/plugin/jdbc/SWStatementTest.java b/apm-sniffer/apm-sdk-plugin/jdbc-plugin/src/test/java/org/skywalking/apm/plugin/jdbc/SWStatementTest.java index b42d96ea3a4546bef63586ba16972951deecc1d5..540b0de918bd44e6d7197fb9d9271fc129f13d77 100644 --- a/apm-sniffer/apm-sdk-plugin/jdbc-plugin/src/test/java/org/skywalking/apm/plugin/jdbc/SWStatementTest.java +++ b/apm-sniffer/apm-sdk-plugin/jdbc-plugin/src/test/java/org/skywalking/apm/plugin/jdbc/SWStatementTest.java @@ -13,8 +13,6 @@ import org.skywalking.apm.agent.core.boot.ServiceManager; import org.skywalking.apm.agent.core.context.TracerContext; import org.skywalking.apm.sniffer.mock.context.MockTracerContextListener; import org.skywalking.apm.sniffer.mock.context.SegmentAssert; -import org.skywalking.apm.agent.core.context.trace.LogData; -import org.skywalking.apm.agent.core.context.trace.Span; import org.skywalking.apm.agent.core.context.trace.TraceSegment; import java.net.MalformedURLException; diff --git a/apm-sniffer/apm-sdk-plugin/jdbc-plugin/src/test/java/org/skywalking/apm/plugin/jdbc/SwPreparedStatementTest.java b/apm-sniffer/apm-sdk-plugin/jdbc-plugin/src/test/java/org/skywalking/apm/plugin/jdbc/SwPreparedStatementTest.java index 2984ea502ee3bfe8724c399dce3cb90319a820ab..7cf27a870bbf62061e8929448064f7516a01decf 100644 --- a/apm-sniffer/apm-sdk-plugin/jdbc-plugin/src/test/java/org/skywalking/apm/plugin/jdbc/SwPreparedStatementTest.java +++ b/apm-sniffer/apm-sdk-plugin/jdbc-plugin/src/test/java/org/skywalking/apm/plugin/jdbc/SwPreparedStatementTest.java @@ -16,8 +16,6 @@ import org.skywalking.apm.agent.core.boot.ServiceManager; import org.skywalking.apm.agent.core.context.TracerContext; import org.skywalking.apm.sniffer.mock.context.MockTracerContextListener; import org.skywalking.apm.sniffer.mock.context.SegmentAssert; -import org.skywalking.apm.agent.core.context.trace.LogData; -import org.skywalking.apm.agent.core.context.trace.Span; import org.skywalking.apm.agent.core.context.trace.TraceSegment; import java.io.InputStream; diff --git a/apm-sniffer/apm-sdk-plugin/jedis-2.x-plugin/src/test/java/org/skywalking/apm/plugin/jedis/v2/JedisMethodInterceptorTest.java b/apm-sniffer/apm-sdk-plugin/jedis-2.x-plugin/src/test/java/org/skywalking/apm/plugin/jedis/v2/JedisMethodInterceptorTest.java index 2ed164853e41470ef4ebae9f9df76d5d9bbcbf6e..81d57e354b5178e299745afd7f1b8706d6075347 100644 --- a/apm-sniffer/apm-sdk-plugin/jedis-2.x-plugin/src/test/java/org/skywalking/apm/plugin/jedis/v2/JedisMethodInterceptorTest.java +++ b/apm-sniffer/apm-sdk-plugin/jedis-2.x-plugin/src/test/java/org/skywalking/apm/plugin/jedis/v2/JedisMethodInterceptorTest.java @@ -16,10 +16,7 @@ import org.skywalking.apm.agent.core.plugin.interceptor.EnhancedClassInstanceCon import org.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceMethodInvokeContext; import org.skywalking.apm.sniffer.mock.context.MockTracerContextListener; import org.skywalking.apm.sniffer.mock.context.SegmentAssert; -import org.skywalking.apm.sniffer.mock.trace.tags.BooleanTagReader; import org.skywalking.apm.sniffer.mock.trace.tags.StringTagReader; -import org.skywalking.apm.agent.core.context.trace.LogData; -import org.skywalking.apm.agent.core.context.trace.Span; import org.skywalking.apm.agent.core.context.trace.TraceSegment; import org.skywalking.apm.agent.core.context.tag.Tags; diff --git a/apm-sniffer/apm-sdk-plugin/mongodb-3.x-plugin/src/test/java/org/skywalking/apm/plugin/mongodb/v3/MongoDBMethodInterceptorTest.java b/apm-sniffer/apm-sdk-plugin/mongodb-3.x-plugin/src/test/java/org/skywalking/apm/plugin/mongodb/v3/MongoDBMethodInterceptorTest.java index 3304f9f2441a2e97fe8a7aa3beeb243f34c933de..53e53881b32c8663fef6123bbfd96e5636967b22 100644 --- a/apm-sniffer/apm-sdk-plugin/mongodb-3.x-plugin/src/test/java/org/skywalking/apm/plugin/mongodb/v3/MongoDBMethodInterceptorTest.java +++ b/apm-sniffer/apm-sdk-plugin/mongodb-3.x-plugin/src/test/java/org/skywalking/apm/plugin/mongodb/v3/MongoDBMethodInterceptorTest.java @@ -23,8 +23,6 @@ import org.skywalking.apm.sniffer.mock.context.MockTracerContextListener; import org.skywalking.apm.sniffer.mock.context.SegmentAssert; import org.skywalking.apm.sniffer.mock.trace.SpanLogReader; import org.skywalking.apm.sniffer.mock.trace.tags.StringTagReader; -import org.skywalking.apm.agent.core.context.trace.LogData; -import org.skywalking.apm.agent.core.context.trace.Span; import org.skywalking.apm.agent.core.context.trace.TraceSegment; import org.skywalking.apm.agent.core.context.tag.Tags; diff --git a/apm-sniffer/apm-sdk-plugin/mongodb-3.x-plugin/src/test/java/org/skywalking/apm/plugin/mongodb/v3/MongoDBWriteMethodInterceptorTest.java b/apm-sniffer/apm-sdk-plugin/mongodb-3.x-plugin/src/test/java/org/skywalking/apm/plugin/mongodb/v3/MongoDBWriteMethodInterceptorTest.java index 70ffcc2d9eb2be1ce1249c5a5ce8b5fbd473ea06..6b306bd6d63880fcfbad9aab68f55b4811b00f0c 100644 --- a/apm-sniffer/apm-sdk-plugin/mongodb-3.x-plugin/src/test/java/org/skywalking/apm/plugin/mongodb/v3/MongoDBWriteMethodInterceptorTest.java +++ b/apm-sniffer/apm-sdk-plugin/mongodb-3.x-plugin/src/test/java/org/skywalking/apm/plugin/mongodb/v3/MongoDBWriteMethodInterceptorTest.java @@ -24,8 +24,6 @@ import org.skywalking.apm.sniffer.mock.context.MockTracerContextListener; import org.skywalking.apm.sniffer.mock.context.SegmentAssert; import org.skywalking.apm.sniffer.mock.trace.SpanLogReader; import org.skywalking.apm.sniffer.mock.trace.tags.StringTagReader; -import org.skywalking.apm.agent.core.context.trace.LogData; -import org.skywalking.apm.agent.core.context.trace.Span; import org.skywalking.apm.agent.core.context.trace.TraceSegment; import org.skywalking.apm.agent.core.context.tag.Tags; diff --git a/apm-sniffer/apm-sdk-plugin/motan-plugin/src/test/java/org/skywalking/apm/plugin/motan/MotanConsumerInterceptorTest.java b/apm-sniffer/apm-sdk-plugin/motan-plugin/src/test/java/org/skywalking/apm/plugin/motan/MotanConsumerInterceptorTest.java index 1d6d6157b0c0e127c8a4493e5377ac93040e44a0..4d8db81684fe99b2943b80038aad58dc0868d121 100644 --- a/apm-sniffer/apm-sdk-plugin/motan-plugin/src/test/java/org/skywalking/apm/plugin/motan/MotanConsumerInterceptorTest.java +++ b/apm-sniffer/apm-sdk-plugin/motan-plugin/src/test/java/org/skywalking/apm/plugin/motan/MotanConsumerInterceptorTest.java @@ -19,8 +19,6 @@ import org.skywalking.apm.sniffer.mock.context.MockTracerContextListener; import org.skywalking.apm.sniffer.mock.context.SegmentAssert; import org.skywalking.apm.sniffer.mock.trace.SpanLogReader; import org.skywalking.apm.sniffer.mock.trace.tags.StringTagReader; -import org.skywalking.apm.agent.core.context.trace.LogData; -import org.skywalking.apm.agent.core.context.trace.Span; import org.skywalking.apm.agent.core.context.trace.TraceSegment; import org.skywalking.apm.agent.core.context.tag.Tags; diff --git a/apm-sniffer/apm-sdk-plugin/motan-plugin/src/test/java/org/skywalking/apm/plugin/motan/MotanProviderInterceptorTest.java b/apm-sniffer/apm-sdk-plugin/motan-plugin/src/test/java/org/skywalking/apm/plugin/motan/MotanProviderInterceptorTest.java index 5906826b65f6e5a60abb64079b44eb1d32780420..e659f7725285c61378b19aef2d8cdc3c9a03a967 100644 --- a/apm-sniffer/apm-sdk-plugin/motan-plugin/src/test/java/org/skywalking/apm/plugin/motan/MotanProviderInterceptorTest.java +++ b/apm-sniffer/apm-sdk-plugin/motan-plugin/src/test/java/org/skywalking/apm/plugin/motan/MotanProviderInterceptorTest.java @@ -21,8 +21,6 @@ import org.skywalking.apm.sniffer.mock.context.MockTracerContextListener; import org.skywalking.apm.sniffer.mock.context.SegmentAssert; import org.skywalking.apm.sniffer.mock.trace.SpanLogReader; import org.skywalking.apm.sniffer.mock.trace.tags.StringTagReader; -import org.skywalking.apm.agent.core.context.trace.LogData; -import org.skywalking.apm.agent.core.context.trace.Span; import org.skywalking.apm.agent.core.context.trace.TraceSegment; import org.skywalking.apm.agent.core.context.trace.TraceSegmentRef; import org.skywalking.apm.agent.core.context.tag.Tags; diff --git a/apm-sniffer/apm-sdk-plugin/okhttp-3.x-plugin/src/main/java/org/skywalking/apm/plugin/okhttp/v3/RealCallInterceptor.java b/apm-sniffer/apm-sdk-plugin/okhttp-3.x-plugin/src/main/java/org/skywalking/apm/plugin/okhttp/v3/RealCallInterceptor.java index fc57eaf86019821f48af46470b79e504aff960ae..3e97514e92df844fc49f7cffa04b2229aea14305 100644 --- a/apm-sniffer/apm-sdk-plugin/okhttp-3.x-plugin/src/main/java/org/skywalking/apm/plugin/okhttp/v3/RealCallInterceptor.java +++ b/apm-sniffer/apm-sdk-plugin/okhttp-3.x-plugin/src/main/java/org/skywalking/apm/plugin/okhttp/v3/RealCallInterceptor.java @@ -11,7 +11,6 @@ import org.skywalking.apm.agent.core.context.ContextCarrier; import org.skywalking.apm.agent.core.context.ContextManager; import org.skywalking.apm.agent.core.context.tag.Tags; import org.skywalking.apm.agent.core.context.trace.AbstractSpan; -import org.skywalking.apm.agent.core.context.trace.Span; import org.skywalking.apm.agent.core.plugin.interceptor.EnhancedClassInstanceContext; import org.skywalking.apm.agent.core.plugin.interceptor.enhance.ConstructorInvokeContext; import org.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceConstructorInterceptor; diff --git a/apm-sniffer/apm-sdk-plugin/okhttp-3.x-plugin/src/test/java/org/skywalking/apm/plugin/okhttp/v3/RealCallInterceptorTest.java b/apm-sniffer/apm-sdk-plugin/okhttp-3.x-plugin/src/test/java/org/skywalking/apm/plugin/okhttp/v3/RealCallInterceptorTest.java index 329f2db3fc756fe1f5ea9d53bb48b27885907887..b94f8c5c77ac765b745123c280d7b8e27023c78f 100644 --- a/apm-sniffer/apm-sdk-plugin/okhttp-3.x-plugin/src/test/java/org/skywalking/apm/plugin/okhttp/v3/RealCallInterceptorTest.java +++ b/apm-sniffer/apm-sdk-plugin/okhttp-3.x-plugin/src/test/java/org/skywalking/apm/plugin/okhttp/v3/RealCallInterceptorTest.java @@ -20,7 +20,6 @@ import org.skywalking.apm.sniffer.mock.context.SegmentAssert; import org.skywalking.apm.sniffer.mock.trace.SpanLogReader; import org.skywalking.apm.sniffer.mock.trace.tags.BooleanTagReader; import org.skywalking.apm.sniffer.mock.trace.tags.StringTagReader; -import org.skywalking.apm.agent.core.context.trace.Span; import org.skywalking.apm.agent.core.context.trace.TraceSegment; import org.skywalking.apm.agent.core.context.tag.Tags; diff --git a/apm-sniffer/apm-sdk-plugin/resin-3.x-plugin/src/test/java/org/skywalking/apm/plugin/resin/v3/ResinV3InterceptorTest.java b/apm-sniffer/apm-sdk-plugin/resin-3.x-plugin/src/test/java/org/skywalking/apm/plugin/resin/v3/ResinV3InterceptorTest.java index 04284e11633fad9bf7e3e3bab5a57f43903d19ea..68724d88d8f7b76dc5503dacfd765d104a426d76 100644 --- a/apm-sniffer/apm-sdk-plugin/resin-3.x-plugin/src/test/java/org/skywalking/apm/plugin/resin/v3/ResinV3InterceptorTest.java +++ b/apm-sniffer/apm-sdk-plugin/resin-3.x-plugin/src/test/java/org/skywalking/apm/plugin/resin/v3/ResinV3InterceptorTest.java @@ -20,8 +20,6 @@ import org.skywalking.apm.sniffer.mock.context.SegmentAssert; import org.skywalking.apm.sniffer.mock.trace.SpanLogReader; import org.skywalking.apm.sniffer.mock.trace.tags.IntTagReader; import org.skywalking.apm.sniffer.mock.trace.tags.StringTagReader; -import org.skywalking.apm.agent.core.context.trace.LogData; -import org.skywalking.apm.agent.core.context.trace.Span; import org.skywalking.apm.agent.core.context.trace.TraceSegment; import org.skywalking.apm.agent.core.context.trace.TraceSegmentRef; import org.skywalking.apm.agent.core.context.tag.Tags; diff --git a/apm-sniffer/apm-sdk-plugin/resin-4.x-plugin/src/test/java/org/skywalking/apm/plugin/resin/v4/ResinV4InterceptorTest.java b/apm-sniffer/apm-sdk-plugin/resin-4.x-plugin/src/test/java/org/skywalking/apm/plugin/resin/v4/ResinV4InterceptorTest.java index dc389b7607dea8e10c01ccc15553c05b4454da59..5e682a8ebf321ec08a98ca2ed5dd2ac94d3030d7 100644 --- a/apm-sniffer/apm-sdk-plugin/resin-4.x-plugin/src/test/java/org/skywalking/apm/plugin/resin/v4/ResinV4InterceptorTest.java +++ b/apm-sniffer/apm-sdk-plugin/resin-4.x-plugin/src/test/java/org/skywalking/apm/plugin/resin/v4/ResinV4InterceptorTest.java @@ -20,8 +20,6 @@ import org.skywalking.apm.sniffer.mock.context.SegmentAssert; import org.skywalking.apm.sniffer.mock.trace.SpanLogReader; import org.skywalking.apm.sniffer.mock.trace.tags.IntTagReader; import org.skywalking.apm.sniffer.mock.trace.tags.StringTagReader; -import org.skywalking.apm.agent.core.context.trace.LogData; -import org.skywalking.apm.agent.core.context.trace.Span; import org.skywalking.apm.agent.core.context.trace.TraceSegment; import org.skywalking.apm.agent.core.context.trace.TraceSegmentRef; import org.skywalking.apm.agent.core.context.tag.Tags; diff --git a/apm-sniffer/apm-sdk-plugin/tomcat-7.x-8.x-plugin/src/test/java/org/skywalking/apm/plugin/tomcat78x/TomcatInterceptorTest.java b/apm-sniffer/apm-sdk-plugin/tomcat-7.x-8.x-plugin/src/test/java/org/skywalking/apm/plugin/tomcat78x/TomcatInterceptorTest.java index 48b7ca3622ca5f68ebf5d0fa8c168636051b5c1f..ce7fc8ecae52669f53e130701f32c60abf399cbf 100644 --- a/apm-sniffer/apm-sdk-plugin/tomcat-7.x-8.x-plugin/src/test/java/org/skywalking/apm/plugin/tomcat78x/TomcatInterceptorTest.java +++ b/apm-sniffer/apm-sdk-plugin/tomcat-7.x-8.x-plugin/src/test/java/org/skywalking/apm/plugin/tomcat78x/TomcatInterceptorTest.java @@ -20,8 +20,6 @@ import org.skywalking.apm.sniffer.mock.context.SegmentAssert; import org.skywalking.apm.sniffer.mock.trace.SpanLogReader; import org.skywalking.apm.sniffer.mock.trace.tags.IntTagReader; import org.skywalking.apm.sniffer.mock.trace.tags.StringTagReader; -import org.skywalking.apm.agent.core.context.trace.LogData; -import org.skywalking.apm.agent.core.context.trace.Span; import org.skywalking.apm.agent.core.context.trace.TraceSegment; import org.skywalking.apm.agent.core.context.trace.TraceSegmentRef; import org.skywalking.apm.agent.core.context.tag.Tags; diff --git a/apm-sniffer/apm-sniffer-mock/src/main/java/org/skywalking/apm/sniffer/mock/trace/SpanLogReader.java b/apm-sniffer/apm-sniffer-mock/src/main/java/org/skywalking/apm/sniffer/mock/trace/SpanLogReader.java index d1b01eff07d35bfb12d390c0f56f2042afa42315..29bd4b7c54e323abf92ff6fc257003a3a252673a 100644 --- a/apm-sniffer/apm-sniffer-mock/src/main/java/org/skywalking/apm/sniffer/mock/trace/SpanLogReader.java +++ b/apm-sniffer/apm-sniffer-mock/src/main/java/org/skywalking/apm/sniffer/mock/trace/SpanLogReader.java @@ -2,8 +2,6 @@ package org.skywalking.apm.sniffer.mock.trace; import java.lang.reflect.Field; import java.util.List; -import org.skywalking.apm.agent.core.context.trace.LogData; -import org.skywalking.apm.agent.core.context.trace.Span; /** * @author wusheng diff --git a/apm-sniffer/apm-sniffer-mock/src/main/java/org/skywalking/apm/sniffer/mock/trace/tags/BooleanTagReader.java b/apm-sniffer/apm-sniffer-mock/src/main/java/org/skywalking/apm/sniffer/mock/trace/tags/BooleanTagReader.java index e7043f7e367aa71445f9c49f0a0ecc4e3a4ef1b3..52543fc9e1220dbd1c596ccfb4e9f1179c13044a 100644 --- a/apm-sniffer/apm-sniffer-mock/src/main/java/org/skywalking/apm/sniffer/mock/trace/tags/BooleanTagReader.java +++ b/apm-sniffer/apm-sniffer-mock/src/main/java/org/skywalking/apm/sniffer/mock/trace/tags/BooleanTagReader.java @@ -2,7 +2,6 @@ package org.skywalking.apm.sniffer.mock.trace.tags; import java.lang.reflect.Field; import java.util.List; -import org.skywalking.apm.agent.core.context.trace.Span; import org.skywalking.apm.agent.core.context.tag.BooleanTag; import org.skywalking.apm.agent.core.context.tag.BooleanTagItem; diff --git a/apm-sniffer/apm-sniffer-mock/src/main/java/org/skywalking/apm/sniffer/mock/trace/tags/IntTagReader.java b/apm-sniffer/apm-sniffer-mock/src/main/java/org/skywalking/apm/sniffer/mock/trace/tags/IntTagReader.java index 65ddb76b5abbb17ab0a9ee553d0d3226ed584728..53fcc396ca7b7e033f7079fab78ff21bfd3dd52a 100644 --- a/apm-sniffer/apm-sniffer-mock/src/main/java/org/skywalking/apm/sniffer/mock/trace/tags/IntTagReader.java +++ b/apm-sniffer/apm-sniffer-mock/src/main/java/org/skywalking/apm/sniffer/mock/trace/tags/IntTagReader.java @@ -2,7 +2,6 @@ package org.skywalking.apm.sniffer.mock.trace.tags; import java.lang.reflect.Field; import java.util.List; -import org.skywalking.apm.agent.core.context.trace.Span; import org.skywalking.apm.agent.core.context.tag.IntTag; import org.skywalking.apm.agent.core.context.tag.IntTagItem; diff --git a/apm-sniffer/apm-sniffer-mock/src/main/java/org/skywalking/apm/sniffer/mock/trace/tags/StringTagReader.java b/apm-sniffer/apm-sniffer-mock/src/main/java/org/skywalking/apm/sniffer/mock/trace/tags/StringTagReader.java index 5baa48fbe06b3d583262f2f46c1b966c41001432..d36be00d935de1589c6a4cdf7488b2bdcd8672c5 100644 --- a/apm-sniffer/apm-sniffer-mock/src/main/java/org/skywalking/apm/sniffer/mock/trace/tags/StringTagReader.java +++ b/apm-sniffer/apm-sniffer-mock/src/main/java/org/skywalking/apm/sniffer/mock/trace/tags/StringTagReader.java @@ -2,7 +2,6 @@ package org.skywalking.apm.sniffer.mock.trace.tags; import java.lang.reflect.Field; import java.util.List; -import org.skywalking.apm.agent.core.context.trace.Span; import org.skywalking.apm.agent.core.context.tag.StringTag; import org.skywalking.apm.agent.core.context.tag.StringTagItem; diff --git a/pom.xml b/pom.xml index 6a9919157bb29ee75c4da4a03246bf56ae78cf92..8b5e3094ca11c46b8808fd2973f97dd854ab84d7 100644 --- a/pom.xml +++ b/pom.xml @@ -72,12 +72,6 @@ - - com.google.code.gson - gson - 2.8.0 - - junit junit