From 7ba13a9e3a43f2adf5c7ebacc3cff9a25216021c Mon Sep 17 00:00:00 2001 From: "minwoo.jung" Date: Fri, 27 Aug 2021 17:33:38 +0900 Subject: [PATCH] [#8004] Change applicationName to hostGroupId, change schema to add serviceId --- .../controller/TelegrafMetricController.java | 9 ++++----- .../dao/pinot/PinotSystemMetricDoubleDao.java | 6 +++--- .../dao/pinot/PinotSystemMetricLongDao.java | 6 +++--- .../metric/collector/view/SystemMetricView.java | 10 +++++----- .../web/controller/SystemMetricController.java | 12 ++++++------ .../pinpoint/metric/web/util/QueryParameter.java | 14 +++++++------- .../metric/src/main/pinot/pinot-double-schema.json | 7 ++++++- .../metric/src/main/pinot/pinot-double-table.json | 2 +- .../metric/src/main/pinot/pinot-long-schema.json | 7 ++++++- .../metric/src/main/pinot/pinot-long-table.json | 2 +- .../mapper/pinot/SystemMetricDoubleMapper.xml | 6 +++--- .../mapper/pinot/SystemMetricLongMapper.xml | 6 +++--- 12 files changed, 48 insertions(+), 39 deletions(-) diff --git a/metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/collector/controller/TelegrafMetricController.java b/metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/collector/controller/TelegrafMetricController.java index 4b68ecb0f9fd..9ab5138dd65f 100644 --- a/metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/collector/controller/TelegrafMetricController.java +++ b/metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/collector/controller/TelegrafMetricController.java @@ -23,7 +23,6 @@ import com.navercorp.pinpoint.metric.collector.service.SystemMetricService; import com.navercorp.pinpoint.metric.collector.service.SystemMetricTagService; import com.navercorp.pinpoint.metric.common.model.DoubleMetric; -import com.navercorp.pinpoint.metric.common.model.LongMetric; import com.navercorp.pinpoint.metric.common.model.Metrics; import com.navercorp.pinpoint.metric.common.model.SystemMetric; import com.navercorp.pinpoint.metric.common.model.Tag; @@ -70,22 +69,22 @@ public TelegrafMetricController(SystemMetricService systemMetricService, @PostMapping(value = "/telegraf") public ResponseEntity saveSystemMetric( - @RequestHeader(value = "Application-Name") String applicationName, + @RequestHeader(value = "hostGroupId") String hostGroupId, @RequestBody TelegrafMetrics telegrafMetrics, BindingResult bindingResult ) throws BindException { if (bindingResult.hasErrors()) { SimpleErrorMessage simpleErrorMessage = new SimpleErrorMessage(bindingResult); - logger.warn("metric binding error. header=Application-Name:{} errorCount:{} {}", applicationName, bindingResult.getErrorCount(), simpleErrorMessage); + logger.warn("metric binding error. header=hostGroupId:{} errorCount:{} {}", hostGroupId, bindingResult.getErrorCount(), simpleErrorMessage); throw new BindException(bindingResult); } if (logger.isInfoEnabled()) { String host = getHost(telegrafMetrics); - logger.info("Application-Name:{} host:{} size:{}", applicationName, host, telegrafMetrics.size()); + logger.info("hostGroupId:{} host:{} size:{}", hostGroupId, host, telegrafMetrics.size()); } logger.info("telegrafMetrics:{}", telegrafMetrics); - Metrics systemMetric = toMetrics(applicationName, telegrafMetrics); + Metrics systemMetric = toMetrics(hostGroupId, telegrafMetrics); updateMetadata(systemMetric); systemMetricService.insert(systemMetric); diff --git a/metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/collector/dao/pinot/PinotSystemMetricDoubleDao.java b/metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/collector/dao/pinot/PinotSystemMetricDoubleDao.java index 7fe1fd46dedb..75921c082904 100644 --- a/metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/collector/dao/pinot/PinotSystemMetricDoubleDao.java +++ b/metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/collector/dao/pinot/PinotSystemMetricDoubleDao.java @@ -43,12 +43,12 @@ public PinotSystemMetricDoubleDao(KafkaTemplate kafkaD } @Override - public void insert(String applicationName, List systemMetrics) { - Objects.requireNonNull(applicationName, "applicationName"); + public void insert(String hostGroupId, List systemMetrics) { + Objects.requireNonNull(hostGroupId, "hostGroupId"); Objects.requireNonNull(systemMetrics, "systemMetrics"); for (DoubleMetric doubleMetric : systemMetrics) { - SystemMetricView systemMetricView = new SystemMetricView(applicationName, doubleMetric); + SystemMetricView systemMetricView = new SystemMetricView(hostGroupId, doubleMetric); this.kafkaDoubleTemplate.send(topic, systemMetricView); } } diff --git a/metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/collector/dao/pinot/PinotSystemMetricLongDao.java b/metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/collector/dao/pinot/PinotSystemMetricLongDao.java index a2b5af2954c4..de163aee6bd7 100644 --- a/metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/collector/dao/pinot/PinotSystemMetricLongDao.java +++ b/metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/collector/dao/pinot/PinotSystemMetricLongDao.java @@ -43,12 +43,12 @@ public PinotSystemMetricLongDao(KafkaTemplate kafkaLon } @Override - public void insert(String applicationName, List systemMetrics) { - Objects.requireNonNull(applicationName, "applicationName"); + public void insert(String hostGroupId, List systemMetrics) { + Objects.requireNonNull(hostGroupId, "hostGroupId"); Objects.requireNonNull(systemMetrics, "systemMetrics"); for (LongMetric longMetric : systemMetrics) { - SystemMetricView systemMetricView = new SystemMetricView(applicationName, longMetric); + SystemMetricView systemMetricView = new SystemMetricView(hostGroupId, longMetric); this.kafkaLongTemplate.send(topic, systemMetricView); } } diff --git a/metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/collector/view/SystemMetricView.java b/metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/collector/view/SystemMetricView.java index c4b95387a0f2..58d709c00f83 100644 --- a/metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/collector/view/SystemMetricView.java +++ b/metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/collector/view/SystemMetricView.java @@ -6,16 +6,16 @@ import java.util.Objects; public class SystemMetricView { - private final String applicationName; + private final String hostGroupId; private final SystemMetric metric; - public SystemMetricView(String applicationName, SystemMetric metric) { - this.applicationName = Objects.requireNonNull(applicationName, "applicationName"); + public SystemMetricView(String hostGroupId, SystemMetric metric) { + this.hostGroupId = Objects.requireNonNull(hostGroupId, "hostGroupId"); this.metric = Objects.requireNonNull(metric, "metric"); } - public String getApplicationName() { - return applicationName; + public String getHostGroupId() { + return hostGroupId; } @JsonUnwrapped diff --git a/metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/controller/SystemMetricController.java b/metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/controller/SystemMetricController.java index b2da7b73fa1d..d6fe2f325005 100644 --- a/metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/controller/SystemMetricController.java +++ b/metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/controller/SystemMetricController.java @@ -62,7 +62,7 @@ public SystemMetricController(SystemMetricDataService systemMetricDataService, S @Deprecated @GetMapping(value = "/list") public List getSystemMetricBoList( - @RequestParam("applicationName") String applicationName, + @RequestParam("hostGroupId") String hostGroupId, @RequestParam("hostName") String hostName, @RequestParam("metricName") String metricName, @RequestParam("fieldName") String fieldName, @@ -71,7 +71,7 @@ public List getSystemMetricBoList( @RequestParam("to") long to) { QueryParameter.Builder builder = new QueryParameter.Builder(); - builder.setApplicationName(applicationName); + builder.setHostGroupId(hostGroupId); builder.setHostName(hostName); builder.setMetricName(metricName); builder.setFieldName(fieldName); @@ -85,7 +85,7 @@ public List getSystemMetricBoList( @Deprecated @GetMapping(value = "/chart") public SystemMetricChart getSystemMetricChart( - @RequestParam("applicationName") String applicationName, + @RequestParam("hostGroupId") String hostGroupId, @RequestParam("hostName") String hostName, @RequestParam("metricName") String metricName, @RequestParam("fieldName") String fieldName, @@ -93,7 +93,7 @@ public SystemMetricChart getSystemMetricChart( @RequestParam("from") long from, @RequestParam("to") long to) { QueryParameter.Builder builder = new QueryParameter.Builder(); - builder.setApplicationName(applicationName); + builder.setHostGroupId(hostGroupId); builder.setHostName(hostName); builder.setMetricName(metricName); builder.setFieldName(fieldName); @@ -111,7 +111,7 @@ public SystemMetricChart getSystemMetricChart( @Deprecated @GetMapping(value = "/chart", params = {"timeUnit", "timeSize"}) public SystemMetricChart getSystemMetricChart( - @RequestParam("applicationName") String applicationName, + @RequestParam("hostGroupId") String hostGroupId, @RequestParam("hostName") String hostName, @RequestParam("metricName") String metricName, @RequestParam("fieldName") String fieldName, @@ -123,7 +123,7 @@ public SystemMetricChart getSystemMetricChart( TimePrecision timePrecision = TimePrecision.newTimePrecision(TimeUnit.valueOf(timeUnit.toUpperCase()), timeSize); QueryParameter.Builder builder = new QueryParameter.Builder(); - builder.setApplicationName(applicationName); + builder.setHostGroupId(hostGroupId); builder.setHostName(hostName); builder.setMetricName(metricName); builder.setFieldName(fieldName); diff --git a/metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/util/QueryParameter.java b/metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/util/QueryParameter.java index dfc04fd998a6..5c630531a7cb 100644 --- a/metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/util/QueryParameter.java +++ b/metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/util/QueryParameter.java @@ -29,7 +29,7 @@ public class QueryParameter { private static final int TAG_SET_COUNT = 10; - private final String applicationName; + private final String hostGroupId; private final String hostName; private final String metricName; private final String fieldName; @@ -39,7 +39,7 @@ public class QueryParameter { private final long limit; public QueryParameter(Builder builder) { - this.applicationName = builder.applicationName; + this.hostGroupId = builder.hostGroupId; this.hostName = builder.hostName; this.metricName = builder.metricName; this.fieldName = builder.fieldName; @@ -49,8 +49,8 @@ public QueryParameter(Builder builder) { this.limit = builder.limit; } - public String getApplicationName() { - return applicationName; + public String getHostGroupId() { + return hostGroupId; } public String getHostName() { @@ -82,7 +82,7 @@ public long getLimit() { } public static class Builder { - private String applicationName; + private String hostGroupId; private String hostName; private String metricName; private String fieldName; @@ -91,8 +91,8 @@ public static class Builder { private TimePrecision timePrecision; private long limit; - public void setApplicationName(String applicationName) { - this.applicationName = Objects.requireNonNull(applicationName, "applicationName"); + public void setHostGroupId(String hostGroupId) { + this.hostGroupId = Objects.requireNonNull(hostGroupId, "applicationName"); } public void setHostName(String hostName) { diff --git a/metric-module/metric/src/main/pinot/pinot-double-schema.json b/metric-module/metric/src/main/pinot/pinot-double-schema.json index db0fb510fa2e..f3a84a5d4c59 100644 --- a/metric-module/metric/src/main/pinot/pinot-double-schema.json +++ b/metric-module/metric/src/main/pinot/pinot-double-schema.json @@ -2,7 +2,12 @@ "schemaName": "systemMetricDouble", "dimensionFieldSpecs": [ { - "name": "applicationName", + "name": "serviceId", + "dataType": "STRING", + "defaultNullValue": "" + }, + { + "name": "hostGroupId", "dataType": "STRING" }, { diff --git a/metric-module/metric/src/main/pinot/pinot-double-table.json b/metric-module/metric/src/main/pinot/pinot-double-table.json index 161e4090c754..706553167a80 100644 --- a/metric-module/metric/src/main/pinot/pinot-double-table.json +++ b/metric-module/metric/src/main/pinot/pinot-double-table.json @@ -12,7 +12,7 @@ "tenants": {}, "tableIndexConfig": { "invertedIndexColumns": ["tags"], - "sortedColumn": ["applicationName"], + "sortedColumn": ["hostGroupId"], "rangeIndexColumns": ["timestampInEpoch"], "loadMode": "MMAP", "nullHandlingEnabled": true, diff --git a/metric-module/metric/src/main/pinot/pinot-long-schema.json b/metric-module/metric/src/main/pinot/pinot-long-schema.json index 7e9ce9925d4f..f7046e492aa3 100644 --- a/metric-module/metric/src/main/pinot/pinot-long-schema.json +++ b/metric-module/metric/src/main/pinot/pinot-long-schema.json @@ -2,7 +2,12 @@ "schemaName": "systemMetricLong", "dimensionFieldSpecs": [ { - "name": "applicationName", + "name": "serviceId", + "dataType": "STRING", + "defaultNullValue": "" + }, + { + "name": "hostGroupId", "dataType": "STRING" }, { diff --git a/metric-module/metric/src/main/pinot/pinot-long-table.json b/metric-module/metric/src/main/pinot/pinot-long-table.json index 37bc5e4be9af..9ba08a4e0ad7 100644 --- a/metric-module/metric/src/main/pinot/pinot-long-table.json +++ b/metric-module/metric/src/main/pinot/pinot-long-table.json @@ -12,7 +12,7 @@ "tenants": {}, "tableIndexConfig": { "invertedIndexColumns": ["tags"], - "sortedColumn": ["applicationName"], + "sortedColumn": ["hostGroupId"], "rangeIndexColumns": ["timestampInEpoch"], "loadMode": "MMAP", "nullHandlingEnabled": true, diff --git a/metric-module/metric/src/main/resources/pinot-web/mapper/pinot/SystemMetricDoubleMapper.xml b/metric-module/metric/src/main/resources/pinot-web/mapper/pinot/SystemMetricDoubleMapper.xml index 8b5f170c632a..8be79d4ceb67 100644 --- a/metric-module/metric/src/main/resources/pinot-web/mapper/pinot/SystemMetricDoubleMapper.xml +++ b/metric-module/metric/src/main/resources/pinot-web/mapper/pinot/SystemMetricDoubleMapper.xml @@ -22,7 +22,7 @@ tags, timestampInEpoch FROM systemMetricDouble - WHERE applicationName = #{applicationName} + WHERE hostGroupId = #{hostGroupId} AND hostName = #{hostName} AND metricName = #{metricName} AND fieldName = #{fieldName} @@ -53,7 +53,7 @@ DATETIME_CONVERT(timestampInEpoch, '1:MILLISECONDS:EPOCH', '1:MILLISECONDS:EPOCH', '#{timePrecision.timeSize}:${timePrecision.timeUnit}') AS avgTime, tags FROM systemMetricDouble - WHERE applicationName = #{applicationName} + WHERE hostGroupId = #{hostGroupId} AND metricName = #{metricName} AND hostName = #{hostName} AND fieldName = #{fieldName} @@ -71,7 +71,7 @@ AVG(fieldValue) AS avgValue, DATETIME_CONVERT(timestampInEpoch, '1:MILLISECONDS:EPOCH', '1:MILLISECONDS:EPOCH', '#{timePrecision.timeSize}:${timePrecision.timeUnit}') AS avgTime FROM systemMetricDouble - WHERE applicationName = #{hostGroupId} + WHERE hostGroupId = #{hostGroupId} AND metricName = #{metricName} AND hostName = #{hostName} AND fieldName = #{fieldName} diff --git a/metric-module/metric/src/main/resources/pinot-web/mapper/pinot/SystemMetricLongMapper.xml b/metric-module/metric/src/main/resources/pinot-web/mapper/pinot/SystemMetricLongMapper.xml index fe716614b8c4..1e21f0764682 100644 --- a/metric-module/metric/src/main/resources/pinot-web/mapper/pinot/SystemMetricLongMapper.xml +++ b/metric-module/metric/src/main/resources/pinot-web/mapper/pinot/SystemMetricLongMapper.xml @@ -23,7 +23,7 @@ tags, timestampInEpoch FROM systemMetricLong - WHERE applicationName = #{applicationName} + WHERE hostGroupId = #{hostGroupId} AND metricName = #{metricName} AND hostName = #{hostName} AND fieldName = #{fieldName} @@ -54,7 +54,7 @@ DATETIME_CONVERT(timestampInEpoch, '1:MILLISECONDS:EPOCH', '1:MILLISECONDS:EPOCH', '#{timePrecision.timeSize}:${timePrecision.timeUnit}') AS avgTime, tags FROM systemMetricLong - WHERE applicationName = #{applicationName} + WHERE hostGroupId = #{hostGroupId} AND metricName = #{metricName} AND hostName = #{hostName} AND fieldName = #{fieldName} @@ -72,7 +72,7 @@ AVG(fieldValue) AS avgValue, DATETIME_CONVERT(timestampInEpoch, '1:MILLISECONDS:EPOCH', '1:MILLISECONDS:EPOCH', '#{timePrecision.timeSize}:${timePrecision.timeUnit}') AS avgTime FROM systemMetricLong - WHERE applicationName = #{hostGroupId} + WHERE hostGroupId = #{hostGroupId} AND metricName = #{metricName} AND hostName = #{hostName} AND fieldName = #{fieldName}