in metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/publish/DefaultLogPublisher.java [351:390]
private StringBuilder printProducerDetailsPerf(OperationPerfGroup perfGroup) {
StringBuilder sb = new StringBuilder();
//append rest."200":
sb.append(" ")
.append(perfGroup.getTransport())
.append(".")
.append(perfGroup.getStatus())
.append(":\n");
PerfInfo prepare, queue, filtersReq, handlersReq, execute, handlersResp, filtersResp, sendResp;
for (OperationPerf operationPerf : perfGroup.getOperationPerfs()) {
PerfInfo stageTotal = operationPerf.findStage(MeterInvocationConst.STAGE_TOTAL);
if (Double.compare(0D, stageTotal.getTps()) == 0) {
continue;
}
prepare = operationPerf.findStage(MeterInvocationConst.STAGE_PREPARE);
queue = operationPerf.findStage(MeterInvocationConst.STAGE_EXECUTOR_QUEUE);
filtersReq = operationPerf.findStage(MeterInvocationConst.STAGE_SERVER_FILTERS_REQUEST);
handlersReq = operationPerf.findStage(MeterInvocationConst.STAGE_HANDLERS_REQUEST);
execute = operationPerf.findStage(MeterInvocationConst.STAGE_EXECUTION);
handlersResp = operationPerf.findStage(MeterInvocationConst.STAGE_HANDLERS_RESPONSE);
filtersResp = operationPerf.findStage(MeterInvocationConst.STAGE_SERVER_FILTERS_RESPONSE);
sendResp = operationPerf.findStage(MeterInvocationConst.STAGE_PRODUCER_SEND_RESPONSE);
sb.append(" ")
.append(operationPerf.getOperation())
.append(":\n")
.append(String.format(PRODUCER_DETAILS_FORMAT,
getDetailsFromPerf(prepare),
getDetailsFromPerf(queue),
getDetailsFromPerf(filtersReq),
getDetailsFromPerf(handlersReq),
getDetailsFromPerf(execute),
getDetailsFromPerf(handlersResp),
getDetailsFromPerf(filtersResp),
getDetailsFromPerf(sendResp)
));
}
return sb;
}