{"record":{"id":"7d38956c98019152","repo":"pinpoint-apm/pinpoint","slug":"no-such-metric","errorCode":null,"errorMessage":"No Such Metric","messagePattern":"No Such Metric","errorType":"exception","errorClass":"RuntimeException","httpStatus":null,"severity":"error","filePath":"metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/service/SystemMetricDataServiceImpl.java","lineNumber":133,"sourceCode":"            return metricValueList;\n        } catch (Throwable e) {\n            throw new RuntimeException(e);\n        }\n    }\n\n    private List<QueryResult<Number>> selectAll(MetricDataSearchKey metricDataSearchKey, Metric elementOfBasicGroupList, List<Tag> tags) {\n        List<QueryResult<? extends Number>> invokeList = new ArrayList<>();\n        for (Field field : elementOfBasicGroupList.getFields()) {\n            MetricDataName metricDataName = new MetricDataName(metricDataSearchKey.getMetricName(), field.getName());\n            MetricDataType metricDataType = systemMetricDataTypeService.getMetricDataType(metricDataName);\n            List<MetricTag> metricTagList = systemMetricHostInfoService.getTag(metricDataSearchKey, field, tags);\n\n            for (MetricTag metricTag : metricTagList) {\n                if (MetricDataType.DOUBLE == metricDataType) {\n                    CompletableFuture<List<DataPoint<Double>>> doubleFuture = systemMetricDoubleDao.getAsyncSampledSystemMetricData(metricDataSearchKey, metricTag);\n                    invokeList.add(new QueryResult<>(metricDataType, doubleFuture, metricTag));\n                } else {\n                    throw new RuntimeException(\"No Such Metric\");\n                }\n            }\n        }\n        return (List<QueryResult<Number>>)(List<?>) invokeList;\n    }\n\n    private record QueryResult<T extends Number>(MetricDataType type, CompletableFuture<List<DataPoint<T>>> future, MetricTag tag) {\n    }\n\n\n    private List<MetricValueGroup<? extends Number>> groupingMetricValue(List<MetricValue<?>> metricValueList, GroupingRule groupingRule) {\n        if (GroupingRule.TAG == groupingRule) {\n            return groupingByTag(metricValueList);\n        }\n        throw new UnsupportedOperationException(\"unsupported groupingRule :\" + groupingRule);\n    }\n\n    private List<MetricValueGroup<? extends Number>> groupingByTag(List<MetricValue<? extends Number>> metricValueList) {","sourceCodeStart":115,"sourceCodeEnd":151,"githubUrl":"https://github.com/pinpoint-apm/pinpoint/blob/744c3d3075e595656abb1ae331ad2c0e4c9eb996/metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/service/SystemMetricDataServiceImpl.java#L115-L151","documentation":"Sentinel RuntimeException in SystemMetricDataServiceImpl.selectAll: a metric field's data type is neither the recognized counter (Long) nor gauge (Double) type, so no DAO branch applies — an unregistered/unsupported metric data type in the basic group definition.","triggerScenarios":"Thrown at metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/service/SystemMetricDataServiceImpl.java:133 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Extend SystemMetricDataTypeService to map the metric's field type","Fix the metric definition YML so field types match supported types","Add a new DAO branch for the missing data type"],"exampleFix":null,"handlingStrategy":"type-guard","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"744c3d3075e595656abb1ae331ad2c0e4c9eb996","analyzedAt":"2026-09-07T18:48:45.289Z","contentChangedAt":"2026-09-07T18:48:45.289Z","schemaVersion":2},"datasetVersion":"2026-09-17T15:17:12.973Z"}