Metrics collection is enabled by default (#11955)
* default enable * fix ci * add Prometheus judge * fix * revert default --------- Co-authored-by: x-shadow-man <1494445739@qq.com>
This commit is contained in:
parent
0e57b84b6e
commit
0d430985a3
|
|
@ -363,18 +363,33 @@ public class DefaultApplicationDeployer extends AbstractDeployer<ApplicationMode
|
|||
private void initMetricsReporter() {
|
||||
DefaultMetricsCollector collector =
|
||||
applicationModel.getBeanFactory().getBean(DefaultMetricsCollector.class);
|
||||
MetricsConfig metricsConfig = configManager.getMetrics().orElse(null);
|
||||
Optional<MetricsConfig> configOptional = configManager.getMetrics();
|
||||
|
||||
// TODO compatible with old usage of metrics, remove protocol check after new metrics is ready for use.
|
||||
if (metricsConfig != null && PROTOCOL_PROMETHEUS.equals(metricsConfig.getProtocol())) {
|
||||
collector.setCollectEnabled(true);
|
||||
collector.collectApplication(applicationModel);
|
||||
collector.setThreadpoolCollectEnabled(Optional.ofNullable(metricsConfig.getEnableThreadpoolMetrics()).orElse(true));
|
||||
String protocol = metricsConfig.getProtocol();
|
||||
MetricsReporterFactory metricsReporterFactory = getExtensionLoader(MetricsReporterFactory.class).getAdaptiveExtension();
|
||||
MetricsReporter metricsReporter = metricsReporterFactory.createMetricsReporter(metricsConfig.toUrl());
|
||||
metricsReporter.init();
|
||||
applicationModel.getBeanFactory().registerBean(metricsReporter);
|
||||
boolean importMetricsPrometheus; // Use package references instead of config checks
|
||||
try {
|
||||
Class.forName("io.micrometer.prometheus.PrometheusConfig");
|
||||
importMetricsPrometheus = true;
|
||||
} catch (ClassNotFoundException e) {
|
||||
importMetricsPrometheus = false;
|
||||
}
|
||||
|
||||
if (!importMetricsPrometheus) {
|
||||
//use old metrics
|
||||
return;
|
||||
}
|
||||
|
||||
MetricsConfig metricsConfig = configOptional.orElse(new MetricsConfig(applicationModel));
|
||||
if (StringUtils.isBlank(metricsConfig.getProtocol())) {
|
||||
metricsConfig.setProtocol(PROTOCOL_PROMETHEUS);
|
||||
}
|
||||
collector.setCollectEnabled(true);
|
||||
collector.collectApplication(applicationModel);
|
||||
collector.setThreadpoolCollectEnabled(Optional.ofNullable(metricsConfig.getEnableThreadpoolMetrics()).orElse(true));
|
||||
MetricsReporterFactory metricsReporterFactory = getExtensionLoader(MetricsReporterFactory.class).getAdaptiveExtension();
|
||||
MetricsReporter metricsReporter = metricsReporterFactory.createMetricsReporter(metricsConfig.toUrl());
|
||||
metricsReporter.init();
|
||||
applicationModel.getBeanFactory().registerBean(metricsReporter);
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -1122,7 +1137,7 @@ public class DefaultApplicationDeployer extends AbstractDeployer<ApplicationMode
|
|||
|
||||
private void startMetricsCollector() {
|
||||
DefaultMetricsCollector collector = applicationModel.getBeanFactory().getBean(DefaultMetricsCollector.class);
|
||||
if(Objects.nonNull(collector) && collector.isThreadpoolCollectEnabled()) {
|
||||
if (Objects.nonNull(collector) && collector.isThreadpoolCollectEnabled()) {
|
||||
collector.registryDefaultSample();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@ public class AggregateMetricsCollector implements MetricsCollector, MetricsListe
|
|||
this.applicationModel = applicationModel;
|
||||
ConfigManager configManager = applicationModel.getApplicationConfigManager();
|
||||
MetricsConfig config = configManager.getMetrics().orElse(null);
|
||||
if (config != null && config.getAggregation() != null && Boolean.TRUE.equals(config.getAggregation().getEnabled())) {
|
||||
if (config != null && config.getAggregation() != null && (config.getAggregation().getEnabled() == null || Boolean.TRUE.equals(config.getAggregation().getEnabled()))) {
|
||||
// only registered when aggregation is enabled.
|
||||
registerListener();
|
||||
|
||||
|
|
@ -94,7 +94,7 @@ public class AggregateMetricsCollector implements MetricsCollector, MetricsListe
|
|||
|
||||
|
||||
private void onRequestEvent(MethodEvent event) {
|
||||
MethodMetric metric = event.getMethodMetric();
|
||||
MethodMetric metric = event.getMethodMetric();
|
||||
|
||||
String type = event.getType();
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue