private void logSlowEdge()

in metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/publish/SlowInvocationLogger.java [158:204]


  private void logSlowEdge(Invocation invocation, Response response, OperationConfig operationConfig) {
    RestOperationMeta restOperationMeta = invocation.getOperationMeta().getExtData(RestConst.SWAGGER_REST_OPERATION);
    InvocationStageTrace stageTrace = invocation.getInvocationStageTrace();
    invocation.getTraceIdLogger().warn(LOGGER, ""
            + "slow({} ms) invocation, {}:\n"
            + "  http method: {}\n"
            + "  url        : {}\n"
            + "  server     : {}\n"
            + "  status code: {}\n"
            + "  total      : {} ms\n"
            + "    prepare                : {} ms\n"
            + "    threadPoolQueue        : {} ms\n"
            + "    server filters request : {} ms\n"
            + "    handlers request       : {} ms\n"
            + "    client filters request : {} ms\n"
            + "    send request           : {} ms\n"
            + "    get connection         : {} ms\n"
            + "    write to buf           : {} ms\n"
            + "    wait response          : {} ms\n"
            + "    wake consumer          : {} ms\n"
            + "    client filters response: {} ms\n"
            + "    handlers response      : {} ms\n"
            + "    server filters response: {} ms\n"
            + "    send response          : {} ms",
        operationConfig.getMsSlowInvocation(),
        invocation.getInvocationQualifiedName(),
        restOperationMeta.getHttpMethod(),
        restOperationMeta.getAbsolutePath(),
        collectTargetAddress(invocation),
        response.getStatusCode(),
        formatTime(stageTrace.calcTotalTime()),
        formatTime(stageTrace.calcInvocationPrepareTime()),
        formatTime(stageTrace.calcThreadPoolQueueTime()),
        formatTime(stageTrace.calcServerFiltersRequestTime()),
        formatTime(stageTrace.calcHandlersRequestTime()),
        formatTime(stageTrace.calcClientFiltersRequestTime()),
        formatTime(stageTrace.calcSendRequestTime()),
        formatTime(stageTrace.calcGetConnectionTime()),
        formatTime(stageTrace.calcWriteToBufferTime()),
        formatTime(stageTrace.calcReceiveResponseTime()),
        formatTime(stageTrace.calcWakeConsumer()),
        formatTime(stageTrace.calcClientFiltersResponseTime()),
        formatTime(stageTrace.calcHandlersResponseTime()),
        formatTime(stageTrace.calcServerFiltersResponseTime()),
        formatTime(stageTrace.calcSendResponseTime())
    );
  }