in ons-core/ons-client/src/main/java/org/apache/rocketmq/ons/api/impl/tracehook/OnsClientSendMessageHookImpl.java [46:66]
public void sendMessageBefore(SendMessageContext context) {
if (context == null || context.getMessage().getTopic().startsWith(MixAll.SYSTEM_TOPIC_PREFIX)) {
return;
}
OnsTraceContext onsContext = new OnsTraceContext();
onsContext.setTraceBeans(new ArrayList<OnsTraceBean>(1));
context.setMqTraceContext(onsContext);
onsContext.setTraceType(OnsTraceType.Pub);
String userGroup = NamespaceUtil.withoutNamespace(context.getProducerGroup(), context.getNamespace());
onsContext.setGroupName(userGroup);
OnsTraceBean traceBean = new OnsTraceBean();
String userTopic = NamespaceUtil.withoutNamespace(context.getMessage().getTopic(), context.getNamespace());
traceBean.setTopic(userTopic);
traceBean.setTags(context.getMessage().getTags());
traceBean.setKeys(context.getMessage().getKeys());
traceBean.setStoreHost(context.getBrokerAddr());
traceBean.setBodyLength(context.getMessage().getBody().length);
traceBean.setMsgType(context.getMsgType());
onsContext.getTraceBeans().add(traceBean);
}