public static List decodeFromTraceTransData()

in src/main/java/org/apache/rocketmq/dashboard/model/MessageTraceView.java [53:92]


    public static List<MessageTraceView> decodeFromTraceTransData(String key, MessageExt messageExt) {
        List<MessageTraceView> messageTraceViewList = new ArrayList<MessageTraceView>();
        String messageBody = new String(messageExt.getBody(), Charsets.UTF_8);
        if (messageBody == null || messageBody.length() <= 0) {
            return messageTraceViewList;
        }

        List<TraceContext> traceContextList = MsgTraceDecodeUtil.decoderFromTraceDataString(messageBody);
        for (TraceContext context : traceContextList) {
            MessageTraceView messageTraceView = new MessageTraceView();
            TraceBean traceBean = context.getTraceBeans().get(0);
            if (!traceBean.getMsgId().equals(key)) {
                continue;
            }
            messageTraceView.setCostTime(context.getCostTime());
            messageTraceView.setGroupName(context.getGroupName());
            if (context.isSuccess()) {
                messageTraceView.setStatus(MessageTraceStatusEnum.SUCCESS.getStatus());
            } else {
                messageTraceView.setStatus(MessageTraceStatusEnum.FAILED.getStatus());
            }
            messageTraceView.setKeys(traceBean.getKeys());
            messageTraceView.setMsgId(traceBean.getMsgId());
            messageTraceView.setTags(traceBean.getTags());
            messageTraceView.setTopic(traceBean.getTopic());
            messageTraceView.setMsgType(traceBean.getMsgType() == null ? null : traceBean.getMsgType().name());
            messageTraceView.setOffSetMsgId(traceBean.getOffsetMsgId());
            messageTraceView.setTimeStamp(context.getTimeStamp());
            messageTraceView.setStoreHost(traceBean.getStoreHost());
            messageTraceView.setClientHost(messageExt.getBornHostString());
            messageTraceView.setRequestId(context.getRequestId());
            messageTraceView.setRetryTimes(traceBean.getRetryTimes());
            messageTraceView.setTransactionState(traceBean.getTransactionState() == null ? null : traceBean.getTransactionState().name());
            messageTraceView.setTransactionId(traceBean.getTransactionId());
            messageTraceView.setFromTransactionCheck(traceBean.isFromTransactionCheck());
            messageTraceView.setTraceType(context.getTraceType() == null ? null : context.getTraceType().name());
            messageTraceViewList.add(messageTraceView);
        }
        return messageTraceViewList;
    }