You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@skywalking.apache.org by wu...@apache.org on 2018/05/27 03:57:16 UTC

[incubator-skywalking] branch master updated: Change component definitions (#1266)

This is an automated email from the ASF dual-hosted git repository.

wusheng pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-skywalking.git


The following commit(s) were added to refs/heads/master by this push:
     new f7cc129  Change component definitions (#1266)
f7cc129 is described below

commit f7cc129fa2037949658be3a0fddfa7d5376b8c2b
Author: Xin,Zhang <zh...@apache.org>
AuthorDate: Sun May 27 11:57:00 2018 +0800

    Change component definitions (#1266)
---
 .../grpc/provider/handler/mock/ProviderMock.java   |  2 +-
 .../src/main/resources/component-libraries.yml     | 41 +++++++++++++-
 .../network/trace/component/ComponentsDefine.java  | 65 ++++++++++++----------
 .../jdbc/connectionurl/parser/H2URLParser.java     |  8 +--
 .../jdbc/connectionurl/parser/MysqlURLParser.java  |  6 +-
 .../jdbc/connectionurl/parser/OracleURLParser.java |  6 +-
 .../connectionurl/parser/PostgreSQLURLParser.java  |  6 +-
 .../apm/plugin/jdbc/AbstractStatementTest.java     |  2 +-
 .../plugin/jedis/v2/JedisMethodInterceptor.java    |  2 +-
 .../jedis/v2/JedisMethodInterceptorTest.java       |  2 +-
 .../plugin/kafka/v1/KafkaConsumerInterceptor.java  |  2 +-
 .../plugin/kafka/v1/KafkaProducerInterceptor.java  |  2 +-
 .../kafka/v11/KafkaConsumerInterceptorTest.java    |  4 +-
 .../kafka/v11/KafkaProducerInterceptorTest.java    |  4 +-
 .../v2/MongoDBCollectionMethodInterceptor.java     |  2 +-
 .../v2/MongoDBCollectionMethodInterceptorTest.java |  2 +-
 .../mongodb/v3/MongoDBMethodInterceptor.java       |  2 +-
 .../mongodb/v3/MongoDBMethodInterceptorTest.java   |  2 +-
 .../StatementExecuteMethodsInterceptorTest.java    |  2 +-
 .../v3/AbstractMessageConsumeInterceptor.java      |  2 +-
 .../plugin/rocketMQ/v3/MessageSendInterceptor.java |  2 +-
 .../plugin/rocketMQ/v3/OnExceptionInterceptor.java |  2 +-
 .../plugin/rocketMQ/v3/OnSuccessInterceptor.java   |  2 +-
 .../rocketMQ/v3/MessageSendInterceptorTest.java    |  4 +-
 .../rocketMQ/v3/OnSuccessInterceptorTest.java      |  4 +-
 .../v4/AbstractMessageConsumeInterceptor.java      |  2 +-
 .../plugin/rocketMQ/v4/MessageSendInterceptor.java |  2 +-
 .../plugin/rocketMQ/v4/OnExceptionInterceptor.java |  2 +-
 .../plugin/rocketMQ/v4/OnSuccessInterceptor.java   |  2 +-
 .../rocketMQ/v4/MessageSendInterceptorTest.java    |  4 +-
 .../rocketMQ/v4/OnSuccessInterceptorTest.java      |  4 +-
 .../v2/MemcachedMethodInterceptor.java             |  4 +-
 .../v2/MemcachedMethodInterceptorTest.java         |  4 +-
 .../xmemcached/v2/XMemcachedMethodInterceptor.java |  4 +-
 .../v2/XMemcachedMethodInterceptorTest.java        |  4 +-
 35 files changed, 129 insertions(+), 81 deletions(-)

diff --git a/apm-collector/apm-collector-agent/agent-grpc/agent-grpc-provider/src/test/java/org/apache/skywalking/apm/collector/agent/grpc/provider/handler/mock/ProviderMock.java b/apm-collector/apm-collector-agent/agent-grpc/agent-grpc-provider/src/test/java/org/apache/skywalking/apm/collector/agent/grpc/provider/handler/mock/ProviderMock.java
index ec46bd7..ae6d692 100644
--- a/apm-collector/apm-collector-agent/agent-grpc/agent-grpc-provider/src/test/java/org/apache/skywalking/apm/collector/agent/grpc/provider/handler/mock/ProviderMock.java
+++ b/apm-collector/apm-collector-agent/agent-grpc/agent-grpc-provider/src/test/java/org/apache/skywalking/apm/collector/agent/grpc/provider/handler/mock/ProviderMock.java
@@ -84,7 +84,7 @@ class ProviderMock {
         span.setParentSpanId(0);
         span.setStartTime(startTimestamp + 510);
         span.setEndTime(startTimestamp + 1490);
-        span.setComponentId(ComponentsDefine.MONGODB.getId());
+        span.setComponentId(ComponentsDefine.MONGO_DRIVER.getId());
         span.setIsError(true);
 
         if (isPrepare) {
diff --git a/apm-collector/apm-collector-boot/src/main/resources/component-libraries.yml b/apm-collector/apm-collector-boot/src/main/resources/component-libraries.yml
index e69ce04..a99ae63 100644
--- a/apm-collector/apm-collector-boot/src/main/resources/component-libraries.yml
+++ b/apm-collector/apm-collector-boot/src/main/resources/component-libraries.yml
@@ -123,7 +123,36 @@ Jedis:
 SQLite:
   id: 31
   languages: Java,C#
-
+h2-jdbc-driver:
+  id: 32
+  languages: Java
+mysql-connector-java:
+  id: 33
+  languages: Java
+Spymemcached:
+  id: 35
+  languages: Java
+Xmemcached:
+  id: 36
+  languages: Java
+postgresql-jdbc-driver:
+  id: 37
+  languages: Java
+rocketMQ-producer:
+  id: 38
+  languages: Java
+rocketMQ-consumer:
+  id: 39
+  languages: Java
+kafka-producer:
+  id: 40
+  languages: Java
+kafka-consumer:
+  id: 41
+  languages: Java
+mongodb-driver:
+  id: 42
+  languages: Java
 
 # .NET/.NET Core components
 # [3000, 4000) for C#/.NET only
@@ -183,6 +212,16 @@ express:
 # e.g.
 # Jedis is a client library in Java for Redis server
 Component-Server-Mappings:
+  mongodb-driver: MongoDB
+  rocketMQ-producer: RocketMQ
+  rocketMQ-consumer: RocketMQ
+  kafka-producer: Kafka
+  kafka-consumer: Kafka
+  postgresql-jdbc-driver: PostgreSQL
+  Xmemcached: Memcached
+  Spymemcached: Memcached
+  h2-jdbc-driver: H2
+  mysql-connector-java: Mysql
   Jedis: Redis
   StackExchange.Redis: Redis
   SqlClient: SqlServer
diff --git a/apm-protocol/apm-network/src/main/java/org/apache/skywalking/apm/network/trace/component/ComponentsDefine.java b/apm-protocol/apm-network/src/main/java/org/apache/skywalking/apm/network/trace/component/ComponentsDefine.java
index 2ecd1e7..7af91a2 100644
--- a/apm-protocol/apm-network/src/main/java/org/apache/skywalking/apm/network/trace/component/ComponentsDefine.java
+++ b/apm-protocol/apm-network/src/main/java/org/apache/skywalking/apm/network/trace/component/ComponentsDefine.java
@@ -32,18 +32,8 @@ public class ComponentsDefine {
 
     public static final OfficialComponent DUBBO = new OfficialComponent(3, "Dubbo");
 
-    public static final OfficialComponent H2 = new OfficialComponent(4, "H2");
-
-    public static final OfficialComponent MYSQL = new OfficialComponent(5, "Mysql");
-
-    public static final OfficialComponent ORACLE = new OfficialComponent(6, "ORACLE");
-
-    public static final OfficialComponent REDIS = new OfficialComponent(7, "Redis");
-
     public static final OfficialComponent MOTAN = new OfficialComponent(8, "Motan");
 
-    public static final OfficialComponent MONGODB = new OfficialComponent(9, "MongoDB");
-
     public static final OfficialComponent RESIN = new OfficialComponent(10, "Resin");
 
     public static final OfficialComponent FEIGN = new OfficialComponent(11, "Feign");
@@ -64,26 +54,42 @@ public class ComponentsDefine {
 
     public static final OfficialComponent JETTY_SERVER = new OfficialComponent(19, "JettyServer");
 
-    public static final OfficialComponent MEMCACHED = new OfficialComponent(20, "Memcached");
-
     public static final OfficialComponent SHARDING_JDBC = new OfficialComponent(21, "ShardingJDBC");
 
-    public static final OfficialComponent POSTGRESQL = new OfficialComponent(22, "PostgreSQL");
-
     public static final OfficialComponent GRPC = new OfficialComponent(23, "GRPC");
 
     public static final OfficialComponent ELASTIC_JOB = new OfficialComponent(24, "ElasticJob");
   
-    public static final OfficialComponent ROCKET_MQ = new OfficialComponent(25, "RocketMQ");
-
     public static final OfficialComponent HTTP_ASYNC_CLIENT = new OfficialComponent(26, "httpasyncclient");
 
-    public static final OfficialComponent KAFKA = new OfficialComponent(27, "Kafka");
-  
     public static final OfficialComponent SERVICECOMB = new OfficialComponent(28, "ServiceComb");
 
     public static final OfficialComponent HYSTRIX =  new OfficialComponent(29, "Hystrix");
 
+    public static final OfficialComponent JEDIS =  new OfficialComponent(30, "Jedis");
+
+    public static final OfficialComponent H2_JDBC_DRIVER =  new OfficialComponent(32, "h2-jdbc-driver");
+
+    public static final OfficialComponent MYSQL_JDBC_DRIVER = new OfficialComponent(33, "mysql-connector-java");
+
+    public static final OfficialComponent OJDBC = new OfficialComponent(34, "ojdbc");
+
+    public static final OfficialComponent SPYMEMCACHED = new OfficialComponent(35, "Spymemcached");
+
+    public static final OfficialComponent XMEMCACHED = new OfficialComponent(36, "Xmemcached");
+
+    public static final OfficialComponent POSTGRESQL_DRIVER = new OfficialComponent(37, "postgresql-jdbc-driver");
+
+    public static final OfficialComponent ROCKET_MQ_PRODUCER = new OfficialComponent(38, "rocketMQ-producer");
+
+    public static final OfficialComponent ROCKET_MQ_CONSUMER = new OfficialComponent(39, "rocketMQ-consumer");
+
+    public static final OfficialComponent KAFKA_PRODUCER = new OfficialComponent(40, "kafka-producer");
+
+    public static final OfficialComponent KAFKA_CONSUMER = new OfficialComponent(41, "kafka-consumer");
+
+    public static final OfficialComponent MONGO_DRIVER = new OfficialComponent(42, "mongodb-driver");
+
     private static ComponentsDefine INSTANCE = new ComponentsDefine();
 
     private String[] components;
@@ -93,16 +99,11 @@ public class ComponentsDefine {
     }
 
     public ComponentsDefine() {
-        components = new String[30];
+        components = new String[43];
         addComponent(TOMCAT);
         addComponent(HTTPCLIENT);
         addComponent(DUBBO);
-        addComponent(H2);
-        addComponent(MYSQL);
-        addComponent(ORACLE);
-        addComponent(REDIS);
         addComponent(MOTAN);
-        addComponent(MONGODB);
         addComponent(RESIN);
         addComponent(FEIGN);
         addComponent(OKHTTP);
@@ -113,16 +114,24 @@ public class ComponentsDefine {
         addComponent(NUTZ_HTTP);
         addComponent(JETTY_CLIENT);
         addComponent(JETTY_SERVER);
-        addComponent(MEMCACHED);
         addComponent(SHARDING_JDBC);
-        addComponent(POSTGRESQL);
         addComponent(GRPC);
         addComponent(ELASTIC_JOB);
-        addComponent(ROCKET_MQ);
         addComponent(HTTP_ASYNC_CLIENT);
-        addComponent(KAFKA);
         addComponent(SERVICECOMB);
         addComponent(HYSTRIX);
+        addComponent(H2_JDBC_DRIVER);
+        addComponent(MYSQL_JDBC_DRIVER);
+        addComponent(OJDBC);
+        addComponent(JEDIS);
+        addComponent(SPYMEMCACHED);
+        addComponent(XMEMCACHED);
+        addComponent(POSTGRESQL_DRIVER);
+        addComponent(ROCKET_MQ_PRODUCER);
+        addComponent(ROCKET_MQ_CONSUMER);
+        addComponent(KAFKA_PRODUCER);
+        addComponent(KAFKA_CONSUMER);
+        addComponent(MONGO_DRIVER);
     }
 
     private void addComponent(OfficialComponent component) {
diff --git a/apm-sniffer/apm-sdk-plugin/jdbc-commons/src/main/java/org/apache/skywalking/apm/plugin/jdbc/connectionurl/parser/H2URLParser.java b/apm-sniffer/apm-sdk-plugin/jdbc-commons/src/main/java/org/apache/skywalking/apm/plugin/jdbc/connectionurl/parser/H2URLParser.java
index 6c7d480..8ad4f63 100644
--- a/apm-sniffer/apm-sdk-plugin/jdbc-commons/src/main/java/org/apache/skywalking/apm/plugin/jdbc/connectionurl/parser/H2URLParser.java
+++ b/apm-sniffer/apm-sdk-plugin/jdbc-commons/src/main/java/org/apache/skywalking/apm/plugin/jdbc/connectionurl/parser/H2URLParser.java
@@ -70,19 +70,19 @@ public class H2URLParser extends AbstractURLParser {
     public ConnectionInfo parse() {
         int[] databaseNameRangeIndex = fetchDatabaseNameRangeIndexFromURLForH2FileMode();
         if (databaseNameRangeIndex != null) {
-            return new ConnectionInfo(ComponentsDefine.H2, H2_DB_TYPE, LOCALHOST, -1, fetchDatabaseNameFromURL(databaseNameRangeIndex));
+            return new ConnectionInfo(ComponentsDefine.H2_JDBC_DRIVER, H2_DB_TYPE, LOCALHOST, -1, fetchDatabaseNameFromURL(databaseNameRangeIndex));
         }
 
         databaseNameRangeIndex = fetchDatabaseNameRangeIndexFromURLForH2MemMode();
         if (databaseNameRangeIndex != null) {
-            return new ConnectionInfo(ComponentsDefine.H2, H2_DB_TYPE, LOCALHOST, -1, fetchDatabaseNameFromURL(databaseNameRangeIndex));
+            return new ConnectionInfo(ComponentsDefine.H2_JDBC_DRIVER, H2_DB_TYPE, LOCALHOST, -1, fetchDatabaseNameFromURL(databaseNameRangeIndex));
         }
 
         String[] hostAndPort = fetchDatabaseHostsFromURL().split(":");
         if (hostAndPort.length == 1) {
-            return new ConnectionInfo(ComponentsDefine.H2, H2_DB_TYPE, hostAndPort[0], DEFAULT_PORT, fetchDatabaseNameFromURL());
+            return new ConnectionInfo(ComponentsDefine.H2_JDBC_DRIVER, H2_DB_TYPE, hostAndPort[0], DEFAULT_PORT, fetchDatabaseNameFromURL());
         } else {
-            return new ConnectionInfo(ComponentsDefine.H2, H2_DB_TYPE, hostAndPort[0], Integer.valueOf(hostAndPort[1]), fetchDatabaseNameFromURL());
+            return new ConnectionInfo(ComponentsDefine.H2_JDBC_DRIVER, H2_DB_TYPE, hostAndPort[0], Integer.valueOf(hostAndPort[1]), fetchDatabaseNameFromURL());
         }
     }
 
diff --git a/apm-sniffer/apm-sdk-plugin/jdbc-commons/src/main/java/org/apache/skywalking/apm/plugin/jdbc/connectionurl/parser/MysqlURLParser.java b/apm-sniffer/apm-sdk-plugin/jdbc-commons/src/main/java/org/apache/skywalking/apm/plugin/jdbc/connectionurl/parser/MysqlURLParser.java
index 5a81d07..09b1e88 100644
--- a/apm-sniffer/apm-sdk-plugin/jdbc-commons/src/main/java/org/apache/skywalking/apm/plugin/jdbc/connectionurl/parser/MysqlURLParser.java
+++ b/apm-sniffer/apm-sdk-plugin/jdbc-commons/src/main/java/org/apache/skywalking/apm/plugin/jdbc/connectionurl/parser/MysqlURLParser.java
@@ -67,13 +67,13 @@ public class MysqlURLParser extends AbstractURLParser {
                     sb.append(host + ",");
                 }
             }
-            return new ConnectionInfo(ComponentsDefine.MYSQL, DB_TYPE, sb.toString(), fetchDatabaseNameFromURL());
+            return new ConnectionInfo(ComponentsDefine.MYSQL_JDBC_DRIVER, DB_TYPE, sb.toString(), fetchDatabaseNameFromURL());
         } else {
             String[] hostAndPort = hostSegment[0].split(":");
             if (hostAndPort.length != 1) {
-                return new ConnectionInfo(ComponentsDefine.MYSQL, DB_TYPE, hostAndPort[0], Integer.valueOf(hostAndPort[1]), fetchDatabaseNameFromURL());
+                return new ConnectionInfo(ComponentsDefine.MYSQL_JDBC_DRIVER, DB_TYPE, hostAndPort[0], Integer.valueOf(hostAndPort[1]), fetchDatabaseNameFromURL());
             } else {
-                return new ConnectionInfo(ComponentsDefine.MYSQL, DB_TYPE, hostAndPort[0], DEFAULT_PORT, fetchDatabaseNameFromURL());
+                return new ConnectionInfo(ComponentsDefine.MYSQL_JDBC_DRIVER, DB_TYPE, hostAndPort[0], DEFAULT_PORT, fetchDatabaseNameFromURL());
             }
         }
     }
diff --git a/apm-sniffer/apm-sdk-plugin/jdbc-commons/src/main/java/org/apache/skywalking/apm/plugin/jdbc/connectionurl/parser/OracleURLParser.java b/apm-sniffer/apm-sdk-plugin/jdbc-commons/src/main/java/org/apache/skywalking/apm/plugin/jdbc/connectionurl/parser/OracleURLParser.java
index d3cf336..595ec4e 100644
--- a/apm-sniffer/apm-sdk-plugin/jdbc-commons/src/main/java/org/apache/skywalking/apm/plugin/jdbc/connectionurl/parser/OracleURLParser.java
+++ b/apm-sniffer/apm-sdk-plugin/jdbc-commons/src/main/java/org/apache/skywalking/apm/plugin/jdbc/connectionurl/parser/OracleURLParser.java
@@ -94,16 +94,16 @@ public class OracleURLParser extends AbstractURLParser {
         String[] hostSegment = splitDatabaseAddress(host);
         String databaseName = fetchDatabaseNameFromURL();
         if (hostSegment.length == 1) {
-            return new ConnectionInfo(ComponentsDefine.ORACLE, DB_TYPE, host, DEFAULT_PORT, databaseName);
+            return new ConnectionInfo(ComponentsDefine.OJDBC, DB_TYPE, host, DEFAULT_PORT, databaseName);
         } else {
-            return new ConnectionInfo(ComponentsDefine.ORACLE, DB_TYPE, hostSegment[0], Integer.valueOf(hostSegment[1]), databaseName);
+            return new ConnectionInfo(ComponentsDefine.OJDBC, DB_TYPE, hostSegment[0], Integer.valueOf(hostSegment[1]), databaseName);
         }
     }
 
     private ConnectionInfo tnsNameURLParse() {
         String host = parseDatabaseHostsFromURL();
         String databaseName = fetchDatabaseNameFromURL();
-        return new ConnectionInfo(ComponentsDefine.ORACLE, DB_TYPE, host, databaseName);
+        return new ConnectionInfo(ComponentsDefine.OJDBC, DB_TYPE, host, databaseName);
     }
 
     private String parseDatabaseHostsFromURL() {
diff --git a/apm-sniffer/apm-sdk-plugin/jdbc-commons/src/main/java/org/apache/skywalking/apm/plugin/jdbc/connectionurl/parser/PostgreSQLURLParser.java b/apm-sniffer/apm-sdk-plugin/jdbc-commons/src/main/java/org/apache/skywalking/apm/plugin/jdbc/connectionurl/parser/PostgreSQLURLParser.java
index 5c6a186..db60c6c 100644
--- a/apm-sniffer/apm-sdk-plugin/jdbc-commons/src/main/java/org/apache/skywalking/apm/plugin/jdbc/connectionurl/parser/PostgreSQLURLParser.java
+++ b/apm-sniffer/apm-sdk-plugin/jdbc-commons/src/main/java/org/apache/skywalking/apm/plugin/jdbc/connectionurl/parser/PostgreSQLURLParser.java
@@ -67,13 +67,13 @@ public class PostgreSQLURLParser extends AbstractURLParser {
                     sb.append(host + ",");
                 }
             }
-            return new ConnectionInfo(ComponentsDefine.POSTGRESQL, DB_TYPE, sb.toString(), fetchDatabaseNameFromURL());
+            return new ConnectionInfo(ComponentsDefine.POSTGRESQL_DRIVER, DB_TYPE, sb.toString(), fetchDatabaseNameFromURL());
         } else {
             String[] hostAndPort = hostSegment[0].split(":");
             if (hostAndPort.length != 1) {
-                return new ConnectionInfo(ComponentsDefine.POSTGRESQL, DB_TYPE, hostAndPort[0], Integer.valueOf(hostAndPort[1]), fetchDatabaseNameFromURL());
+                return new ConnectionInfo(ComponentsDefine.POSTGRESQL_DRIVER, DB_TYPE, hostAndPort[0], Integer.valueOf(hostAndPort[1]), fetchDatabaseNameFromURL());
             } else {
-                return new ConnectionInfo(ComponentsDefine.POSTGRESQL, DB_TYPE, hostAndPort[0], DEFAULT_PORT, fetchDatabaseNameFromURL());
+                return new ConnectionInfo(ComponentsDefine.POSTGRESQL_DRIVER, DB_TYPE, hostAndPort[0], DEFAULT_PORT, fetchDatabaseNameFromURL());
             }
         }
     }
diff --git a/apm-sniffer/apm-sdk-plugin/jdbc-commons/src/test/java/org/apache/skywalking/apm/plugin/jdbc/AbstractStatementTest.java b/apm-sniffer/apm-sdk-plugin/jdbc-commons/src/test/java/org/apache/skywalking/apm/plugin/jdbc/AbstractStatementTest.java
index 7dc09de..f08086e 100644
--- a/apm-sniffer/apm-sdk-plugin/jdbc-commons/src/test/java/org/apache/skywalking/apm/plugin/jdbc/AbstractStatementTest.java
+++ b/apm-sniffer/apm-sdk-plugin/jdbc-commons/src/test/java/org/apache/skywalking/apm/plugin/jdbc/AbstractStatementTest.java
@@ -52,7 +52,7 @@ public abstract class AbstractStatementTest {
 
     protected void assertDBSpan(AbstractTracingSpan span, String exceptOperationName) {
         assertThat(span.getOperationName(), is(exceptOperationName));
-        assertThat(SpanHelper.getComponentId(span), is(5));
+        assertThat(SpanHelper.getComponentId(span), is(33));
         List<KeyValuePair> tags = SpanHelper.getTags(span);
         assertThat(tags.get(0).getValue(), is("sql"));
         assertThat(tags.get(1).getValue(), is("test"));
diff --git a/apm-sniffer/apm-sdk-plugin/jedis-2.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/jedis/v2/JedisMethodInterceptor.java b/apm-sniffer/apm-sdk-plugin/jedis-2.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/jedis/v2/JedisMethodInterceptor.java
index a4d900d..531804d 100644
--- a/apm-sniffer/apm-sdk-plugin/jedis-2.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/jedis/v2/JedisMethodInterceptor.java
+++ b/apm-sniffer/apm-sdk-plugin/jedis-2.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/jedis/v2/JedisMethodInterceptor.java
@@ -35,7 +35,7 @@ public class JedisMethodInterceptor implements InstanceMethodsAroundInterceptor
         Class<?>[] argumentsTypes, MethodInterceptResult result) throws Throwable {
         String peer = String.valueOf(objInst.getSkyWalkingDynamicField());
         AbstractSpan span = ContextManager.createExitSpan("Jedis/" + method.getName(), peer);
-        span.setComponent(ComponentsDefine.REDIS);
+        span.setComponent(ComponentsDefine.JEDIS);
         Tags.DB_TYPE.set(span, "Redis");
         SpanLayer.asCache(span);
 
diff --git a/apm-sniffer/apm-sdk-plugin/jedis-2.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/jedis/v2/JedisMethodInterceptorTest.java b/apm-sniffer/apm-sdk-plugin/jedis-2.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/jedis/v2/JedisMethodInterceptorTest.java
index f5d99c8..0022348 100644
--- a/apm-sniffer/apm-sdk-plugin/jedis-2.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/jedis/v2/JedisMethodInterceptorTest.java
+++ b/apm-sniffer/apm-sdk-plugin/jedis-2.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/jedis/v2/JedisMethodInterceptorTest.java
@@ -128,7 +128,7 @@ public class JedisMethodInterceptorTest {
     private void assertRedisSpan(AbstractTracingSpan span) {
         assertThat(span.getOperationName(), is("Jedis/set"));
         assertThat(span.isExit(), is(true));
-        assertThat(SpanHelper.getComponentId(span), is(7));
+        assertThat(SpanHelper.getComponentId(span), is(30));
         List<KeyValuePair> tags = SpanHelper.getTags(span);
         assertThat(tags.get(0).getValue(), is("Redis"));
         assertThat(tags.get(1).getValue(), is("set OperationKey"));
diff --git a/apm-sniffer/apm-sdk-plugin/kafka-v1-plugin/src/main/java/org/apache/skywalking/apm/plugin/kafka/v1/KafkaConsumerInterceptor.java b/apm-sniffer/apm-sdk-plugin/kafka-v1-plugin/src/main/java/org/apache/skywalking/apm/plugin/kafka/v1/KafkaConsumerInterceptor.java
index c47a816..9c0c5d2 100644
--- a/apm-sniffer/apm-sdk-plugin/kafka-v1-plugin/src/main/java/org/apache/skywalking/apm/plugin/kafka/v1/KafkaConsumerInterceptor.java
+++ b/apm-sniffer/apm-sdk-plugin/kafka-v1-plugin/src/main/java/org/apache/skywalking/apm/plugin/kafka/v1/KafkaConsumerInterceptor.java
@@ -62,7 +62,7 @@ public class KafkaConsumerInterceptor implements InstanceMethodsAroundIntercepto
             ConsumerEnhanceRequiredInfo requiredInfo = (ConsumerEnhanceRequiredInfo)objInst.getSkyWalkingDynamicField();
             AbstractSpan activeSpan = ContextManager.createEntrySpan(OPERATE_NAME_PREFIX + requiredInfo.getTopics() + CONSUMER_OPERATE_NAME_SUFFIX, null).start(requiredInfo.getStartTime());
 
-            activeSpan.setComponent(ComponentsDefine.KAFKA);
+            activeSpan.setComponent(ComponentsDefine.KAFKA_CONSUMER);
             SpanLayer.asMQ(activeSpan);
             Tags.MQ_BROKER.set(activeSpan, requiredInfo.getBrokerServers());
             Tags.MQ_TOPIC.set(activeSpan, requiredInfo.getTopics());
diff --git a/apm-sniffer/apm-sdk-plugin/kafka-v1-plugin/src/main/java/org/apache/skywalking/apm/plugin/kafka/v1/KafkaProducerInterceptor.java b/apm-sniffer/apm-sdk-plugin/kafka-v1-plugin/src/main/java/org/apache/skywalking/apm/plugin/kafka/v1/KafkaProducerInterceptor.java
index 1ec0d68..5880a1a 100644
--- a/apm-sniffer/apm-sdk-plugin/kafka-v1-plugin/src/main/java/org/apache/skywalking/apm/plugin/kafka/v1/KafkaProducerInterceptor.java
+++ b/apm-sniffer/apm-sdk-plugin/kafka-v1-plugin/src/main/java/org/apache/skywalking/apm/plugin/kafka/v1/KafkaProducerInterceptor.java
@@ -53,7 +53,7 @@ public class KafkaProducerInterceptor implements InstanceMethodsAroundIntercepto
         Tags.MQ_BROKER.set(activeSpan, (String)objInst.getSkyWalkingDynamicField());
         Tags.MQ_TOPIC.set(activeSpan, topicName);
         SpanLayer.asMQ(activeSpan);
-        activeSpan.setComponent(ComponentsDefine.KAFKA);
+        activeSpan.setComponent(ComponentsDefine.KAFKA_PRODUCER);
 
         CarrierItem next = contextCarrier.items();
         while (next.hasNext()) {
diff --git a/apm-sniffer/apm-sdk-plugin/kafka-v1-plugin/src/test/java/org/apache/skywalking/apm/plugin/kafka/v11/KafkaConsumerInterceptorTest.java b/apm-sniffer/apm-sdk-plugin/kafka-v1-plugin/src/test/java/org/apache/skywalking/apm/plugin/kafka/v11/KafkaConsumerInterceptorTest.java
index 06479bc..3f876bf 100644
--- a/apm-sniffer/apm-sdk-plugin/kafka-v1-plugin/src/test/java/org/apache/skywalking/apm/plugin/kafka/v11/KafkaConsumerInterceptorTest.java
+++ b/apm-sniffer/apm-sdk-plugin/kafka-v1-plugin/src/test/java/org/apache/skywalking/apm/plugin/kafka/v11/KafkaConsumerInterceptorTest.java
@@ -46,7 +46,7 @@ import org.junit.runner.RunWith;
 import org.powermock.modules.junit4.PowerMockRunner;
 import org.powermock.modules.junit4.PowerMockRunnerDelegate;
 
-import static org.apache.skywalking.apm.network.trace.component.ComponentsDefine.KAFKA;
+import static org.apache.skywalking.apm.network.trace.component.ComponentsDefine.KAFKA_CONSUMER;
 import static org.hamcrest.CoreMatchers.is;
 import static org.junit.Assert.assertThat;
 
@@ -128,7 +128,7 @@ public class KafkaConsumerInterceptorTest {
 
     private void assertConsumerSpan(AbstractTracingSpan span) {
         SpanAssert.assertLayer(span, SpanLayer.MQ);
-        SpanAssert.assertComponent(span, KAFKA);
+        SpanAssert.assertComponent(span, KAFKA_CONSUMER);
         SpanAssert.assertTagSize(span, 2);
         SpanAssert.assertTag(span, 0, "localhost:9092;localhost:19092");
         SpanAssert.assertTag(span, 1, "test;test-1");
diff --git a/apm-sniffer/apm-sdk-plugin/kafka-v1-plugin/src/test/java/org/apache/skywalking/apm/plugin/kafka/v11/KafkaProducerInterceptorTest.java b/apm-sniffer/apm-sdk-plugin/kafka-v1-plugin/src/test/java/org/apache/skywalking/apm/plugin/kafka/v11/KafkaProducerInterceptorTest.java
index aff40ca..0ca6fd7 100644
--- a/apm-sniffer/apm-sdk-plugin/kafka-v1-plugin/src/test/java/org/apache/skywalking/apm/plugin/kafka/v11/KafkaProducerInterceptorTest.java
+++ b/apm-sniffer/apm-sdk-plugin/kafka-v1-plugin/src/test/java/org/apache/skywalking/apm/plugin/kafka/v11/KafkaProducerInterceptorTest.java
@@ -38,7 +38,7 @@ import org.junit.runner.RunWith;
 import org.powermock.modules.junit4.PowerMockRunner;
 import org.powermock.modules.junit4.PowerMockRunnerDelegate;
 
-import static org.apache.skywalking.apm.network.trace.component.ComponentsDefine.KAFKA;
+import static org.apache.skywalking.apm.network.trace.component.ComponentsDefine.KAFKA_PRODUCER;
 import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.MatcherAssert.assertThat;
 
@@ -109,7 +109,7 @@ public class KafkaProducerInterceptorTest {
     private void assertMessageSpan(AbstractTracingSpan span) {
         SpanAssert.assertTag(span, 0, "localhost:9092");
         SpanAssert.assertTag(span, 1, "test");
-        SpanAssert.assertComponent(span, KAFKA);
+        SpanAssert.assertComponent(span, KAFKA_PRODUCER);
         SpanAssert.assertLayer(span, SpanLayer.MQ);
         assertThat(span.getOperationName(), is("Kafka/test/Producer"));
     }
diff --git a/apm-sniffer/apm-sdk-plugin/mongodb-2.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/mongodb/v2/MongoDBCollectionMethodInterceptor.java b/apm-sniffer/apm-sdk-plugin/mongodb-2.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/mongodb/v2/MongoDBCollectionMethodInterceptor.java
index 569a21b..adae529 100644
--- a/apm-sniffer/apm-sdk-plugin/mongodb-2.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/mongodb/v2/MongoDBCollectionMethodInterceptor.java
+++ b/apm-sniffer/apm-sdk-plugin/mongodb-2.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/mongodb/v2/MongoDBCollectionMethodInterceptor.java
@@ -53,7 +53,7 @@ public class MongoDBCollectionMethodInterceptor implements InstanceMethodsAround
         String remotePeer = (String)objInst.getSkyWalkingDynamicField();
         String operation = method.getName();
         AbstractSpan span = ContextManager.createExitSpan(MONGO_DB_OP_PREFIX + operation, new ContextCarrier(), remotePeer);
-        span.setComponent(ComponentsDefine.MONGODB);
+        span.setComponent(ComponentsDefine.MONGO_DRIVER);
         Tags.DB_TYPE.set(span, DB_TYPE);
         SpanLayer.asDB(span);
 
diff --git a/apm-sniffer/apm-sdk-plugin/mongodb-2.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/mongodb/v2/MongoDBCollectionMethodInterceptorTest.java b/apm-sniffer/apm-sdk-plugin/mongodb-2.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/mongodb/v2/MongoDBCollectionMethodInterceptorTest.java
index 22aa5d0..4214dda 100644
--- a/apm-sniffer/apm-sdk-plugin/mongodb-2.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/mongodb/v2/MongoDBCollectionMethodInterceptorTest.java
+++ b/apm-sniffer/apm-sdk-plugin/mongodb-2.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/mongodb/v2/MongoDBCollectionMethodInterceptorTest.java
@@ -109,7 +109,7 @@ public class MongoDBCollectionMethodInterceptorTest {
 
     private void assertMongoSpan(AbstractTracingSpan span) {
         assertThat(span.getOperationName(), is("MongoDB/insert"));
-        assertThat(SpanHelper.getComponentId(span), is(9));
+        assertThat(SpanHelper.getComponentId(span), is(42));
         List<KeyValuePair> tags = SpanHelper.getTags(span);
         assertThat(tags.get(0).getValue(), is("MongoDB"));
         assertThat(span.isExit(), is(true));
diff --git a/apm-sniffer/apm-sdk-plugin/mongodb-3.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/mongodb/v3/MongoDBMethodInterceptor.java b/apm-sniffer/apm-sdk-plugin/mongodb-3.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/mongodb/v3/MongoDBMethodInterceptor.java
index 53a5bbf..9987e3d 100644
--- a/apm-sniffer/apm-sdk-plugin/mongodb-3.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/mongodb/v3/MongoDBMethodInterceptor.java
+++ b/apm-sniffer/apm-sdk-plugin/mongodb-3.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/mongodb/v3/MongoDBMethodInterceptor.java
@@ -174,7 +174,7 @@ public class MongoDBMethodInterceptor implements InstanceMethodsAroundIntercepto
         String executeMethod = arguments[0].getClass().getSimpleName();
         String remotePeer = (String)objInst.getSkyWalkingDynamicField();
         AbstractSpan span = ContextManager.createExitSpan(MONGO_DB_OP_PREFIX + executeMethod, new ContextCarrier(), remotePeer);
-        span.setComponent(ComponentsDefine.MONGODB);
+        span.setComponent(ComponentsDefine.MONGO_DRIVER);
         Tags.DB_TYPE.set(span, DB_TYPE);
         SpanLayer.asDB(span);
 
diff --git a/apm-sniffer/apm-sdk-plugin/mongodb-3.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/mongodb/v3/MongoDBMethodInterceptorTest.java b/apm-sniffer/apm-sdk-plugin/mongodb-3.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/mongodb/v3/MongoDBMethodInterceptorTest.java
index 8a88d79..fd41c4b 100644
--- a/apm-sniffer/apm-sdk-plugin/mongodb-3.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/mongodb/v3/MongoDBMethodInterceptorTest.java
+++ b/apm-sniffer/apm-sdk-plugin/mongodb-3.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/mongodb/v3/MongoDBMethodInterceptorTest.java
@@ -123,7 +123,7 @@ public class MongoDBMethodInterceptorTest {
 
     private void assertRedisSpan(AbstractTracingSpan span) {
         assertThat(span.getOperationName(), is("MongoDB/FindOperation"));
-        assertThat(SpanHelper.getComponentId(span), is(9));
+        assertThat(SpanHelper.getComponentId(span), is(42));
         List<KeyValuePair> tags = SpanHelper.getTags(span);
         assertThat(tags.get(1).getValue(), is("FindOperation { \"name\" : \"by\" }"));
         assertThat(tags.get(0).getValue(), is("MongoDB"));
diff --git a/apm-sniffer/apm-sdk-plugin/mysql-5.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/jdbc/mysql/StatementExecuteMethodsInterceptorTest.java b/apm-sniffer/apm-sdk-plugin/mysql-5.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/jdbc/mysql/StatementExecuteMethodsInterceptorTest.java
index 7339fad..72dacc4 100644
--- a/apm-sniffer/apm-sdk-plugin/mysql-5.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/jdbc/mysql/StatementExecuteMethodsInterceptorTest.java
+++ b/apm-sniffer/apm-sdk-plugin/mysql-5.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/jdbc/mysql/StatementExecuteMethodsInterceptorTest.java
@@ -71,7 +71,7 @@ public class StatementExecuteMethodsInterceptorTest {
         enhanceRequireCacheObject = new StatementEnhanceInfos(connectionInfo, "SELECT * FROM test", "CallableStatement");
         when(objectInstance.getSkyWalkingDynamicField()).thenReturn(enhanceRequireCacheObject);
         when(method.getName()).thenReturn("executeQuery");
-        when(connectionInfo.getComponent()).thenReturn(ComponentsDefine.H2);
+        when(connectionInfo.getComponent()).thenReturn(ComponentsDefine.H2_JDBC_DRIVER);
         when(connectionInfo.getDBType()).thenReturn("H2");
         when(connectionInfo.getDatabaseName()).thenReturn("test");
         when(connectionInfo.getDatabasePeer()).thenReturn("localhost:3307");
diff --git a/apm-sniffer/apm-sdk-plugin/rocketMQ-3.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/rocketMQ/v3/AbstractMessageConsumeInterceptor.java b/apm-sniffer/apm-sdk-plugin/rocketMQ-3.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/rocketMQ/v3/AbstractMessageConsumeInterceptor.java
index 0a28b1b..23f815d 100644
--- a/apm-sniffer/apm-sdk-plugin/rocketMQ-3.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/rocketMQ/v3/AbstractMessageConsumeInterceptor.java
+++ b/apm-sniffer/apm-sdk-plugin/rocketMQ-3.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/rocketMQ/v3/AbstractMessageConsumeInterceptor.java
@@ -51,7 +51,7 @@ public abstract class AbstractMessageConsumeInterceptor implements InstanceMetho
         ContextCarrier contextCarrier = getContextCarrierFromMessage(msgs.get(0));
         AbstractSpan span = ContextManager.createEntrySpan(CONSUMER_OPERATION_NAME_PREFIX + msgs.get(0).getTopic() + "/Consumer", contextCarrier);
 
-        span.setComponent(ComponentsDefine.ROCKET_MQ);
+        span.setComponent(ComponentsDefine.ROCKET_MQ_CONSUMER);
         span.setLayer(SpanLayer.MQ);
         for (int i = 1; i < msgs.size(); i++) {
             ContextManager.extract(getContextCarrierFromMessage(msgs.get(i)));
diff --git a/apm-sniffer/apm-sdk-plugin/rocketMQ-3.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/rocketMQ/v3/MessageSendInterceptor.java b/apm-sniffer/apm-sdk-plugin/rocketMQ-3.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/rocketMQ/v3/MessageSendInterceptor.java
index 2c6e6e1..bc98917 100644
--- a/apm-sniffer/apm-sdk-plugin/rocketMQ-3.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/rocketMQ/v3/MessageSendInterceptor.java
+++ b/apm-sniffer/apm-sdk-plugin/rocketMQ-3.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/rocketMQ/v3/MessageSendInterceptor.java
@@ -58,7 +58,7 @@ public class MessageSendInterceptor implements InstanceMethodsAroundInterceptor
         ContextCarrier contextCarrier = new ContextCarrier();
         String namingServiceAddress = String.valueOf(objInst.getSkyWalkingDynamicField());
         AbstractSpan span = ContextManager.createExitSpan(buildOperationName(message.getTopic()), contextCarrier, namingServiceAddress);
-        span.setComponent(ComponentsDefine.ROCKET_MQ);
+        span.setComponent(ComponentsDefine.ROCKET_MQ_PRODUCER);
         Tags.MQ_BROKER.set(span, (String)allArguments[0]);
         Tags.MQ_TOPIC.set(span, message.getTopic());
         SpanLayer.asMQ(span);
diff --git a/apm-sniffer/apm-sdk-plugin/rocketMQ-3.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/rocketMQ/v3/OnExceptionInterceptor.java b/apm-sniffer/apm-sdk-plugin/rocketMQ-3.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/rocketMQ/v3/OnExceptionInterceptor.java
index 04a2203..0047967 100644
--- a/apm-sniffer/apm-sdk-plugin/rocketMQ-3.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/rocketMQ/v3/OnExceptionInterceptor.java
+++ b/apm-sniffer/apm-sdk-plugin/rocketMQ-3.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/rocketMQ/v3/OnExceptionInterceptor.java
@@ -42,7 +42,7 @@ public class OnExceptionInterceptor implements InstanceMethodsAroundInterceptor
         MethodInterceptResult result) throws Throwable {
         SendCallBackEnhanceInfo enhanceInfo = (SendCallBackEnhanceInfo)objInst.getSkyWalkingDynamicField();
         AbstractSpan activeSpan = ContextManager.createLocalSpan(CALLBACK_OPERATION_NAME_PREFIX + enhanceInfo.getTopicId() + "/Producer/Callback");
-        activeSpan.setComponent(ComponentsDefine.ROCKET_MQ);
+        activeSpan.setComponent(ComponentsDefine.ROCKET_MQ_PRODUCER);
         activeSpan.errorOccurred().log((Throwable)allArguments[0]);
         ContextManager.continued(enhanceInfo.getContextSnapshot());
     }
diff --git a/apm-sniffer/apm-sdk-plugin/rocketMQ-3.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/rocketMQ/v3/OnSuccessInterceptor.java b/apm-sniffer/apm-sdk-plugin/rocketMQ-3.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/rocketMQ/v3/OnSuccessInterceptor.java
index 01c9b76..3b38af5 100644
--- a/apm-sniffer/apm-sdk-plugin/rocketMQ-3.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/rocketMQ/v3/OnSuccessInterceptor.java
+++ b/apm-sniffer/apm-sdk-plugin/rocketMQ-3.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/rocketMQ/v3/OnSuccessInterceptor.java
@@ -45,7 +45,7 @@ public class OnSuccessInterceptor implements InstanceMethodsAroundInterceptor {
         MethodInterceptResult result) throws Throwable {
         SendCallBackEnhanceInfo enhanceInfo = (SendCallBackEnhanceInfo)objInst.getSkyWalkingDynamicField();
         AbstractSpan activeSpan = ContextManager.createLocalSpan(CALLBACK_OPERATION_NAME_PREFIX + enhanceInfo.getTopicId() + "/Producer/Callback");
-        activeSpan.setComponent(ComponentsDefine.ROCKET_MQ);
+        activeSpan.setComponent(ComponentsDefine.ROCKET_MQ_PRODUCER);
         SendStatus sendStatus = ((SendResult)allArguments[0]).getSendStatus();
         if (sendStatus != SendStatus.SEND_OK) {
             activeSpan.errorOccurred();
diff --git a/apm-sniffer/apm-sdk-plugin/rocketMQ-3.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/rocketMQ/v3/MessageSendInterceptorTest.java b/apm-sniffer/apm-sdk-plugin/rocketMQ-3.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/rocketMQ/v3/MessageSendInterceptorTest.java
index 6e68a5b..283bae5 100644
--- a/apm-sniffer/apm-sdk-plugin/rocketMQ-3.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/rocketMQ/v3/MessageSendInterceptorTest.java
+++ b/apm-sniffer/apm-sdk-plugin/rocketMQ-3.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/rocketMQ/v3/MessageSendInterceptorTest.java
@@ -109,7 +109,7 @@ public class MessageSendInterceptorTest {
         AbstractTracingSpan mqSpan = spans.get(0);
 
         SpanAssert.assertLayer(mqSpan, SpanLayer.MQ);
-        SpanAssert.assertComponent(mqSpan, ComponentsDefine.ROCKET_MQ);
+        SpanAssert.assertComponent(mqSpan, ComponentsDefine.ROCKET_MQ_PRODUCER);
         SpanAssert.assertTag(mqSpan, 0, "127.0.0.1");
         verify(messageRequestHeader, times(1)).setProperties(anyString());
         verify(callBack, times(1)).setSkyWalkingDynamicField(Matchers.any());
@@ -128,7 +128,7 @@ public class MessageSendInterceptorTest {
         AbstractTracingSpan mqSpan = spans.get(0);
 
         SpanAssert.assertLayer(mqSpan, SpanLayer.MQ);
-        SpanAssert.assertComponent(mqSpan, ComponentsDefine.ROCKET_MQ);
+        SpanAssert.assertComponent(mqSpan, ComponentsDefine.ROCKET_MQ_PRODUCER);
         SpanAssert.assertTag(mqSpan, 0, "127.0.0.1");
         verify(messageRequestHeader, times(1)).setProperties(anyString());
     }
diff --git a/apm-sniffer/apm-sdk-plugin/rocketMQ-3.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/rocketMQ/v3/OnSuccessInterceptorTest.java b/apm-sniffer/apm-sdk-plugin/rocketMQ-3.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/rocketMQ/v3/OnSuccessInterceptorTest.java
index ef8e939..27483cd 100644
--- a/apm-sniffer/apm-sdk-plugin/rocketMQ-3.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/rocketMQ/v3/OnSuccessInterceptorTest.java
+++ b/apm-sniffer/apm-sdk-plugin/rocketMQ-3.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/rocketMQ/v3/OnSuccessInterceptorTest.java
@@ -89,7 +89,7 @@ public class OnSuccessInterceptorTest {
 
         AbstractTracingSpan successSpan = spans.get(0);
 
-        SpanAssert.assertComponent(successSpan, ComponentsDefine.ROCKET_MQ);
+        SpanAssert.assertComponent(successSpan, ComponentsDefine.ROCKET_MQ_PRODUCER);
 
     }
 
@@ -106,7 +106,7 @@ public class OnSuccessInterceptorTest {
 
         AbstractTracingSpan successSpan = spans.get(0);
 
-        SpanAssert.assertComponent(successSpan, ComponentsDefine.ROCKET_MQ);
+        SpanAssert.assertComponent(successSpan, ComponentsDefine.ROCKET_MQ_PRODUCER);
         SpanAssert.assertOccurException(successSpan, true);
 
     }
diff --git a/apm-sniffer/apm-sdk-plugin/rocketMQ-4.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/rocketMQ/v4/AbstractMessageConsumeInterceptor.java b/apm-sniffer/apm-sdk-plugin/rocketMQ-4.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/rocketMQ/v4/AbstractMessageConsumeInterceptor.java
index 049d789..7ed28f8 100644
--- a/apm-sniffer/apm-sdk-plugin/rocketMQ-4.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/rocketMQ/v4/AbstractMessageConsumeInterceptor.java
+++ b/apm-sniffer/apm-sdk-plugin/rocketMQ-4.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/rocketMQ/v4/AbstractMessageConsumeInterceptor.java
@@ -52,7 +52,7 @@ public abstract class AbstractMessageConsumeInterceptor implements InstanceMetho
         ContextCarrier contextCarrier = getContextCarrierFromMessage(msgs.get(0));
         AbstractSpan span = ContextManager.createEntrySpan(COMSUMER_OPERATION_NAME_PREFIX + msgs.get(0).getTopic() + "/Consumer", contextCarrier);
 
-        span.setComponent(ComponentsDefine.ROCKET_MQ);
+        span.setComponent(ComponentsDefine.ROCKET_MQ_CONSUMER);
         SpanLayer.asMQ(span);
         for (int i = 1; i < msgs.size(); i++) {
             ContextManager.extract(getContextCarrierFromMessage(msgs.get(i)));
diff --git a/apm-sniffer/apm-sdk-plugin/rocketMQ-4.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/rocketMQ/v4/MessageSendInterceptor.java b/apm-sniffer/apm-sdk-plugin/rocketMQ-4.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/rocketMQ/v4/MessageSendInterceptor.java
index b392fcb..5173bfc 100644
--- a/apm-sniffer/apm-sdk-plugin/rocketMQ-4.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/rocketMQ/v4/MessageSendInterceptor.java
+++ b/apm-sniffer/apm-sdk-plugin/rocketMQ-4.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/rocketMQ/v4/MessageSendInterceptor.java
@@ -59,7 +59,7 @@ public class MessageSendInterceptor implements InstanceMethodsAroundInterceptor
         ContextCarrier contextCarrier = new ContextCarrier();
         String namingServiceAddress = String.valueOf(objInst.getSkyWalkingDynamicField());
         AbstractSpan span = ContextManager.createExitSpan(buildOperationName(message.getTopic()), contextCarrier, namingServiceAddress);
-        span.setComponent(ComponentsDefine.ROCKET_MQ);
+        span.setComponent(ComponentsDefine.ROCKET_MQ_PRODUCER);
         Tags.MQ_BROKER.set(span, (String)allArguments[0]);
         Tags.MQ_TOPIC.set(span, message.getTopic());
         SpanLayer.asMQ(span);
diff --git a/apm-sniffer/apm-sdk-plugin/rocketMQ-4.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/rocketMQ/v4/OnExceptionInterceptor.java b/apm-sniffer/apm-sdk-plugin/rocketMQ-4.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/rocketMQ/v4/OnExceptionInterceptor.java
index 0e1166d..f58b55f 100644
--- a/apm-sniffer/apm-sdk-plugin/rocketMQ-4.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/rocketMQ/v4/OnExceptionInterceptor.java
+++ b/apm-sniffer/apm-sdk-plugin/rocketMQ-4.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/rocketMQ/v4/OnExceptionInterceptor.java
@@ -43,7 +43,7 @@ public class OnExceptionInterceptor implements InstanceMethodsAroundInterceptor
         MethodInterceptResult result) throws Throwable {
         SendCallBackEnhanceInfo enhanceInfo = (SendCallBackEnhanceInfo)objInst.getSkyWalkingDynamicField();
         AbstractSpan activeSpan = ContextManager.createLocalSpan(CALLBACK_OPERATION_NAME_PREFIX + enhanceInfo.getTopicId() + "/Producer/Callback");
-        activeSpan.setComponent(ComponentsDefine.ROCKET_MQ);
+        activeSpan.setComponent(ComponentsDefine.ROCKET_MQ_PRODUCER);
         activeSpan.errorOccurred().log((Throwable)allArguments[0]);
         ContextManager.continued(enhanceInfo.getContextSnapshot());
     }
diff --git a/apm-sniffer/apm-sdk-plugin/rocketMQ-4.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/rocketMQ/v4/OnSuccessInterceptor.java b/apm-sniffer/apm-sdk-plugin/rocketMQ-4.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/rocketMQ/v4/OnSuccessInterceptor.java
index 22bc536..9b5f30a 100644
--- a/apm-sniffer/apm-sdk-plugin/rocketMQ-4.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/rocketMQ/v4/OnSuccessInterceptor.java
+++ b/apm-sniffer/apm-sdk-plugin/rocketMQ-4.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/rocketMQ/v4/OnSuccessInterceptor.java
@@ -46,7 +46,7 @@ public class OnSuccessInterceptor implements InstanceMethodsAroundInterceptor {
         MethodInterceptResult result) throws Throwable {
         SendCallBackEnhanceInfo enhanceInfo = (SendCallBackEnhanceInfo)objInst.getSkyWalkingDynamicField();
         AbstractSpan activeSpan = ContextManager.createLocalSpan(CALLBACK_OPERATION_NAME_PREFIX + enhanceInfo.getTopicId() + "/Producer/Callback");
-        activeSpan.setComponent(ComponentsDefine.ROCKET_MQ);
+        activeSpan.setComponent(ComponentsDefine.ROCKET_MQ_PRODUCER);
         SendStatus sendStatus = ((SendResult)allArguments[0]).getSendStatus();
         if (sendStatus != SendStatus.SEND_OK) {
             activeSpan.errorOccurred();
diff --git a/apm-sniffer/apm-sdk-plugin/rocketMQ-4.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/rocketMQ/v4/MessageSendInterceptorTest.java b/apm-sniffer/apm-sdk-plugin/rocketMQ-4.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/rocketMQ/v4/MessageSendInterceptorTest.java
index 52e3296..7c3d762 100644
--- a/apm-sniffer/apm-sdk-plugin/rocketMQ-4.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/rocketMQ/v4/MessageSendInterceptorTest.java
+++ b/apm-sniffer/apm-sdk-plugin/rocketMQ-4.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/rocketMQ/v4/MessageSendInterceptorTest.java
@@ -109,7 +109,7 @@ public class MessageSendInterceptorTest {
         AbstractTracingSpan mqSpan = spans.get(0);
 
         SpanAssert.assertLayer(mqSpan, SpanLayer.MQ);
-        SpanAssert.assertComponent(mqSpan, ComponentsDefine.ROCKET_MQ);
+        SpanAssert.assertComponent(mqSpan, ComponentsDefine.ROCKET_MQ_PRODUCER);
         SpanAssert.assertTag(mqSpan, 0, "127.0.0.1");
         verify(messageRequestHeader, times(1)).setProperties(anyString());
         verify(callBack, times(1)).setSkyWalkingDynamicField(Matchers.any());
@@ -128,7 +128,7 @@ public class MessageSendInterceptorTest {
         AbstractTracingSpan mqSpan = spans.get(0);
 
         SpanAssert.assertLayer(mqSpan, SpanLayer.MQ);
-        SpanAssert.assertComponent(mqSpan, ComponentsDefine.ROCKET_MQ);
+        SpanAssert.assertComponent(mqSpan, ComponentsDefine.ROCKET_MQ_PRODUCER);
         SpanAssert.assertTag(mqSpan, 0, "127.0.0.1");
         verify(messageRequestHeader, times(1)).setProperties(anyString());
     }
diff --git a/apm-sniffer/apm-sdk-plugin/rocketMQ-4.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/rocketMQ/v4/OnSuccessInterceptorTest.java b/apm-sniffer/apm-sdk-plugin/rocketMQ-4.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/rocketMQ/v4/OnSuccessInterceptorTest.java
index aa5eee4..4ba6a06 100644
--- a/apm-sniffer/apm-sdk-plugin/rocketMQ-4.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/rocketMQ/v4/OnSuccessInterceptorTest.java
+++ b/apm-sniffer/apm-sdk-plugin/rocketMQ-4.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/rocketMQ/v4/OnSuccessInterceptorTest.java
@@ -89,7 +89,7 @@ public class OnSuccessInterceptorTest {
 
         AbstractTracingSpan successSpan = spans.get(0);
 
-        SpanAssert.assertComponent(successSpan, ComponentsDefine.ROCKET_MQ);
+        SpanAssert.assertComponent(successSpan, ComponentsDefine.ROCKET_MQ_PRODUCER);
 
     }
 
@@ -106,7 +106,7 @@ public class OnSuccessInterceptorTest {
 
         AbstractTracingSpan successSpan = spans.get(0);
 
-        SpanAssert.assertComponent(successSpan, ComponentsDefine.ROCKET_MQ);
+        SpanAssert.assertComponent(successSpan, ComponentsDefine.ROCKET_MQ_PRODUCER);
         SpanAssert.assertOccurException(successSpan, true);
 
     }
diff --git a/apm-sniffer/apm-sdk-plugin/spymemcached-2.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spymemcached/v2/MemcachedMethodInterceptor.java b/apm-sniffer/apm-sdk-plugin/spymemcached-2.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spymemcached/v2/MemcachedMethodInterceptor.java
index caca92c..94aa8d9 100644
--- a/apm-sniffer/apm-sdk-plugin/spymemcached-2.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spymemcached/v2/MemcachedMethodInterceptor.java
+++ b/apm-sniffer/apm-sdk-plugin/spymemcached-2.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spymemcached/v2/MemcachedMethodInterceptor.java
@@ -38,8 +38,8 @@ public class MemcachedMethodInterceptor implements InstanceMethodsAroundIntercep
         Class<?>[] argumentsTypes, MethodInterceptResult result) throws Throwable {
         String peer = String.valueOf(objInst.getSkyWalkingDynamicField());
         AbstractSpan span = ContextManager.createExitSpan(SPY_MEMCACHE + method.getName(), peer);
-        span.setComponent(ComponentsDefine.MEMCACHED);
-        Tags.DB_TYPE.set(span, ComponentsDefine.MEMCACHED.getName());
+        span.setComponent(ComponentsDefine.SPYMEMCACHED);
+        Tags.DB_TYPE.set(span, ComponentsDefine.SPYMEMCACHED.getName());
         SpanLayer.asCache(span);
         Tags.DB_STATEMENT.set(span, method.getName() + " " + allArguments[0]);
     }
diff --git a/apm-sniffer/apm-sdk-plugin/spymemcached-2.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/spymemcached/v2/MemcachedMethodInterceptorTest.java b/apm-sniffer/apm-sdk-plugin/spymemcached-2.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/spymemcached/v2/MemcachedMethodInterceptorTest.java
index a1acf0f..8e72c99 100644
--- a/apm-sniffer/apm-sdk-plugin/spymemcached-2.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/spymemcached/v2/MemcachedMethodInterceptorTest.java
+++ b/apm-sniffer/apm-sdk-plugin/spymemcached-2.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/spymemcached/v2/MemcachedMethodInterceptorTest.java
@@ -112,9 +112,9 @@ public class MemcachedMethodInterceptorTest {
     private void assertMemcacheSpan(AbstractTracingSpan span) {
         assertThat(span.getOperationName(), is("SpyMemcached/set"));
         assertThat(span.isExit(), is(true));
-        assertThat(SpanHelper.getComponentId(span), is(20));
+        assertThat(SpanHelper.getComponentId(span), is(35));
         List<KeyValuePair> tags = SpanHelper.getTags(span);
-        assertThat(tags.get(0).getValue(), is("Memcached"));
+        assertThat(tags.get(0).getValue(), is("Spymemcached"));
         assertThat(tags.get(1).getValue(), is("set OperationKey"));
         MatcherAssert.assertThat(SpanHelper.getLayer(span), CoreMatchers.is(SpanLayer.CACHE));
     }
diff --git a/apm-sniffer/apm-sdk-plugin/xmemcached-2.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/xmemcached/v2/XMemcachedMethodInterceptor.java b/apm-sniffer/apm-sdk-plugin/xmemcached-2.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/xmemcached/v2/XMemcachedMethodInterceptor.java
index feb22ba..a45daf4 100644
--- a/apm-sniffer/apm-sdk-plugin/xmemcached-2.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/xmemcached/v2/XMemcachedMethodInterceptor.java
+++ b/apm-sniffer/apm-sdk-plugin/xmemcached-2.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/xmemcached/v2/XMemcachedMethodInterceptor.java
@@ -44,8 +44,8 @@ public class XMemcachedMethodInterceptor implements InstanceMethodsAroundInterce
         Class<?>[] argumentsTypes, MethodInterceptResult result) throws Throwable {
         String peer = String.valueOf(objInst.getSkyWalkingDynamicField());
         AbstractSpan span = ContextManager.createExitSpan(XMEMCACHED + method.getName(), peer);
-        span.setComponent(ComponentsDefine.MEMCACHED);
-        Tags.DB_TYPE.set(span, ComponentsDefine.MEMCACHED.getName());
+        span.setComponent(ComponentsDefine.XMEMCACHED);
+        Tags.DB_TYPE.set(span, ComponentsDefine.XMEMCACHED.getName());
         SpanLayer.asCache(span);
         Tags.DB_STATEMENT.set(span, method.getName() + " " + allArguments[0]);
     }
diff --git a/apm-sniffer/apm-sdk-plugin/xmemcached-2.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/xmemcached/v2/XMemcachedMethodInterceptorTest.java b/apm-sniffer/apm-sdk-plugin/xmemcached-2.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/xmemcached/v2/XMemcachedMethodInterceptorTest.java
index 55dfbf2..ac1277e 100644
--- a/apm-sniffer/apm-sdk-plugin/xmemcached-2.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/xmemcached/v2/XMemcachedMethodInterceptorTest.java
+++ b/apm-sniffer/apm-sdk-plugin/xmemcached-2.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/xmemcached/v2/XMemcachedMethodInterceptorTest.java
@@ -115,9 +115,9 @@ public class XMemcachedMethodInterceptorTest {
     private void assertMemcacheSpan(AbstractTracingSpan span) {
         assertThat(span.getOperationName(), is("XMemcached/set"));
         assertThat(span.isExit(), is(true));
-        assertThat(SpanHelper.getComponentId(span), is(20));
+        assertThat(SpanHelper.getComponentId(span), is(36));
         List<KeyValuePair> tags = SpanHelper.getTags(span);
-        assertThat(tags.get(0).getValue(), is("Memcached"));
+        assertThat(tags.get(0).getValue(), is("Xmemcached"));
         assertThat(tags.get(1).getValue(), is("set OperationKey"));
         assertThat(SpanHelper.getLayer(span), CoreMatchers.is(SpanLayer.CACHE));
     }

-- 
To stop receiving notification emails like this one, please contact
wusheng@apache.org.