in metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/publish/DefaultLogPublisher.java [392:437]
private StringBuilder printConsumerDetailsPerf(OperationPerfGroup perfGroup) {
StringBuilder sb = new StringBuilder();
//append rest."200":
sb.append(" ")
.append(perfGroup.getTransport())
.append(".")
.append(perfGroup.getStatus())
.append(":\n");
PerfInfo prepare, handlersReq, clientFiltersReq, sendReq, getConnect, writeBuf,
waitResp, wakeConsumer, clientFiltersResp, handlersResp;
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);
handlersReq = operationPerf.findStage(MeterInvocationConst.STAGE_HANDLERS_REQUEST);
clientFiltersReq = operationPerf.findStage(MeterInvocationConst.STAGE_CLIENT_FILTERS_REQUEST);
sendReq = operationPerf.findStage(MeterInvocationConst.STAGE_CONSUMER_SEND_REQUEST);
getConnect = operationPerf.findStage(MeterInvocationConst.STAGE_CONSUMER_GET_CONNECTION);
writeBuf = operationPerf.findStage(MeterInvocationConst.STAGE_CONSUMER_WRITE_TO_BUF);
waitResp = operationPerf.findStage(MeterInvocationConst.STAGE_CONSUMER_WAIT_RESPONSE);
wakeConsumer = operationPerf.findStage(MeterInvocationConst.STAGE_CONSUMER_WAKE_CONSUMER);
clientFiltersResp = operationPerf.findStage(MeterInvocationConst.STAGE_CLIENT_FILTERS_RESPONSE);
handlersResp = operationPerf.findStage(MeterInvocationConst.STAGE_HANDLERS_RESPONSE);
sb.append(" ")
.append(operationPerf.getOperation())
.append(":\n")
.append(String.format(CONSUMER_DETAILS_FORMAT,
getDetailsFromPerf(prepare),
getDetailsFromPerf(handlersReq),
getDetailsFromPerf(clientFiltersReq),
getDetailsFromPerf(sendReq),
getDetailsFromPerf(getConnect),
getDetailsFromPerf(writeBuf),
getDetailsFromPerf(waitResp),
getDetailsFromPerf(wakeConsumer),
getDetailsFromPerf(clientFiltersResp),
getDetailsFromPerf(handlersResp)
));
}
return sb;
}