in metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/publish/DefaultLogPublisher.java [414:457]
private StringBuilder printEdgeDetailsPerf(OperationPerfGroup perfGroup) {
StringBuilder sb = new StringBuilder();
//append rest."200":
sb.append(" ")
.append(perfGroup.getTransport())
.append(".")
.append(perfGroup.getStatus())
.append(":\n");
PerfInfo prepare, connection, decodeProviderRequest, encodeProviderResponse,
encodeConsumerRequest, decodeConsumerResponse, sendReq, getConnect,
waitResp, sendResp;
for (OperationPerf operationPerf : perfGroup.getOperationPerfs()) {
if (isIgnoreEmptyPerf(operationPerf)) {
continue;
}
prepare = operationPerf.findStage(InvocationStageTrace.STAGE_PREPARE);
connection = operationPerf.findStage(InvocationStageTrace.STAGE_CONSUMER_CONNECTION);
decodeProviderRequest = operationPerf.findStage(InvocationStageTrace.STAGE_PROVIDER_DECODE_REQUEST);
encodeProviderResponse = operationPerf.findStage(InvocationStageTrace.STAGE_PROVIDER_ENCODE_RESPONSE);
encodeConsumerRequest = operationPerf.findStage(InvocationStageTrace.STAGE_CONSUMER_ENCODE_REQUEST);
sendReq = operationPerf.findStage(InvocationStageTrace.STAGE_CONSUMER_SEND);
decodeConsumerResponse = operationPerf.findStage(InvocationStageTrace.STAGE_CONSUMER_DECODE_RESPONSE);
waitResp = operationPerf.findStage(InvocationStageTrace.STAGE_CONSUMER_WAIT);
sendResp = operationPerf.findStage(InvocationStageTrace.STAGE_PROVIDER_SEND);
sb.append(" ")
.append(operationPerf.getOperation())
.append(":\n")
.append(String.format(EDGE_DETAILS_FORMAT,
getDetailsFromPerf(prepare),
getDetailsFromPerf(decodeProviderRequest),
getDetailsFromPerf(connection),
getDetailsFromPerf(encodeConsumerRequest),
getDetailsFromPerf(sendReq),
getDetailsFromPerf(waitResp),
getDetailsFromPerf(decodeConsumerResponse),
getDetailsFromPerf(encodeProviderResponse),
getDetailsFromPerf(sendResp)
));
}
return sb;
}