public void computByMetricType()

in ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/ComputeTimerServiceExtensionImpl.java [58:148]


    public void computByMetricType(AppMonitorRequest param, String appName, MetricKind metricKind, AppAlarmData.AppAlarmDataBuilder dataBuilder, Long startTime, Long endTime, String timeDuration, Long step) {

        try {
            //当前页面
            MetricKind.MetricType curMetricType = null;
            if (param != null) {
                curMetricType = MetricKind.getMetricTypeByCode(param.getMetricType());
            }
            switch (metricKind){
                case http:

                    // http请求异常统计
                    Result<PageData> httpExceptions = prometheusService.queryRangeSumOverTime(ReqErrorMetrics.httpError.getCode(),getLable(MetricKind.MetricType.http_exception, curMetricType, param), appName, MetricSuffix._total.name(), startTime, endTime, step, timeDuration,null);
                    dataBuilder.httpExceptionNum(countRecordMetric(httpExceptions));

                    // httpClient请求异常统计
                    Result<PageData> httpClientExceptions = prometheusService.queryRangeSumOverTime(ReqErrorMetrics.httpClientError.getCode(), getLable(MetricKind.MetricType.http_client_exception, curMetricType, param), appName, MetricSuffix._total.name(), startTime, endTime, step, timeDuration,null);
                    dataBuilder.httpClientExceptionNum(countRecordMetric(httpClientExceptions));

                    // http请求慢查询统计
                    Result<PageData> httpSlowQuery = prometheusService.queryRangeSumOverTime(ReqSlowMetrics.httpSlowQuery.getCode(),getLable(MetricKind.MetricType.http_slow, curMetricType, param), appName, MetricSuffix._total.name(), startTime, endTime, step, timeDuration,null);
                    dataBuilder.httpSlowNum(countRecordMetric(httpSlowQuery));

                    // httpClient请求慢查询统计
                    Result<PageData> httpClientSlowQuerys = prometheusService.queryRangeSumOverTime(ReqSlowMetrics.httpClientSlowQuery.getCode(), getLable(MetricKind.MetricType.http_client_slow_query, curMetricType, param), appName, MetricSuffix._total.name(), startTime, endTime, step, timeDuration,null);
                    dataBuilder.httpClientSlowNum(countRecordMetric(httpClientSlowQuerys));

                    break;

                case dubbo:

                    // dubbo请求异常统计
                    Result<PageData> dubboExceptions = prometheusService.queryRangeSumOverTime(ReqErrorMetrics.dubboConsumerError.getCode(), getLable(MetricKind.MetricType.dubbo_consumer_exception, curMetricType, param), appName, MetricSuffix._total.name(), startTime, endTime, step, timeDuration,null);
                    dataBuilder.dubboExceptionNum(countRecordMetric(dubboExceptions));
                    // dubbo请求异常统计
                    Result<PageData> dubboPExceptions = prometheusService.queryRangeSumOverTime(ReqErrorMetrics.dubboProvider.getCode(), getLable(MetricKind.MetricType.dubbo_provider_exception, curMetricType, param), appName, MetricSuffix._total.name(), startTime, endTime, step, timeDuration,null);
                    dataBuilder.dubboPExceptionNum(countRecordMetric(dubboPExceptions));
                    // dubbo consumer慢请求统计
                    Result<PageData> dubboConsumerSlowQuerys = prometheusService.queryRangeSumOverTime(ReqSlowMetrics.dubboConsumerSlowQuery.getCode(), getLable(MetricKind.MetricType.dubbo_consumer_slow_query, curMetricType, param), appName, MetricSuffix._total.name(), startTime, endTime, step, timeDuration,null);
                    dataBuilder.dubboCSlowQueryNum(countRecordMetric(dubboConsumerSlowQuerys));
                    log.info("projectName:{},dubboConsumerSlowQuerys:{}",appName,dubboConsumerSlowQuerys);
                    // dubbo provider慢请求统计
                    Result<PageData> dubboProviderSlowQuerys = prometheusService.queryRangeSumOverTime(ReqSlowMetrics.dubboProviderSlowQuery.getCode(), getLable(MetricKind.MetricType.dubbo_provider_slow_query, curMetricType, param), appName, MetricSuffix._total.name(), startTime, endTime, step, timeDuration,null);
                    dataBuilder.dubboProviderSlowQueryNum(countRecordMetric(dubboProviderSlowQuerys));
                    log.info("projectName:{},dubboProviderSlowQuerys:{}",appName,dubboProviderSlowQuerys);

                    break;

                case grpc :
                    // grpc请求异常统计
                    Result<PageData> grpcServerExceptions = prometheusService.queryRangeSumOverTime(ReqErrorMetrics.grpcServerError.getCode(), getLable(MetricKind.MetricType.grpc_server_exception, curMetricType, param), appName, MetricSuffix._total.name(), startTime, endTime, step, timeDuration,null);
                    dataBuilder.grpcServerErrorNum(countRecordMetric(grpcServerExceptions));

                    Result<PageData> grpcClientExceptions = prometheusService.queryRangeSumOverTime(ReqErrorMetrics.grpcClientError.getCode(), getLable(MetricKind.MetricType.grpc_client_exception, curMetricType, param), appName, MetricSuffix._total.name(), startTime, endTime, step, timeDuration,null);
                    dataBuilder.grpcClientErrorNum(countRecordMetric(grpcClientExceptions));

                    Result<PageData> grpcClientSlowQuery = prometheusService.queryRangeSumOverTime(ReqSlowMetrics.grpcClientSlowQuery.getCode(), getLable(MetricKind.MetricType.grpc_client_slow_query, curMetricType, param), appName, MetricSuffix._total.name(), startTime, endTime, step, timeDuration,null);
                    dataBuilder.grpcClientSlowQueryNum(countRecordMetric(grpcClientSlowQuery));

                    Result<PageData> grpcServerSlowQuery = prometheusService.queryRangeSumOverTime(ReqSlowMetrics.grpcServerSlowQuery.getCode(), getLable(MetricKind.MetricType.grpc_server_slow_query, curMetricType, param), appName, MetricSuffix._total.name(), startTime, endTime, step, timeDuration,null);
                    dataBuilder.grpcServerSlowQueryNum(countRecordMetric(grpcServerSlowQuery));

                    break;

                case db :
                    // mysql请求异常统计
                    Result<PageData> sqlExceptions = prometheusService.queryRangeSumOverTime(ReqErrorMetrics.dbError.getCode(), getLable(MetricKind.MetricType.db_exception, curMetricType, param), appName, MetricSuffix._total.name(), startTime, endTime, step, timeDuration,null);
                    dataBuilder.sqlExceptionNum(countRecordMetric(sqlExceptions));
                    // mysql慢请求统计
                    Result<PageData> sqlSlowQuerys = prometheusService.queryRangeSumOverTime(ReqSlowMetrics.dbSlowQuery.getCode(), getLable(MetricKind.MetricType.db_slow_query, curMetricType, param), appName, MetricSuffix._total.name(), startTime, endTime, step, timeDuration,null);
                    dataBuilder.sqlSlowQueryNum(countRecordMetric(sqlSlowQuerys));
                    break;

                case redis :
                    // redis请求异常统计
                    Result<PageData> redisExceptions = prometheusService.queryRangeSumOverTime(ReqErrorMetrics.redisError.getCode(), getLable(MetricKind.MetricType.redis_exception, curMetricType, param), appName, MetricSuffix._total.name(), startTime, endTime, step, timeDuration,null);
                    dataBuilder.redisExceptionNum(countRecordMetric(redisExceptions));

                    Result<PageData> redisSlowQuerys = prometheusService.queryRangeSumOverTime(ReqSlowMetrics.redisSlow.getCode(), getLable(MetricKind.MetricType.redis_slow, curMetricType, param), appName, MetricSuffix._total.name(), startTime, endTime, step, timeDuration,null);
                    dataBuilder.redisSlowNum(countRecordMetric(redisSlowQuerys));
                    break;

                default:
                    log.error("invalid metric kind assign! metricType:{}",metricKind);
                    break;

            }
        } catch (Exception e) {
            log.error("ComputeTimerServiceV2.getAppAlarmData error! appName={}", appName, e);
        }
    }