diff --git a/apm-commons/apm-trace/src/main/java/org/skywalking/apm/trace/tag/AbstractTag.java b/apm-commons/apm-trace/src/main/java/org/skywalking/apm/trace/tag/AbstractTag.java index 9306aa76efa311ca18149b2ddfefd8a20606acb6..1ded62e9824f8e1c58ebe637098d7f968eb1fff3 100644 --- a/apm-commons/apm-trace/src/main/java/org/skywalking/apm/trace/tag/AbstractTag.java +++ b/apm-commons/apm-trace/src/main/java/org/skywalking/apm/trace/tag/AbstractTag.java @@ -24,5 +24,12 @@ public abstract class AbstractTag { protected abstract void set(Span span, T tagValue); + /** + * @return the key of this tag. + */ + public String key() { + return this.key; + } + public abstract T get(Span span); } diff --git a/apm-commons/apm-trace/src/main/java/org/skywalking/apm/trace/tag/ShortTag.java b/apm-commons/apm-trace/src/main/java/org/skywalking/apm/trace/tag/ShortTag.java deleted file mode 100644 index 4e7b7dfa1e7feba0b0e7ac1fc426a163938772d8..0000000000000000000000000000000000000000 --- a/apm-commons/apm-trace/src/main/java/org/skywalking/apm/trace/tag/ShortTag.java +++ /dev/null @@ -1,36 +0,0 @@ -package org.skywalking.apm.trace.tag; - -import org.skywalking.apm.trace.Span; - -/** - * Do the same thing as {@link StringTag}, just with a {@link Short} value. - *

- * Created by wusheng on 2017/2/17. - */ -public class ShortTag extends AbstractTag { - public ShortTag(String key) { - super(key); - } - - @Override - public void set(Span span, Short tagValue) { - span.setTag(super.key, (int) tagValue.shortValue()); - } - - /** - * Get a tag value, type of {@link Short}. - * After akka-message/serialize, all tags values are type of {@link String}, convert to {@link Short}, if necessary. - * - * @param span - * @return tag value - */ - @Override - public Short get(Span span) { - Integer tagValue = span.getIntTag(super.key); - if (tagValue == null) { - return null; - } else { - return Short.valueOf(tagValue.toString()); - } - } -} diff --git a/apm-commons/apm-trace/src/test/java/org/skywalking/apm/trace/tag/TagsTest.java b/apm-commons/apm-trace/src/test/java/org/skywalking/apm/trace/tag/TagsTest.java index 5c5f3ee00223f73f1bb8b1c147b62e403339bdef..9e1056d6dcf2b1e7f817f0f2c15919cc066065d3 100644 --- a/apm-commons/apm-trace/src/test/java/org/skywalking/apm/trace/tag/TagsTest.java +++ b/apm-commons/apm-trace/src/test/java/org/skywalking/apm/trace/tag/TagsTest.java @@ -40,15 +40,4 @@ public class TagsTest { tag.set(span, 123); Assert.assertEquals(123, tag.get(span).intValue()); } - - @Test - public void testShortTag() { - ShortTag tag = new ShortTag("test.key"); - Span span = new Span(1, "/test"); - Assert.assertNull(tag.get(span)); - - short value = 123; - tag.set(span, value); - Assert.assertEquals(value, tag.get(span).intValue()); - } } diff --git a/apm-sniffer/apm-sniffer-mock/src/main/java/org/skywalking/apm/sniffer/mock/trace/tag/BooleanTagGetter.java b/apm-sniffer/apm-sniffer-mock/src/main/java/org/skywalking/apm/sniffer/mock/trace/tag/BooleanTagGetter.java new file mode 100644 index 0000000000000000000000000000000000000000..391c7159445ba8685388258cf8ba27a0f18dda3d --- /dev/null +++ b/apm-sniffer/apm-sniffer-mock/src/main/java/org/skywalking/apm/sniffer/mock/trace/tag/BooleanTagGetter.java @@ -0,0 +1,15 @@ +package org.skywalking.apm.sniffer.mock.trace.tag; + +import org.skywalking.apm.trace.Span; +import org.skywalking.apm.trace.tag.BooleanTag; + +/** + * Test case util for getting the {@link Boolean} type of the tag value. + * + * @author wusheng + */ +public class BooleanTagGetter { + public static Boolean get(Span span, BooleanTag tag) { + return span.getBoolTag(tag.key()); + } +} diff --git a/apm-sniffer/apm-sniffer-mock/src/main/java/org/skywalking/apm/sniffer/mock/trace/tag/IntTagGetter.java b/apm-sniffer/apm-sniffer-mock/src/main/java/org/skywalking/apm/sniffer/mock/trace/tag/IntTagGetter.java new file mode 100644 index 0000000000000000000000000000000000000000..43d0b1c19e870914a2c172eefd78f4066f2d685f --- /dev/null +++ b/apm-sniffer/apm-sniffer-mock/src/main/java/org/skywalking/apm/sniffer/mock/trace/tag/IntTagGetter.java @@ -0,0 +1,15 @@ +package org.skywalking.apm.sniffer.mock.trace.tag; + +import org.skywalking.apm.trace.Span; +import org.skywalking.apm.trace.tag.IntTag; + +/** + * Test case util for getting the {@link Integer} type of the tag value. + * + * @author wusheng + */ +public class IntTagGetter { + public static Integer get(Span span, IntTag tag) { + return span.getIntTag(tag.key()); + } +} diff --git a/apm-sniffer/apm-sniffer-mock/src/main/java/org/skywalking/apm/sniffer/mock/trace/tag/StringTagGetter.java b/apm-sniffer/apm-sniffer-mock/src/main/java/org/skywalking/apm/sniffer/mock/trace/tag/StringTagGetter.java new file mode 100644 index 0000000000000000000000000000000000000000..6ac2fa8b80a13574ed3588ea908c239f77443949 --- /dev/null +++ b/apm-sniffer/apm-sniffer-mock/src/main/java/org/skywalking/apm/sniffer/mock/trace/tag/StringTagGetter.java @@ -0,0 +1,15 @@ +package org.skywalking.apm.sniffer.mock.trace.tag; + +import org.skywalking.apm.trace.Span; +import org.skywalking.apm.trace.tag.StringTag; + +/** + * Test case util for getting the {@link String} type of the tag value. + * + * @author wusheng + */ +public class StringTagGetter { + public static String get(Span span, StringTag tag) { + return span.getStrTag(tag.key()); + } +}