You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pinot.apache.org by ro...@apache.org on 2022/11/01 23:55:30 UTC
[pinot] branch master updated: fix PinotVersion to be compatible with prometheus (#9701)
This is an automated email from the ASF dual-hosted git repository.
rongr pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pinot.git
The following commit(s) were added to refs/heads/master by this push:
new e4ee05355c fix PinotVersion to be compatible with prometheus (#9701)
e4ee05355c is described below
commit e4ee05355ca4c177fdc10b35245c37b6a94f8089
Author: Almog Gavra <al...@gmail.com>
AuthorDate: Tue Nov 1 16:55:24 2022 -0700
fix PinotVersion to be compatible with prometheus (#9701)
* fix PinotVersion to be compatible with prometheus
* trigger build
* address comments
---
.../images/pinot/etc/jmx_prometheus_javaagent/configs/broker.yml | 5 +++++
.../pinot/etc/jmx_prometheus_javaagent/configs/controller.yml | 5 +++++
.../images/pinot/etc/jmx_prometheus_javaagent/configs/minion.yml | 7 ++++++-
.../images/pinot/etc/jmx_prometheus_javaagent/configs/server.yml | 7 ++++++-
.../org/apache/pinot/broker/broker/helix/BaseBrokerStarter.java | 2 +-
.../main/java/org/apache/pinot/common/version/PinotVersion.java | 8 ++++++++
.../java/org/apache/pinot/controller/BaseControllerStarter.java | 2 +-
.../src/main/java/org/apache/pinot/minion/BaseMinionStarter.java | 2 +-
.../main/java/org/apache/pinot/server/starter/ServerInstance.java | 2 +-
9 files changed, 34 insertions(+), 6 deletions(-)
diff --git a/docker/images/pinot/etc/jmx_prometheus_javaagent/configs/broker.yml b/docker/images/pinot/etc/jmx_prometheus_javaagent/configs/broker.yml
index 72816ba56c..450de902c6 100644
--- a/docker/images/pinot/etc/jmx_prometheus_javaagent/configs/broker.yml
+++ b/docker/images/pinot/etc/jmx_prometheus_javaagent/configs/broker.yml
@@ -144,3 +144,8 @@ rules:
cache: true
labels:
table: "$1"
+- pattern: "\"org.apache.pinot.common.metrics\"<type=\"BrokerMetrics\", name=\"pinot.broker.version.(\\w+)\"><>(\\w+)"
+ name: "pinot_broker_version"
+ cache: true
+ labels:
+ version: "$1"
diff --git a/docker/images/pinot/etc/jmx_prometheus_javaagent/configs/controller.yml b/docker/images/pinot/etc/jmx_prometheus_javaagent/configs/controller.yml
index c44dbf3937..253c43e069 100644
--- a/docker/images/pinot/etc/jmx_prometheus_javaagent/configs/controller.yml
+++ b/docker/images/pinot/etc/jmx_prometheus_javaagent/configs/controller.yml
@@ -160,3 +160,8 @@ rules:
labels:
table: "$1"
tableType: "$2"
+- pattern: "\"org.apache.pinot.common.metrics\"<type=\"ControllerMetrics\", name=\"pinot.controller.version.(\\w+)\"><>(\\w+)"
+ name: "pinot_controller_version"
+ cache: true
+ labels:
+ version: "$1"
diff --git a/docker/images/pinot/etc/jmx_prometheus_javaagent/configs/minion.yml b/docker/images/pinot/etc/jmx_prometheus_javaagent/configs/minion.yml
index 42fbc63cf7..daf1440774 100644
--- a/docker/images/pinot/etc/jmx_prometheus_javaagent/configs/minion.yml
+++ b/docker/images/pinot/etc/jmx_prometheus_javaagent/configs/minion.yml
@@ -6,4 +6,9 @@ rules:
name: "pinot_minion_$2_$3"
cache: true
labels:
- id: "$1"
\ No newline at end of file
+ id: "$1"
+- pattern: "\"org.apache.pinot.common.metrics\"<type=\"MinionMetrics\", name=\"pinot.minion.version.(\\w+)\"><>(\\w+)"
+ name: "pinot_minion_version"
+ cache: true
+ labels:
+ version: "$1"
diff --git a/docker/images/pinot/etc/jmx_prometheus_javaagent/configs/server.yml b/docker/images/pinot/etc/jmx_prometheus_javaagent/configs/server.yml
index 925be50f08..211c859f39 100644
--- a/docker/images/pinot/etc/jmx_prometheus_javaagent/configs/server.yml
+++ b/docker/images/pinot/etc/jmx_prometheus_javaagent/configs/server.yml
@@ -117,4 +117,9 @@ rules:
labels:
table: "$1"
tableType: "$2"
- partition: "$3"
\ No newline at end of file
+ partition: "$3"
+- pattern: "\"org.apache.pinot.common.metrics\"<type=\"ServerMetrics\", name=\"pinot.server.version.(\\w+)\"><>(\\w+)"
+ name: "pinot_server_version"
+ cache: true
+ labels:
+ version: "$1"
diff --git a/pinot-broker/src/main/java/org/apache/pinot/broker/broker/helix/BaseBrokerStarter.java b/pinot-broker/src/main/java/org/apache/pinot/broker/broker/helix/BaseBrokerStarter.java
index d818681993..694e6fde1c 100644
--- a/pinot-broker/src/main/java/org/apache/pinot/broker/broker/helix/BaseBrokerStarter.java
+++ b/pinot-broker/src/main/java/org/apache/pinot/broker/broker/helix/BaseBrokerStarter.java
@@ -239,7 +239,7 @@ public abstract class BaseBrokerStarter implements ServiceStartable {
_brokerConf.getProperty(Broker.CONFIG_OF_ENABLE_TABLE_LEVEL_METRICS, Broker.DEFAULT_ENABLE_TABLE_LEVEL_METRICS),
_brokerConf.getProperty(Broker.CONFIG_OF_ALLOWED_TABLES_FOR_EMITTING_METRICS, Collections.emptyList()));
_brokerMetrics.initializeGlobalMeters();
- _brokerMetrics.setValueOfGlobalGauge(BrokerGauge.VERSION, PinotVersion.VERSION, 1);
+ _brokerMetrics.setValueOfGlobalGauge(BrokerGauge.VERSION, PinotVersion.VERSION_METRIC_NAME, 1);
// Set up request handling classes
_serverRoutingStatsManager = new ServerRoutingStatsManager(_brokerConf);
_serverRoutingStatsManager.init();
diff --git a/pinot-common/src/main/java/org/apache/pinot/common/version/PinotVersion.java b/pinot-common/src/main/java/org/apache/pinot/common/version/PinotVersion.java
index 2d40f4fd8b..ad52a015b4 100644
--- a/pinot-common/src/main/java/org/apache/pinot/common/version/PinotVersion.java
+++ b/pinot-common/src/main/java/org/apache/pinot/common/version/PinotVersion.java
@@ -41,6 +41,12 @@ public class PinotVersion {
*/
public static final String VERSION;
+ /**
+ * A sanitized version string with all dots replaced with underscores, which is necessary
+ * for Prometheus to be able to properly handle the version.
+ */
+ public static final String VERSION_METRIC_NAME;
+
private PinotVersion() {
// private constructor for utility class
}
@@ -66,5 +72,7 @@ public class PinotVersion {
} else {
VERSION = version;
}
+
+ VERSION_METRIC_NAME = VERSION.replace('.', '_').replace('-', '_');
}
}
diff --git a/pinot-controller/src/main/java/org/apache/pinot/controller/BaseControllerStarter.java b/pinot-controller/src/main/java/org/apache/pinot/controller/BaseControllerStarter.java
index c05b6481c1..27afdefcc6 100644
--- a/pinot-controller/src/main/java/org/apache/pinot/controller/BaseControllerStarter.java
+++ b/pinot-controller/src/main/java/org/apache/pinot/controller/BaseControllerStarter.java
@@ -549,7 +549,7 @@ public abstract class BaseControllerStarter implements ServiceStartable {
_metricsRegistry = PinotMetricUtils.getPinotMetricsRegistry(_config.subset(METRICS_REGISTRY_NAME));
_controllerMetrics = new ControllerMetrics(_config.getMetricsPrefix(), _metricsRegistry);
_controllerMetrics.initializeGlobalMeters();
- _controllerMetrics.setValueOfGlobalGauge(ControllerGauge.VERSION, PinotVersion.VERSION, 1);
+ _controllerMetrics.setValueOfGlobalGauge(ControllerGauge.VERSION, PinotVersion.VERSION_METRIC_NAME, 1);
}
private void initPinotFSFactory() {
diff --git a/pinot-minion/src/main/java/org/apache/pinot/minion/BaseMinionStarter.java b/pinot-minion/src/main/java/org/apache/pinot/minion/BaseMinionStarter.java
index 17cd826e0e..2448af71c9 100644
--- a/pinot-minion/src/main/java/org/apache/pinot/minion/BaseMinionStarter.java
+++ b/pinot-minion/src/main/java/org/apache/pinot/minion/BaseMinionStarter.java
@@ -188,7 +188,7 @@ public abstract class BaseMinionStarter implements ServiceStartable {
MinionMetrics minionMetrics = new MinionMetrics(_config.getMetricsPrefix(), metricsRegistry);
minionMetrics.initializeGlobalMeters();
- minionMetrics.setValueOfGlobalGauge(MinionGauge.VERSION, PinotVersion.VERSION, 1);
+ minionMetrics.setValueOfGlobalGauge(MinionGauge.VERSION, PinotVersion.VERSION_METRIC_NAME, 1);
minionContext.setMinionMetrics(minionMetrics);
// Install default SSL context if necessary (even if not force-enabled everywhere)
diff --git a/pinot-server/src/main/java/org/apache/pinot/server/starter/ServerInstance.java b/pinot-server/src/main/java/org/apache/pinot/server/starter/ServerInstance.java
index 184d583385..f826bc94bc 100644
--- a/pinot-server/src/main/java/org/apache/pinot/server/starter/ServerInstance.java
+++ b/pinot-server/src/main/java/org/apache/pinot/server/starter/ServerInstance.java
@@ -90,7 +90,7 @@ public class ServerInstance {
new ServerMetrics(serverConf.getMetricsPrefix(), metricsRegistry, serverConf.emitTableLevelMetrics(),
serverConf.getAllowedTablesForEmittingMetrics());
_serverMetrics.initializeGlobalMeters();
- _serverMetrics.setValueOfGlobalGauge(ServerGauge.VERSION, PinotVersion.VERSION, 1);
+ _serverMetrics.setValueOfGlobalGauge(ServerGauge.VERSION, PinotVersion.VERSION_METRIC_NAME, 1);
String instanceDataManagerClassName = serverConf.getInstanceDataManagerClassName();
LOGGER.info("Initializing instance data manager of class: {}", instanceDataManagerClassName);
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org