in ons-core/ons-client/src/main/java/org/apache/rocketmq/ons/api/impl/tracehook/OnsConsumeMessageHookImpl.java [94:122]
public void consumeMessageAfter(ConsumeMessageContext context) {
if (context == null || context.getMsgList() == null || context.getMsgList().isEmpty()) {
return;
}
OnsTraceContext subBeforeContext = (OnsTraceContext) context.getMqTraceContext();
if (subBeforeContext.getRegionId().equals(OnsTraceConstants.default_region)) {
// if regionId is default ,skip it
return;
}
if (subBeforeContext.getTraceBeans() == null || subBeforeContext.getTraceBeans().size() < 1) {
// if subbefore bean is null ,skip it
return;
}
OnsTraceContext subAfterContext = new OnsTraceContext();
subAfterContext.setTraceType(OnsTraceType.SubAfter);
subAfterContext.setRegionId(subBeforeContext.getRegionId());
subAfterContext.setGroupName(subBeforeContext.getGroupName());
subAfterContext.setRequestId(subBeforeContext.getRequestId());
subAfterContext.setSuccess(context.isSuccess());
int costTime = (int) ((System.currentTimeMillis() - subBeforeContext.getTimeStamp()) / context.getMsgList().size());
subAfterContext.setCostTime(costTime);//
subAfterContext.setTraceBeans(subBeforeContext.getTraceBeans());
String contextType = context.getProps().get(MixAll.CONSUME_CONTEXT_TYPE);
if (contextType != null) {
subAfterContext.setContextCode(ConsumeReturnType.valueOf(contextType).ordinal());
}
localDispatcher.append(subAfterContext);
}