fix: not initialize MetricsReporter if not support prometheus (#14225)
* fix: not initialize if not support prometheus * add method isImportPrometheus test --------- Co-authored-by: yuanhongbo <yuanhongbo@cai-inc.com>
This commit is contained in:
parent
cc95b52dfb
commit
b12b23cbf0
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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");
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue