You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by GitBox <gi...@apache.org> on 2022/11/01 02:25:17 UTC

[GitHub] [skywalking-java] zhyyu commented on a diff in pull request #369: Add MQ_TOPIC and MQ_BROKER tags for RocketMQ consumer's span

zhyyu commented on code in PR #369:
URL: https://github.com/apache/skywalking-java/pull/369#discussion_r1010016030


##########
apm-sniffer/apm-sdk-plugin/rocketMQ-4.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/rocketMQ/v4/AbstractMessageConsumeInterceptor.java:
##########
@@ -48,7 +50,12 @@ public final void beforeMethod(EnhancedInstance objInst, Method method, Object[]
         ContextCarrier contextCarrier = getContextCarrierFromMessage(msgs.get(0));
         AbstractSpan span = ContextManager.createEntrySpan(CONSUMER_OPERATION_NAME_PREFIX + msgs.get(0)
                                                                                                 .getTopic() + "/Consumer", contextCarrier);
-
+        Tags.MQ_TOPIC.set(span, msgs.get(0).getTopic());
+        if (msgs.get(0).getStoreHost() != null) {
+            String brokerAddress = msgs.get(0).getStoreHost().toString();
+            brokerAddress = StringUtils.removeStart(brokerAddress, "/");
+            Tags.MQ_BROKER.set(span, brokerAddress);

Review Comment:
   The whole actualData.yaml like below, the provider has peer `namesrv:9876`, not consumer doesn't have a peer.
   
   ```
   segmentItems:
   - serviceName: rocketmq-scenario
     segmentSize: 3
     segments:
     - segmentId: c6514e62e4ae4c72b248e74d3abefb02.37.16671294232900000
       spans:
       - operationName: RocketMQ/HealthCheckTopicTest/Producer
         parentSpanId: 0
         spanId: 1
         spanLayer: MQ
         startTime: 1667129424630
         endTime: 1667129424881
         componentId: 38
         isError: false
         spanType: Exit
         peer: namesrv:9876
         skipAnalysis: false
         tags:
         - {key: mq.broker, value: '172.18.0.3:10911'}
         - {key: mq.topic, value: HealthCheckTopicTest}
       - operationName: HEAD:/case/healthCheck
         parentSpanId: -1
         spanId: 0
         spanLayer: Http
         startTime: 1667129423326
         endTime: 1667129424907
         componentId: 14
         isError: false
         spanType: Entry
         peer: ''
         skipAnalysis: false
         tags:
         - {key: url, value: 'http://localhost:8080/rocketmq-scenario/case/healthCheck'}
         - {key: http.method, value: HEAD}
         - {key: http.status_code, value: '200'}
     - segmentId: c6514e62e4ae4c72b248e74d3abefb02.38.16671294249190000
       spans:
       - operationName: RocketMQ/TopicTest/Producer
         parentSpanId: 0
         spanId: 1
         spanLayer: MQ
         startTime: 1667129425017
         endTime: 1667129425171
         componentId: 38
         isError: false
         spanType: Exit
         peer: namesrv:9876
         skipAnalysis: false
         tags:
         - {key: mq.broker, value: '172.18.0.3:10911'}
         - {key: mq.topic, value: TopicTest}
       - operationName: GET:/case/rocketmq-scenario
         parentSpanId: -1
         spanId: 0
         spanLayer: Http
         startTime: 1667129424919
         endTime: 1667129425189
         componentId: 14
         isError: false
         spanType: Entry
         peer: ''
         skipAnalysis: false
         tags:
         - {key: url, value: 'http://localhost:8080/rocketmq-scenario/case/rocketmq-scenario'}
         - {key: http.method, value: GET}
         - {key: http.status_code, value: '200'}
     - segmentId: c6514e62e4ae4c72b248e74d3abefb02.87.16671294268870000
       spans:
       - operationName: RocketMQ/TopicTest/Consumer
         parentSpanId: -1
         spanId: 0
         spanLayer: MQ
         startTime: 1667129426887
         endTime: 1667129426923
         componentId: 39
         isError: false
         spanType: Entry
         peer: ''
         skipAnalysis: false
         tags:
         - {key: transmission.latency, value: '1893'}
         - {key: mq.topic, value: TopicTest}
         - {key: mq.broker, value: '172.18.0.3:10911'}
         refs:
         - {parentEndpoint: 'GET:/case/rocketmq-scenario', networkAddress: 'namesrv:9876',
           refType: CrossProcess, parentSpanId: 1, parentTraceSegmentId: c6514e62e4ae4c72b248e74d3abefb02.38.16671294249190000,
           parentServiceInstance: 5c87291341ab409e84c09b7998b83f69@172.18.0.5, parentService: rocketmq-scenario,
           traceId: c6514e62e4ae4c72b248e74d3abefb02.38.16671294249190001}
   meterItems:
   - serviceName: rocketmq-scenario
     meterSize: 5
     meters:
     - meterId:
         name: thread_pool
         tags:
         - {name: metric_type, value: active_size}
         - {name: pool_name, value: tomcat_execute_pool}
       singleValue: 0.0
     - meterId:
         name: thread_pool
         tags:
         - {name: metric_type, value: queue_size}
         - {name: pool_name, value: tomcat_execute_pool}
       singleValue: 0.0
     - meterId:
         name: thread_pool
         tags:
         - {name: metric_type, value: pool_size}
         - {name: pool_name, value: tomcat_execute_pool}
       singleValue: 10.0
     - meterId:
         name: thread_pool
         tags:
         - {name: metric_type, value: core_pool_size}
         - {name: pool_name, value: tomcat_execute_pool}
       singleValue: 10.0
     - meterId:
         name: thread_pool
         tags:
         - {name: metric_type, value: max_pool_size}
         - {name: pool_name, value: tomcat_execute_pool}
       singleValue: 200.0
   logItems: []
   
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org