You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by al...@apache.org on 2024/05/22 03:10:25 UTC
(dubbo) branch 3.2 updated: fix: not initialize MetricsReporter if not support prometheus (#14225)
This is an automated email from the ASF dual-hosted git repository.
albumenj pushed a commit to branch 3.2
in repository https://gitbox.apache.org/repos/asf/dubbo.git
The following commit(s) were added to refs/heads/3.2 by this push:
new b12b23cbf0 fix: not initialize MetricsReporter if not support prometheus (#14225)
b12b23cbf0 is described below
commit b12b23cbf0698dba96cb2e6b75e4ee272ed25523
Author: δΈ€ <78...@users.noreply.github.com>
AuthorDate: Wed May 22 11:10:19 2024 +0800
fix: not initialize MetricsReporter if not support prometheus (#14225)
* fix: not initialize if not support prometheus
* add method isImportPrometheus test
---------
Co-authored-by: yuanhongbo <yu...@cai-inc.com>
---
.../dubbo/config/deploy/DefaultApplicationDeployer.java | 3 +++
.../dubbo/config/deploy/DefaultApplicationDeployerTest.java | 12 ++++++++++++
2 files changed, 15 insertions(+)
diff --git a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/deploy/DefaultApplicationDeployer.java b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/deploy/DefaultApplicationDeployer.java
index f58c9c2b24..820cb1e4d7 100644
--- a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/deploy/DefaultApplicationDeployer.java
+++ b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/deploy/DefaultApplicationDeployer.java
@@ -382,6 +382,9 @@ public class DefaultApplicationDeployer extends AbstractDeployer<ApplicationMode
Optional<MetricsConfig> configOptional = configManager.getMetrics();
// If no specific metrics type is configured and there is no Prometheus dependency in the dependencies.
MetricsConfig metricsConfig = configOptional.orElse(new MetricsConfig(applicationModel));
+ if (PROTOCOL_PROMETHEUS.equals(metricsConfig.getProtocol()) && !isSupportPrometheus()) {
+ return;
+ }
if (StringUtils.isBlank(metricsConfig.getProtocol())) {
metricsConfig.setProtocol(isSupportPrometheus() ? PROTOCOL_PROMETHEUS : PROTOCOL_DEFAULT);
}
diff --git a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/deploy/DefaultApplicationDeployerTest.java b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/deploy/DefaultApplicationDeployerTest.java
index e424fb34b2..1cd39c7da8 100644
--- a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/deploy/DefaultApplicationDeployerTest.java
+++ b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/deploy/DefaultApplicationDeployerTest.java
@@ -17,10 +17,13 @@
package org.apache.dubbo.config.deploy;
import org.apache.dubbo.common.utils.Assert;
+import org.apache.dubbo.config.MetricsConfig;
import org.apache.dubbo.rpc.model.ApplicationModel;
import org.junit.jupiter.api.Test;
+import static org.apache.dubbo.common.constants.MetricsConstants.PROTOCOL_PROMETHEUS;
+
class DefaultApplicationDeployerTest {
@Test
@@ -29,4 +32,13 @@ class DefaultApplicationDeployerTest {
new DefaultApplicationDeployer(ApplicationModel.defaultModel()).isSupportPrometheus();
Assert.assertTrue(supportPrometheus, "DefaultApplicationDeployer.isSupportPrometheus() should return true");
}
+
+ @Test
+ void isImportPrometheus() {
+ MetricsConfig metricsConfig = new MetricsConfig();
+ metricsConfig.setProtocol("prometheus");
+ boolean importPrometheus = PROTOCOL_PROMETHEUS.equals(metricsConfig.getProtocol())
+ && !DefaultApplicationDeployer.isSupportPrometheus();
+ Assert.assertTrue(!importPrometheus, " should return false");
+ }
}