diff --git a/dubbo-config/dubbo-config-api/pom.xml b/dubbo-config/dubbo-config-api/pom.xml index 24bcabcf0d1f..c863389111f4 100644 --- a/dubbo-config/dubbo-config-api/pom.xml +++ b/dubbo-config/dubbo-config-api/pom.xml @@ -44,7 +44,7 @@ org.apache.dubbo - dubbo-metrics-api + dubbo-metrics-default ${project.parent.version} 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 091e4f0b5827..734b660f034c 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 @@ -34,10 +34,6 @@ import org.apache.dubbo.common.lang.ShutdownHookCallbacks; import org.apache.dubbo.common.logger.ErrorTypeAwareLogger; import org.apache.dubbo.common.logger.LoggerFactory; -import org.apache.dubbo.common.metrics.MetricsReporter; -import org.apache.dubbo.common.metrics.MetricsReporterFactory; -import org.apache.dubbo.common.metrics.collector.DefaultMetricsCollector; -import org.apache.dubbo.common.metrics.service.MetricsServiceExporter; import org.apache.dubbo.common.threadpool.manager.ExecutorRepository; import org.apache.dubbo.common.threadpool.manager.FrameworkExecutorRepository; import org.apache.dubbo.common.utils.ArrayUtils; @@ -54,6 +50,10 @@ import org.apache.dubbo.config.utils.ConfigValidationUtils; import org.apache.dubbo.metadata.report.MetadataReportFactory; import org.apache.dubbo.metadata.report.MetadataReportInstance; +import org.apache.dubbo.metrics.collector.DefaultMetricsCollector; +import org.apache.dubbo.metrics.report.MetricsReporter; +import org.apache.dubbo.metrics.report.MetricsReporterFactory; +import org.apache.dubbo.metrics.service.MetricsServiceExporter; import org.apache.dubbo.registry.client.metadata.ServiceInstanceMetadataUtils; import org.apache.dubbo.registry.support.RegistryManager; import org.apache.dubbo.rpc.model.ApplicationModel; diff --git a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/deploy/DefaultMetricsServiceExporter.java b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/deploy/DefaultMetricsServiceExporter.java index b02295ef4289..0efaaff71a89 100644 --- a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/deploy/DefaultMetricsServiceExporter.java +++ b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/deploy/DefaultMetricsServiceExporter.java @@ -19,8 +19,8 @@ import org.apache.dubbo.common.constants.LoggerCodeConstants; import org.apache.dubbo.common.logger.ErrorTypeAwareLogger; import org.apache.dubbo.common.logger.LoggerFactory; -import org.apache.dubbo.common.metrics.service.MetricsService; -import org.apache.dubbo.common.metrics.service.MetricsServiceExporter; +import org.apache.dubbo.metrics.service.MetricsService; +import org.apache.dubbo.metrics.service.MetricsServiceExporter; import org.apache.dubbo.config.MetricsConfig; import org.apache.dubbo.config.ServiceConfig; import org.apache.dubbo.config.bootstrap.builders.InternalServiceConfigBuilder; diff --git a/dubbo-config/dubbo-config-api/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.common.metrics.service.MetricsServiceExporter b/dubbo-config/dubbo-config-api/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.metrics.service.MetricsServiceExporter similarity index 100% rename from dubbo-config/dubbo-config-api/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.common.metrics.service.MetricsServiceExporter rename to dubbo-config/dubbo-config-api/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.metrics.service.MetricsServiceExporter diff --git a/dubbo-demo/dubbo-demo-spring-boot/dubbo-demo-spring-boot-consumer/pom.xml b/dubbo-demo/dubbo-demo-spring-boot/dubbo-demo-spring-boot-consumer/pom.xml index 74acfb610a9a..bd6c7c778f32 100644 --- a/dubbo-demo/dubbo-demo-spring-boot/dubbo-demo-spring-boot-consumer/pom.xml +++ b/dubbo-demo/dubbo-demo-spring-boot/dubbo-demo-spring-boot-consumer/pom.xml @@ -134,10 +134,9 @@ - org.apache.dubbo - dubbo-metrics-api + dubbo-metrics-default io.micrometer diff --git a/dubbo-demo/dubbo-demo-spring-boot/dubbo-demo-spring-boot-provider/pom.xml b/dubbo-demo/dubbo-demo-spring-boot/dubbo-demo-spring-boot-provider/pom.xml index 97f412ac9c99..c86b8b4c3a07 100644 --- a/dubbo-demo/dubbo-demo-spring-boot/dubbo-demo-spring-boot-provider/pom.xml +++ b/dubbo-demo/dubbo-demo-spring-boot/dubbo-demo-spring-boot-provider/pom.xml @@ -135,7 +135,7 @@ org.apache.dubbo - dubbo-metrics-api + dubbo-metrics-default io.micrometer diff --git a/dubbo-distribution/dubbo-all/pom.xml b/dubbo-distribution/dubbo-all/pom.xml index 277f85b2ef54..44eae7e851b1 100644 --- a/dubbo-distribution/dubbo-all/pom.xml +++ b/dubbo-distribution/dubbo-all/pom.xml @@ -1,4 +1,4 @@ - + + 4.0.0 + + org.apache.dubbo + dubbo-metrics + ${revision} + ../pom.xml + + dubbo-metrics-default + jar + ${project.artifactId} + The metrics module of dubbo project + + false + + + + org.apache.dubbo + dubbo-metrics-api + ${project.parent.version} + + + diff --git a/dubbo-metrics/dubbo-metrics-api/src/main/java/org/apache/dubbo/metrics/collector/AggregateMetricsCollector.java b/dubbo-metrics/dubbo-metrics-default/src/main/java/org/apache/dubbo/metrics/collector/AggregateMetricsCollector.java similarity index 90% rename from dubbo-metrics/dubbo-metrics-api/src/main/java/org/apache/dubbo/metrics/collector/AggregateMetricsCollector.java rename to dubbo-metrics/dubbo-metrics-default/src/main/java/org/apache/dubbo/metrics/collector/AggregateMetricsCollector.java index 9c0b19dd511a..535d66e6001f 100644 --- a/dubbo-metrics/dubbo-metrics-api/src/main/java/org/apache/dubbo/metrics/collector/AggregateMetricsCollector.java +++ b/dubbo-metrics/dubbo-metrics-default/src/main/java/org/apache/dubbo/metrics/collector/AggregateMetricsCollector.java @@ -21,28 +21,25 @@ import java.util.List; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; - -import org.apache.dubbo.common.metrics.collector.DefaultMetricsCollector; -import org.apache.dubbo.common.metrics.collector.MetricsCollector; -import org.apache.dubbo.common.metrics.event.MetricsEvent; -import org.apache.dubbo.common.metrics.event.RTEvent; -import org.apache.dubbo.common.metrics.event.RequestEvent; -import org.apache.dubbo.common.metrics.listener.MetricsListener; -import org.apache.dubbo.common.metrics.model.MethodMetric; -import org.apache.dubbo.common.metrics.model.MetricsKey; -import org.apache.dubbo.common.metrics.model.sample.GaugeMetricSample; -import org.apache.dubbo.common.metrics.model.sample.MetricSample; import org.apache.dubbo.common.utils.ConcurrentHashMapUtils; import org.apache.dubbo.config.MetricsConfig; import org.apache.dubbo.config.context.ConfigManager; import org.apache.dubbo.config.nested.AggregationConfig; import org.apache.dubbo.metrics.aggregate.TimeWindowCounter; import org.apache.dubbo.metrics.aggregate.TimeWindowQuantile; +import org.apache.dubbo.metrics.event.MetricsEvent; +import org.apache.dubbo.metrics.event.RTEvent; +import org.apache.dubbo.metrics.event.RequestEvent; +import org.apache.dubbo.metrics.listener.MetricsListener; +import org.apache.dubbo.metrics.model.MethodMetric; +import org.apache.dubbo.metrics.model.MetricsKey; +import org.apache.dubbo.metrics.model.sample.GaugeMetricSample; +import org.apache.dubbo.metrics.model.sample.MetricSample; import org.apache.dubbo.rpc.model.ApplicationModel; -import static org.apache.dubbo.common.metrics.model.MetricsCategory.QPS; -import static org.apache.dubbo.common.metrics.model.MetricsCategory.REQUESTS; -import static org.apache.dubbo.common.metrics.model.MetricsCategory.RT; +import static org.apache.dubbo.metrics.model.MetricsCategory.QPS; +import static org.apache.dubbo.metrics.model.MetricsCategory.REQUESTS; +import static org.apache.dubbo.metrics.model.MetricsCategory.RT; /** * Aggregation metrics collector implementation of {@link MetricsCollector}. diff --git a/dubbo-common/src/main/java/org/apache/dubbo/common/metrics/collector/DefaultMetricsCollector.java b/dubbo-metrics/dubbo-metrics-default/src/main/java/org/apache/dubbo/metrics/collector/DefaultMetricsCollector.java similarity index 92% rename from dubbo-common/src/main/java/org/apache/dubbo/common/metrics/collector/DefaultMetricsCollector.java rename to dubbo-metrics/dubbo-metrics-default/src/main/java/org/apache/dubbo/metrics/collector/DefaultMetricsCollector.java index b83f16519543..74fda8788668 100644 --- a/dubbo-common/src/main/java/org/apache/dubbo/common/metrics/collector/DefaultMetricsCollector.java +++ b/dubbo-metrics/dubbo-metrics-default/src/main/java/org/apache/dubbo/metrics/collector/DefaultMetricsCollector.java @@ -15,7 +15,16 @@ * limitations under the License. */ -package org.apache.dubbo.common.metrics.collector; +package org.apache.dubbo.metrics.collector; + +import org.apache.dubbo.metrics.collector.stat.MetricsStatComposite; +import org.apache.dubbo.metrics.collector.stat.MetricsStatHandler; +import org.apache.dubbo.metrics.event.RequestEvent; +import org.apache.dubbo.metrics.listener.MetricsListener; +import org.apache.dubbo.metrics.model.MetricsKey; +import org.apache.dubbo.metrics.model.sample.GaugeMetricSample; +import org.apache.dubbo.metrics.model.sample.MetricSample; +import org.apache.dubbo.rpc.model.ApplicationModel; import java.util.ArrayList; import java.util.List; @@ -25,17 +34,9 @@ import java.util.function.Consumer; import java.util.function.Function; -import org.apache.dubbo.common.metrics.collector.stat.MetricsStatComposite; -import org.apache.dubbo.common.metrics.collector.stat.MetricsStatHandler; -import org.apache.dubbo.common.metrics.event.RequestEvent; -import org.apache.dubbo.common.metrics.listener.MetricsListener; -import org.apache.dubbo.common.metrics.model.MetricsKey; -import org.apache.dubbo.common.metrics.model.sample.GaugeMetricSample; -import org.apache.dubbo.common.metrics.model.sample.MetricSample; -import org.apache.dubbo.rpc.model.ApplicationModel; +import static org.apache.dubbo.metrics.model.MetricsCategory.REQUESTS; +import static org.apache.dubbo.metrics.model.MetricsCategory.RT; -import static org.apache.dubbo.common.metrics.model.MetricsCategory.REQUESTS; -import static org.apache.dubbo.common.metrics.model.MetricsCategory.RT; /** * Default implementation of {@link MetricsCollector} diff --git a/dubbo-common/src/main/java/org/apache/dubbo/common/metrics/collector/stat/DefaultMetricsStatHandler.java b/dubbo-metrics/dubbo-metrics-default/src/main/java/org/apache/dubbo/metrics/collector/stat/DefaultMetricsStatHandler.java similarity index 96% rename from dubbo-common/src/main/java/org/apache/dubbo/common/metrics/collector/stat/DefaultMetricsStatHandler.java rename to dubbo-metrics/dubbo-metrics-default/src/main/java/org/apache/dubbo/metrics/collector/stat/DefaultMetricsStatHandler.java index 3d93374b25c8..8d777a501ee0 100644 --- a/dubbo-common/src/main/java/org/apache/dubbo/common/metrics/collector/stat/DefaultMetricsStatHandler.java +++ b/dubbo-metrics/dubbo-metrics-default/src/main/java/org/apache/dubbo/metrics/collector/stat/DefaultMetricsStatHandler.java @@ -14,14 +14,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.dubbo.common.metrics.collector.stat; +package org.apache.dubbo.metrics.collector.stat; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.atomic.AtomicLong; import java.util.function.BiConsumer; -import org.apache.dubbo.common.metrics.model.MethodMetric; +import org.apache.dubbo.metrics.model.MethodMetric; public class DefaultMetricsStatHandler implements MetricsStatHandler { diff --git a/dubbo-common/src/main/java/org/apache/dubbo/common/metrics/collector/stat/MetricsStatComposite.java b/dubbo-metrics/dubbo-metrics-default/src/main/java/org/apache/dubbo/metrics/collector/stat/MetricsStatComposite.java similarity index 93% rename from dubbo-common/src/main/java/org/apache/dubbo/common/metrics/collector/stat/MetricsStatComposite.java rename to dubbo-metrics/dubbo-metrics-default/src/main/java/org/apache/dubbo/metrics/collector/stat/MetricsStatComposite.java index 9c61b517dd00..8674ccded6f3 100644 --- a/dubbo-common/src/main/java/org/apache/dubbo/common/metrics/collector/stat/MetricsStatComposite.java +++ b/dubbo-metrics/dubbo-metrics-default/src/main/java/org/apache/dubbo/metrics/collector/stat/MetricsStatComposite.java @@ -15,7 +15,15 @@ * limitations under the License. */ -package org.apache.dubbo.common.metrics.collector.stat; +package org.apache.dubbo.metrics.collector.stat; + +import org.apache.dubbo.common.utils.ConcurrentHashMapUtils; +import org.apache.dubbo.metrics.collector.DefaultMetricsCollector; +import org.apache.dubbo.metrics.event.MetricsEvent; +import org.apache.dubbo.metrics.event.RTEvent; +import org.apache.dubbo.metrics.event.RequestEvent; +import org.apache.dubbo.metrics.listener.MetricsListener; +import org.apache.dubbo.metrics.model.MethodMetric; import java.util.List; import java.util.Map; @@ -24,14 +32,6 @@ import java.util.concurrent.atomic.AtomicLong; import java.util.concurrent.atomic.LongAccumulator; -import org.apache.dubbo.common.metrics.collector.DefaultMetricsCollector; -import org.apache.dubbo.common.metrics.event.MetricsEvent; -import org.apache.dubbo.common.metrics.event.RTEvent; -import org.apache.dubbo.common.metrics.event.RequestEvent; -import org.apache.dubbo.common.metrics.listener.MetricsListener; -import org.apache.dubbo.common.metrics.model.MethodMetric; -import org.apache.dubbo.common.utils.ConcurrentHashMapUtils; - public class MetricsStatComposite { public Map stats = new ConcurrentHashMap<>(); diff --git a/dubbo-metrics/dubbo-metrics-api/src/main/java/org/apache/dubbo/metrics/filter/MetricsCollectExecutor.java b/dubbo-metrics/dubbo-metrics-default/src/main/java/org/apache/dubbo/metrics/filter/MetricsCollectExecutor.java similarity index 98% rename from dubbo-metrics/dubbo-metrics-api/src/main/java/org/apache/dubbo/metrics/filter/MetricsCollectExecutor.java rename to dubbo-metrics/dubbo-metrics-default/src/main/java/org/apache/dubbo/metrics/filter/MetricsCollectExecutor.java index 8d91748b415a..515ba06440e8 100644 --- a/dubbo-metrics/dubbo-metrics-api/src/main/java/org/apache/dubbo/metrics/filter/MetricsCollectExecutor.java +++ b/dubbo-metrics/dubbo-metrics-default/src/main/java/org/apache/dubbo/metrics/filter/MetricsCollectExecutor.java @@ -18,8 +18,7 @@ package org.apache.dubbo.metrics.filter; import java.util.function.Supplier; - -import org.apache.dubbo.common.metrics.collector.DefaultMetricsCollector; +import org.apache.dubbo.metrics.collector.DefaultMetricsCollector; import org.apache.dubbo.rpc.Invocation; import org.apache.dubbo.rpc.Result; import org.apache.dubbo.rpc.RpcException; diff --git a/dubbo-metrics/dubbo-metrics-api/src/main/java/org/apache/dubbo/metrics/filter/MetricsFilter.java b/dubbo-metrics/dubbo-metrics-default/src/main/java/org/apache/dubbo/metrics/filter/MetricsFilter.java similarity index 97% rename from dubbo-metrics/dubbo-metrics-api/src/main/java/org/apache/dubbo/metrics/filter/MetricsFilter.java rename to dubbo-metrics/dubbo-metrics-default/src/main/java/org/apache/dubbo/metrics/filter/MetricsFilter.java index d0e4570968a6..187af2fa255c 100644 --- a/dubbo-metrics/dubbo-metrics-api/src/main/java/org/apache/dubbo/metrics/filter/MetricsFilter.java +++ b/dubbo-metrics/dubbo-metrics-default/src/main/java/org/apache/dubbo/metrics/filter/MetricsFilter.java @@ -16,12 +16,8 @@ */ package org.apache.dubbo.metrics.filter; -import static org.apache.dubbo.common.constants.CommonConstants.PROVIDER; - -import java.util.function.Consumer; - import org.apache.dubbo.common.extension.Activate; -import org.apache.dubbo.common.metrics.collector.DefaultMetricsCollector; +import org.apache.dubbo.metrics.collector.DefaultMetricsCollector; import org.apache.dubbo.rpc.BaseFilter; import org.apache.dubbo.rpc.Filter; import org.apache.dubbo.rpc.Invocation; @@ -31,6 +27,10 @@ import org.apache.dubbo.rpc.model.ApplicationModel; import org.apache.dubbo.rpc.model.ScopeModelAware; +import java.util.function.Consumer; + +import static org.apache.dubbo.common.constants.CommonConstants.PROVIDER; + @Activate(group = PROVIDER, order = -1) public class MetricsFilter implements Filter, BaseFilter.Listener, ScopeModelAware { diff --git a/dubbo-metrics/dubbo-metrics-api/src/main/java/org/apache/dubbo/metrics/AbstractMetricsReporter.java b/dubbo-metrics/dubbo-metrics-default/src/main/java/org/apache/dubbo/metrics/report/AbstractMetricsReporter.java similarity index 90% rename from dubbo-metrics/dubbo-metrics-api/src/main/java/org/apache/dubbo/metrics/AbstractMetricsReporter.java rename to dubbo-metrics/dubbo-metrics-default/src/main/java/org/apache/dubbo/metrics/report/AbstractMetricsReporter.java index 571fcc5e25e3..b9874cb5bca1 100644 --- a/dubbo-metrics/dubbo-metrics-api/src/main/java/org/apache/dubbo/metrics/AbstractMetricsReporter.java +++ b/dubbo-metrics/dubbo-metrics-default/src/main/java/org/apache/dubbo/metrics/report/AbstractMetricsReporter.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.dubbo.metrics; +package org.apache.dubbo.metrics.report; import io.micrometer.core.instrument.Gauge; import io.micrometer.core.instrument.MeterRegistry; @@ -33,13 +33,13 @@ import org.apache.dubbo.common.lang.ShutdownHookCallbacks; import org.apache.dubbo.common.logger.ErrorTypeAwareLogger; import org.apache.dubbo.common.logger.LoggerFactory; -import org.apache.dubbo.common.metrics.MetricsReporter; -import org.apache.dubbo.common.metrics.collector.DefaultMetricsCollector; -import org.apache.dubbo.common.metrics.collector.MetricsCollector; -import org.apache.dubbo.common.metrics.model.sample.GaugeMetricSample; -import org.apache.dubbo.common.metrics.model.sample.MetricSample; import org.apache.dubbo.common.utils.NamedThreadFactory; +import org.apache.dubbo.metrics.DubboMetrics; import org.apache.dubbo.metrics.collector.AggregateMetricsCollector; +import org.apache.dubbo.metrics.collector.DefaultMetricsCollector; +import org.apache.dubbo.metrics.collector.MetricsCollector; +import org.apache.dubbo.metrics.model.sample.GaugeMetricSample; +import org.apache.dubbo.metrics.model.sample.MetricSample; import org.apache.dubbo.rpc.model.ApplicationModel; import java.util.ArrayList; @@ -113,7 +113,14 @@ private void addJvmMetrics() { Optional.ofNullable(applicationModel.getApplicationName()).orElse("")); new ClassLoaderMetrics(extraTags).bindTo(compositeRegistry); new JvmMemoryMetrics(extraTags).bindTo(compositeRegistry); - new JvmGcMetrics(extraTags).bindTo(compositeRegistry); + + @SuppressWarnings("java:S2095") + // Do not change JvmGcMetrics to try-with-resources as the JvmGcMetrics will not be available after (auto-)closing. + // See https://github.com/micrometer-metrics/micrometer/issues/1492 + JvmGcMetrics jvmGcMetrics = new JvmGcMetrics(extraTags); + jvmGcMetrics.bindTo(compositeRegistry); + Runtime.getRuntime().addShutdownHook(new Thread(jvmGcMetrics::close)); + new ProcessorMetrics(extraTags).bindTo(compositeRegistry); new JvmThreadMetrics(extraTags).bindTo(compositeRegistry); new UptimeMetrics(extraTags).bindTo(compositeRegistry); diff --git a/dubbo-metrics/dubbo-metrics-default/src/main/java/org/apache/dubbo/metrics/report/AbstractMetricsReporterFactory.java b/dubbo-metrics/dubbo-metrics-default/src/main/java/org/apache/dubbo/metrics/report/AbstractMetricsReporterFactory.java new file mode 100644 index 000000000000..7eed65e340b4 --- /dev/null +++ b/dubbo-metrics/dubbo-metrics-default/src/main/java/org/apache/dubbo/metrics/report/AbstractMetricsReporterFactory.java @@ -0,0 +1,36 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.dubbo.metrics.report; + +import org.apache.dubbo.rpc.model.ApplicationModel; + +/** + * AbstractMetricsReporterFactory. + */ +public abstract class AbstractMetricsReporterFactory implements MetricsReporterFactory { + + private final ApplicationModel applicationModel; + + public AbstractMetricsReporterFactory(ApplicationModel applicationModel) { + this.applicationModel = applicationModel; + } + + protected ApplicationModel getApplicationModel() { + return applicationModel; + } +} diff --git a/dubbo-common/src/main/java/org/apache/dubbo/common/metrics/nop/NopMetricsReporter.java b/dubbo-metrics/dubbo-metrics-default/src/main/java/org/apache/dubbo/metrics/report/nop/NopMetricsReporter.java similarity index 91% rename from dubbo-common/src/main/java/org/apache/dubbo/common/metrics/nop/NopMetricsReporter.java rename to dubbo-metrics/dubbo-metrics-default/src/main/java/org/apache/dubbo/metrics/report/nop/NopMetricsReporter.java index 07e8c6c96c15..afc4763a5eeb 100644 --- a/dubbo-common/src/main/java/org/apache/dubbo/common/metrics/nop/NopMetricsReporter.java +++ b/dubbo-metrics/dubbo-metrics-default/src/main/java/org/apache/dubbo/metrics/report/nop/NopMetricsReporter.java @@ -15,10 +15,10 @@ * limitations under the License. */ -package org.apache.dubbo.common.metrics.nop; +package org.apache.dubbo.metrics.report.nop; import org.apache.dubbo.common.URL; -import org.apache.dubbo.common.metrics.MetricsReporter; +import org.apache.dubbo.metrics.report.MetricsReporter; /** * Metrics reporter without any operations. diff --git a/dubbo-common/src/main/java/org/apache/dubbo/common/metrics/nop/NopMetricsReporterFactory.java b/dubbo-metrics/dubbo-metrics-default/src/main/java/org/apache/dubbo/metrics/report/nop/NopMetricsReporterFactory.java similarity index 87% rename from dubbo-common/src/main/java/org/apache/dubbo/common/metrics/nop/NopMetricsReporterFactory.java rename to dubbo-metrics/dubbo-metrics-default/src/main/java/org/apache/dubbo/metrics/report/nop/NopMetricsReporterFactory.java index 462de5e49d9e..28980e4ef939 100644 --- a/dubbo-common/src/main/java/org/apache/dubbo/common/metrics/nop/NopMetricsReporterFactory.java +++ b/dubbo-metrics/dubbo-metrics-default/src/main/java/org/apache/dubbo/metrics/report/nop/NopMetricsReporterFactory.java @@ -15,11 +15,11 @@ * limitations under the License. */ -package org.apache.dubbo.common.metrics.nop; +package org.apache.dubbo.metrics.report.nop; import org.apache.dubbo.common.URL; -import org.apache.dubbo.common.metrics.MetricsReporter; -import org.apache.dubbo.common.metrics.MetricsReporterFactory; +import org.apache.dubbo.metrics.report.MetricsReporter; +import org.apache.dubbo.metrics.report.MetricsReporterFactory; /** * MetricsReporterFactory to create NopMetricsReporter. diff --git a/dubbo-metrics/dubbo-metrics-api/src/main/java/org/apache/dubbo/metrics/service/DefaultMetricsService.java b/dubbo-metrics/dubbo-metrics-default/src/main/java/org/apache/dubbo/metrics/service/DefaultMetricsService.java similarity index 88% rename from dubbo-metrics/dubbo-metrics-api/src/main/java/org/apache/dubbo/metrics/service/DefaultMetricsService.java rename to dubbo-metrics/dubbo-metrics-default/src/main/java/org/apache/dubbo/metrics/service/DefaultMetricsService.java index 440f09efd011..eb9b6615054b 100644 --- a/dubbo-metrics/dubbo-metrics-api/src/main/java/org/apache/dubbo/metrics/service/DefaultMetricsService.java +++ b/dubbo-metrics/dubbo-metrics-default/src/main/java/org/apache/dubbo/metrics/service/DefaultMetricsService.java @@ -17,21 +17,19 @@ package org.apache.dubbo.metrics.service; +import org.apache.dubbo.metrics.collector.AggregateMetricsCollector; +import org.apache.dubbo.metrics.collector.DefaultMetricsCollector; +import org.apache.dubbo.metrics.collector.MetricsCollector; +import org.apache.dubbo.metrics.model.MetricsCategory; +import org.apache.dubbo.metrics.model.sample.GaugeMetricSample; +import org.apache.dubbo.metrics.model.sample.MetricSample; +import org.apache.dubbo.rpc.model.ApplicationModel; + import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; -import org.apache.dubbo.common.metrics.collector.DefaultMetricsCollector; -import org.apache.dubbo.common.metrics.collector.MetricsCollector; -import org.apache.dubbo.common.metrics.model.MetricsCategory; -import org.apache.dubbo.common.metrics.model.sample.GaugeMetricSample; -import org.apache.dubbo.common.metrics.model.sample.MetricSample; -import org.apache.dubbo.common.metrics.service.MetricsEntity; -import org.apache.dubbo.common.metrics.service.MetricsService; -import org.apache.dubbo.metrics.collector.AggregateMetricsCollector; -import org.apache.dubbo.rpc.model.ApplicationModel; - /** * Default implementation of {@link MetricsService} */ diff --git a/dubbo-metrics/dubbo-metrics-api/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.common.metrics.service.MetricsService b/dubbo-metrics/dubbo-metrics-default/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.metrics.service.MetricsService similarity index 100% rename from dubbo-metrics/dubbo-metrics-api/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.common.metrics.service.MetricsService rename to dubbo-metrics/dubbo-metrics-default/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.metrics.service.MetricsService diff --git a/dubbo-metrics/dubbo-metrics-default/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.rpc.Filter b/dubbo-metrics/dubbo-metrics-default/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.rpc.Filter new file mode 100644 index 000000000000..c16959530701 --- /dev/null +++ b/dubbo-metrics/dubbo-metrics-default/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.rpc.Filter @@ -0,0 +1 @@ +metrics-beta=org.apache.dubbo.metrics.filter.MetricsFilter \ No newline at end of file diff --git a/dubbo-metrics/dubbo-metrics-api/src/test/java/org/apache/dubbo/metrics/collector/AggregateMetricsCollectorTest.java b/dubbo-metrics/dubbo-metrics-default/src/test/java/org/apache/dubbo/metrics/collector/AggregateMetricsCollectorTest.java similarity index 95% rename from dubbo-metrics/dubbo-metrics-api/src/test/java/org/apache/dubbo/metrics/collector/AggregateMetricsCollectorTest.java rename to dubbo-metrics/dubbo-metrics-default/src/test/java/org/apache/dubbo/metrics/collector/AggregateMetricsCollectorTest.java index d0a8da3b7b29..995ad826a457 100644 --- a/dubbo-metrics/dubbo-metrics-api/src/test/java/org/apache/dubbo/metrics/collector/AggregateMetricsCollectorTest.java +++ b/dubbo-metrics/dubbo-metrics-default/src/test/java/org/apache/dubbo/metrics/collector/AggregateMetricsCollectorTest.java @@ -17,14 +17,13 @@ package org.apache.dubbo.metrics.collector; +import org.apache.dubbo.metrics.model.MetricsKey; +import org.apache.dubbo.metrics.model.sample.GaugeMetricSample; +import org.apache.dubbo.metrics.model.sample.MetricSample; import java.util.List; import java.util.Map; import java.util.stream.Collectors; -import org.apache.dubbo.common.metrics.collector.DefaultMetricsCollector; -import org.apache.dubbo.common.metrics.model.MetricsKey; -import org.apache.dubbo.common.metrics.model.sample.GaugeMetricSample; -import org.apache.dubbo.common.metrics.model.sample.MetricSample; import org.apache.dubbo.config.ApplicationConfig; import org.apache.dubbo.config.MetricsConfig; import org.apache.dubbo.config.nested.AggregationConfig; diff --git a/dubbo-metrics/dubbo-metrics-api/src/test/java/org/apache/dubbo/metrics/filter/MetricsFilterTest.java b/dubbo-metrics/dubbo-metrics-default/src/test/java/org/apache/dubbo/metrics/filter/MetricsFilterTest.java similarity index 98% rename from dubbo-metrics/dubbo-metrics-api/src/test/java/org/apache/dubbo/metrics/filter/MetricsFilterTest.java rename to dubbo-metrics/dubbo-metrics-default/src/test/java/org/apache/dubbo/metrics/filter/MetricsFilterTest.java index e558fee95fe8..3f4236800e6f 100644 --- a/dubbo-metrics/dubbo-metrics-api/src/test/java/org/apache/dubbo/metrics/filter/MetricsFilterTest.java +++ b/dubbo-metrics/dubbo-metrics-default/src/test/java/org/apache/dubbo/metrics/filter/MetricsFilterTest.java @@ -21,12 +21,11 @@ import java.util.Map; import java.util.function.Function; import java.util.stream.Collectors; - -import org.apache.dubbo.common.metrics.collector.DefaultMetricsCollector; -import org.apache.dubbo.common.metrics.model.MetricsKey; -import org.apache.dubbo.common.metrics.model.sample.GaugeMetricSample; -import org.apache.dubbo.common.metrics.model.sample.MetricSample; import org.apache.dubbo.config.ApplicationConfig; +import org.apache.dubbo.metrics.collector.DefaultMetricsCollector; +import org.apache.dubbo.metrics.model.MetricsKey; +import org.apache.dubbo.metrics.model.sample.GaugeMetricSample; +import org.apache.dubbo.metrics.model.sample.MetricSample; import org.apache.dubbo.rpc.AppResponse; import org.apache.dubbo.rpc.Invoker; import org.apache.dubbo.rpc.Result; diff --git a/dubbo-common/src/test/java/org/apache/dubbo/common/metrics/collector/DefaultMetricsCollectorTest.java b/dubbo-metrics/dubbo-metrics-default/src/test/java/org/apache/dubbo/metrics/metrics/collector/DefaultMetricsCollectorTest.java similarity index 93% rename from dubbo-common/src/test/java/org/apache/dubbo/common/metrics/collector/DefaultMetricsCollectorTest.java rename to dubbo-metrics/dubbo-metrics-default/src/test/java/org/apache/dubbo/metrics/metrics/collector/DefaultMetricsCollectorTest.java index bbbd3d809c8e..9c5da1459e96 100644 --- a/dubbo-common/src/test/java/org/apache/dubbo/common/metrics/collector/DefaultMetricsCollectorTest.java +++ b/dubbo-metrics/dubbo-metrics-default/src/test/java/org/apache/dubbo/metrics/metrics/collector/DefaultMetricsCollectorTest.java @@ -15,21 +15,21 @@ * limitations under the License. */ -package org.apache.dubbo.common.metrics.collector; +package org.apache.dubbo.metrics.metrics.collector; import java.util.List; import java.util.Map; import java.util.function.Supplier; import java.util.stream.Collectors; - -import org.apache.dubbo.common.metrics.event.MetricsEvent; -import org.apache.dubbo.common.metrics.event.RTEvent; -import org.apache.dubbo.common.metrics.event.RequestEvent; -import org.apache.dubbo.common.metrics.listener.MetricsListener; -import org.apache.dubbo.common.metrics.model.MetricsKey; -import org.apache.dubbo.common.metrics.model.sample.GaugeMetricSample; -import org.apache.dubbo.common.metrics.model.sample.MetricSample; import org.apache.dubbo.config.ApplicationConfig; +import org.apache.dubbo.metrics.collector.DefaultMetricsCollector; +import org.apache.dubbo.metrics.event.MetricsEvent; +import org.apache.dubbo.metrics.event.RTEvent; +import org.apache.dubbo.metrics.event.RequestEvent; +import org.apache.dubbo.metrics.listener.MetricsListener; +import org.apache.dubbo.metrics.model.MetricsKey; +import org.apache.dubbo.metrics.model.sample.GaugeMetricSample; +import org.apache.dubbo.metrics.model.sample.MetricSample; import org.apache.dubbo.rpc.model.ApplicationModel; import org.apache.dubbo.rpc.model.FrameworkModel; import org.junit.jupiter.api.AfterEach; diff --git a/dubbo-common/src/test/java/org/apache/dubbo/common/metrics/event/RTEventTest.java b/dubbo-metrics/dubbo-metrics-default/src/test/java/org/apache/dubbo/metrics/metrics/event/RTEventTest.java similarity index 88% rename from dubbo-common/src/test/java/org/apache/dubbo/common/metrics/event/RTEventTest.java rename to dubbo-metrics/dubbo-metrics-default/src/test/java/org/apache/dubbo/metrics/metrics/event/RTEventTest.java index 948110971dc1..e5134fc12ecc 100644 --- a/dubbo-common/src/test/java/org/apache/dubbo/common/metrics/event/RTEventTest.java +++ b/dubbo-metrics/dubbo-metrics-default/src/test/java/org/apache/dubbo/metrics/metrics/event/RTEventTest.java @@ -15,10 +15,10 @@ * limitations under the License. */ -package org.apache.dubbo.common.metrics.event; - -import org.apache.dubbo.common.metrics.model.MethodMetric; +package org.apache.dubbo.metrics.metrics.event; +import org.apache.dubbo.metrics.event.RTEvent; +import org.apache.dubbo.metrics.model.MethodMetric; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/dubbo-common/src/test/java/org/apache/dubbo/common/metrics/event/RequestEventTest.java b/dubbo-metrics/dubbo-metrics-default/src/test/java/org/apache/dubbo/metrics/metrics/event/RequestEventTest.java similarity index 89% rename from dubbo-common/src/test/java/org/apache/dubbo/common/metrics/event/RequestEventTest.java rename to dubbo-metrics/dubbo-metrics-default/src/test/java/org/apache/dubbo/metrics/metrics/event/RequestEventTest.java index b808fa75ec91..742c5b7be906 100644 --- a/dubbo-common/src/test/java/org/apache/dubbo/common/metrics/event/RequestEventTest.java +++ b/dubbo-metrics/dubbo-metrics-default/src/test/java/org/apache/dubbo/metrics/metrics/event/RequestEventTest.java @@ -15,10 +15,10 @@ * limitations under the License. */ -package org.apache.dubbo.common.metrics.event; - -import org.apache.dubbo.common.metrics.model.MethodMetric; +package org.apache.dubbo.metrics.metrics.event; +import org.apache.dubbo.metrics.event.RequestEvent; +import org.apache.dubbo.metrics.model.MethodMetric; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/dubbo-common/src/test/java/org/apache/dubbo/common/metrics/model/MethodMetricTest.java b/dubbo-metrics/dubbo-metrics-default/src/test/java/org/apache/dubbo/metrics/metrics/model/MethodMetricTest.java similarity index 96% rename from dubbo-common/src/test/java/org/apache/dubbo/common/metrics/model/MethodMetricTest.java rename to dubbo-metrics/dubbo-metrics-default/src/test/java/org/apache/dubbo/metrics/metrics/model/MethodMetricTest.java index b72297095082..cbc563b26bf0 100644 --- a/dubbo-common/src/test/java/org/apache/dubbo/common/metrics/model/MethodMetricTest.java +++ b/dubbo-metrics/dubbo-metrics-default/src/test/java/org/apache/dubbo/metrics/metrics/model/MethodMetricTest.java @@ -15,8 +15,9 @@ * limitations under the License. */ -package org.apache.dubbo.common.metrics.model; +package org.apache.dubbo.metrics.metrics.model; +import org.apache.dubbo.metrics.model.MethodMetric; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; diff --git a/dubbo-common/src/test/java/org/apache/dubbo/common/metrics/model/sample/GaugeMetricSampleTest.java b/dubbo-metrics/dubbo-metrics-default/src/test/java/org/apache/dubbo/metrics/metrics/model/sample/GaugeMetricSampleTest.java similarity index 90% rename from dubbo-common/src/test/java/org/apache/dubbo/common/metrics/model/sample/GaugeMetricSampleTest.java rename to dubbo-metrics/dubbo-metrics-default/src/test/java/org/apache/dubbo/metrics/metrics/model/sample/GaugeMetricSampleTest.java index a47e071cf511..42aa87e8a15e 100644 --- a/dubbo-common/src/test/java/org/apache/dubbo/common/metrics/model/sample/GaugeMetricSampleTest.java +++ b/dubbo-metrics/dubbo-metrics-default/src/test/java/org/apache/dubbo/metrics/metrics/model/sample/GaugeMetricSampleTest.java @@ -15,10 +15,11 @@ * limitations under the License. */ -package org.apache.dubbo.common.metrics.model.sample; - -import org.apache.dubbo.common.metrics.model.MetricsCategory; +package org.apache.dubbo.metrics.metrics.model.sample; +import org.apache.dubbo.metrics.model.MetricsCategory; +import org.apache.dubbo.metrics.model.sample.GaugeMetricSample; +import org.apache.dubbo.metrics.model.sample.MetricSample; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; diff --git a/dubbo-common/src/test/java/org/apache/dubbo/common/metrics/model/sample/MetricSampleTest.java b/dubbo-metrics/dubbo-metrics-default/src/test/java/org/apache/dubbo/metrics/metrics/model/sample/MetricSampleTest.java similarity index 92% rename from dubbo-common/src/test/java/org/apache/dubbo/common/metrics/model/sample/MetricSampleTest.java rename to dubbo-metrics/dubbo-metrics-default/src/test/java/org/apache/dubbo/metrics/metrics/model/sample/MetricSampleTest.java index b85afec10d20..b7bc85662b33 100644 --- a/dubbo-common/src/test/java/org/apache/dubbo/common/metrics/model/sample/MetricSampleTest.java +++ b/dubbo-metrics/dubbo-metrics-default/src/test/java/org/apache/dubbo/metrics/metrics/model/sample/MetricSampleTest.java @@ -15,10 +15,10 @@ * limitations under the License. */ -package org.apache.dubbo.common.metrics.model.sample; - -import org.apache.dubbo.common.metrics.model.MetricsCategory; +package org.apache.dubbo.metrics.metrics.model.sample; +import org.apache.dubbo.metrics.model.MetricsCategory; +import org.apache.dubbo.metrics.model.sample.MetricSample; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; diff --git a/dubbo-common/src/test/java/org/apache/dubbo/common/metrics/service/MetricsEntityTest.java b/dubbo-metrics/dubbo-metrics-default/src/test/java/org/apache/dubbo/metrics/metrics/service/MetricsEntityTest.java similarity index 91% rename from dubbo-common/src/test/java/org/apache/dubbo/common/metrics/service/MetricsEntityTest.java rename to dubbo-metrics/dubbo-metrics-default/src/test/java/org/apache/dubbo/metrics/metrics/service/MetricsEntityTest.java index b6e20162914c..19285ad59fd8 100644 --- a/dubbo-common/src/test/java/org/apache/dubbo/common/metrics/service/MetricsEntityTest.java +++ b/dubbo-metrics/dubbo-metrics-default/src/test/java/org/apache/dubbo/metrics/metrics/service/MetricsEntityTest.java @@ -15,10 +15,10 @@ * limitations under the License. */ -package org.apache.dubbo.common.metrics.service; - -import org.apache.dubbo.common.metrics.model.MetricsCategory; +package org.apache.dubbo.metrics.metrics.service; +import org.apache.dubbo.metrics.model.MetricsCategory; +import org.apache.dubbo.metrics.service.MetricsEntity; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; diff --git a/dubbo-metrics/dubbo-metrics-prometheus/pom.xml b/dubbo-metrics/dubbo-metrics-prometheus/pom.xml index 18f90e1ac3ef..8f6ceaeafa46 100644 --- a/dubbo-metrics/dubbo-metrics-prometheus/pom.xml +++ b/dubbo-metrics/dubbo-metrics-prometheus/pom.xml @@ -38,7 +38,7 @@ org.apache.dubbo - dubbo-metrics-api + dubbo-metrics-default ${project.parent.version} diff --git a/dubbo-metrics/dubbo-metrics-prometheus/src/main/java/org/apache/dubbo/metrics/prometheus/PrometheusMetricsReporter.java b/dubbo-metrics/dubbo-metrics-prometheus/src/main/java/org/apache/dubbo/metrics/prometheus/PrometheusMetricsReporter.java index f27b38a4afa3..970bab514296 100644 --- a/dubbo-metrics/dubbo-metrics-prometheus/src/main/java/org/apache/dubbo/metrics/prometheus/PrometheusMetricsReporter.java +++ b/dubbo-metrics/dubbo-metrics-prometheus/src/main/java/org/apache/dubbo/metrics/prometheus/PrometheusMetricsReporter.java @@ -27,7 +27,7 @@ import org.apache.dubbo.common.logger.LoggerFactory; import org.apache.dubbo.common.utils.NamedThreadFactory; import org.apache.dubbo.common.utils.StringUtils; -import org.apache.dubbo.metrics.AbstractMetricsReporter; +import org.apache.dubbo.metrics.report.AbstractMetricsReporter; import org.apache.dubbo.rpc.model.ApplicationModel; import java.io.IOException; diff --git a/dubbo-metrics/dubbo-metrics-prometheus/src/main/java/org/apache/dubbo/metrics/prometheus/PrometheusMetricsReporterFactory.java b/dubbo-metrics/dubbo-metrics-prometheus/src/main/java/org/apache/dubbo/metrics/prometheus/PrometheusMetricsReporterFactory.java index f28aa7403a84..61aed6dee80b 100644 --- a/dubbo-metrics/dubbo-metrics-prometheus/src/main/java/org/apache/dubbo/metrics/prometheus/PrometheusMetricsReporterFactory.java +++ b/dubbo-metrics/dubbo-metrics-prometheus/src/main/java/org/apache/dubbo/metrics/prometheus/PrometheusMetricsReporterFactory.java @@ -18,8 +18,8 @@ package org.apache.dubbo.metrics.prometheus; import org.apache.dubbo.common.URL; -import org.apache.dubbo.common.metrics.MetricsReporter; -import org.apache.dubbo.metrics.AbstractMetricsReporterFactory; +import org.apache.dubbo.metrics.report.MetricsReporter; +import org.apache.dubbo.metrics.report.AbstractMetricsReporterFactory; import org.apache.dubbo.rpc.model.ApplicationModel; /** diff --git a/dubbo-metrics/dubbo-metrics-prometheus/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.common.metrics.MetricsReporterFactory b/dubbo-metrics/dubbo-metrics-prometheus/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.metrics.report.MetricsReporterFactory similarity index 100% rename from dubbo-metrics/dubbo-metrics-prometheus/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.common.metrics.MetricsReporterFactory rename to dubbo-metrics/dubbo-metrics-prometheus/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.metrics.report.MetricsReporterFactory diff --git a/dubbo-metrics/dubbo-metrics-prometheus/src/test/java/org/apache/dubbo/metrics/prometheus/PrometheusMetricsReporterFactoryTest.java b/dubbo-metrics/dubbo-metrics-prometheus/src/test/java/org/apache/dubbo/metrics/prometheus/PrometheusMetricsReporterFactoryTest.java index ab6956860c6f..50725ca82f11 100644 --- a/dubbo-metrics/dubbo-metrics-prometheus/src/test/java/org/apache/dubbo/metrics/prometheus/PrometheusMetricsReporterFactoryTest.java +++ b/dubbo-metrics/dubbo-metrics-prometheus/src/test/java/org/apache/dubbo/metrics/prometheus/PrometheusMetricsReporterFactoryTest.java @@ -18,7 +18,7 @@ package org.apache.dubbo.metrics.prometheus; import org.apache.dubbo.common.URL; -import org.apache.dubbo.common.metrics.MetricsReporter; +import org.apache.dubbo.metrics.report.MetricsReporter; import org.apache.dubbo.rpc.model.ApplicationModel; import org.junit.jupiter.api.Assertions; diff --git a/dubbo-metrics/pom.xml b/dubbo-metrics/pom.xml index 2b101fcf3a5d..c504428498b1 100644 --- a/dubbo-metrics/pom.xml +++ b/dubbo-metrics/pom.xml @@ -19,6 +19,7 @@ 4.0.0 dubbo-metrics-api + dubbo-metrics-default dubbo-metrics-prometheus diff --git a/dubbo-native-plugin/pom.xml b/dubbo-native-plugin/pom.xml index 58270ebeebcf..ccd24c7b3992 100644 --- a/dubbo-native-plugin/pom.xml +++ b/dubbo-native-plugin/pom.xml @@ -66,6 +66,11 @@ commons-io 2.11.0 + + org.apache.dubbo + dubbo-metrics-default + ${project.parent.version} + diff --git a/dubbo-native-plugin/src/main/java/org/apache/dubbo/common/metrics/MetricsReporterFactory$Adaptive.java b/dubbo-native-plugin/src/main/java/org/apache/dubbo/common/metrics/MetricsReporterFactory$Adaptive.java index aa288ce381a6..ed54214c788b 100644 --- a/dubbo-native-plugin/src/main/java/org/apache/dubbo/common/metrics/MetricsReporterFactory$Adaptive.java +++ b/dubbo-native-plugin/src/main/java/org/apache/dubbo/common/metrics/MetricsReporterFactory$Adaptive.java @@ -15,16 +15,19 @@ * limitations under the License. */ package org.apache.dubbo.common.metrics; + +import org.apache.dubbo.metrics.report.MetricsReporter; +import org.apache.dubbo.metrics.report.MetricsReporterFactory; import org.apache.dubbo.rpc.model.ScopeModel; import org.apache.dubbo.rpc.model.ScopeModelUtil; -public class MetricsReporterFactory$Adaptive implements org.apache.dubbo.common.metrics.MetricsReporterFactory { -public org.apache.dubbo.common.metrics.MetricsReporter createMetricsReporter(org.apache.dubbo.common.URL arg0) { +public class MetricsReporterFactory$Adaptive implements MetricsReporterFactory { +public MetricsReporter createMetricsReporter(org.apache.dubbo.common.URL arg0) { if (arg0 == null) throw new IllegalArgumentException("url == null"); org.apache.dubbo.common.URL url = arg0; String extName = ( url.getProtocol() == null ? "nop" : url.getProtocol() ); -if(extName == null) throw new IllegalStateException("Failed to get extension (org.apache.dubbo.common.metrics.MetricsReporterFactory) name from url (" + url.toString() + ") use keys([protocol])"); -ScopeModel scopeModel = ScopeModelUtil.getOrDefault(url.getScopeModel(), org.apache.dubbo.common.metrics.MetricsReporterFactory.class); -org.apache.dubbo.common.metrics.MetricsReporterFactory extension = (org.apache.dubbo.common.metrics.MetricsReporterFactory)scopeModel.getExtensionLoader(org.apache.dubbo.common.metrics.MetricsReporterFactory.class).getExtension(extName); +if(extName == null) throw new IllegalStateException("Failed to get extension (MetricsReporterFactory) name from url (" + url.toString() + ") use keys([protocol])"); +ScopeModel scopeModel = ScopeModelUtil.getOrDefault(url.getScopeModel(), MetricsReporterFactory.class); +MetricsReporterFactory extension = (MetricsReporterFactory)scopeModel.getExtensionLoader(MetricsReporterFactory.class).getExtension(extName); return extension.createMetricsReporter(arg0); } } diff --git a/dubbo-native-plugin/src/main/resources/META-INF/native-image/reflect-config.json b/dubbo-native-plugin/src/main/resources/META-INF/native-image/reflect-config.json index 35788ff57315..9466cdfe3b9e 100644 --- a/dubbo-native-plugin/src/main/resources/META-INF/native-image/reflect-config.json +++ b/dubbo-native-plugin/src/main/resources/META-INF/native-image/reflect-config.json @@ -2846,7 +2846,7 @@ ] }, { - "name": "org.apache.dubbo.common.metrics.collector.DefaultMetricsCollector", + "name": "org.apache.dubbo.metrics.collector.DefaultMetricsCollector", "allPublicMethods": true, "methods": [ { diff --git a/dubbo-native-plugin/src/main/resources/META-INF/native-image/resource-config.json b/dubbo-native-plugin/src/main/resources/META-INF/native-image/resource-config.json index b2acd249aa94..51f17b21af1e 100644 --- a/dubbo-native-plugin/src/main/resources/META-INF/native-image/resource-config.json +++ b/dubbo-native-plugin/src/main/resources/META-INF/native-image/resource-config.json @@ -155,7 +155,7 @@ "pattern": "\\QMETA-INF/dubbo/internal/org.apache.dubbo.common.store.DataStore\\E" }, { - "pattern": "\\QMETA-INF/dubbo/internal/org.apache.dubbo.common.metrics.service.MetricsServiceExporter\\E" + "pattern": "\\QMETA-INF/dubbo/internal/org.apache.dubbo.metrics.service.MetricsServiceExporter\\E" }, { "pattern": "\\Qsecurity/serialize.blockedlist\\E" diff --git a/dubbo-native/pom.xml b/dubbo-native/pom.xml index 727e58cfab20..73e37cb332f7 100644 --- a/dubbo-native/pom.xml +++ b/dubbo-native/pom.xml @@ -70,6 +70,11 @@ ${project.parent.version} test + + org.apache.dubbo + dubbo-metrics-default + ${project.parent.version} + diff --git a/dubbo-native/src/main/java/org/apache/dubbo/common/metrics/MetricsReporterFactory$Adaptive.java b/dubbo-native/src/main/java/org/apache/dubbo/common/metrics/MetricsReporterFactory$Adaptive.java index aa288ce381a6..ed54214c788b 100644 --- a/dubbo-native/src/main/java/org/apache/dubbo/common/metrics/MetricsReporterFactory$Adaptive.java +++ b/dubbo-native/src/main/java/org/apache/dubbo/common/metrics/MetricsReporterFactory$Adaptive.java @@ -15,16 +15,19 @@ * limitations under the License. */ package org.apache.dubbo.common.metrics; + +import org.apache.dubbo.metrics.report.MetricsReporter; +import org.apache.dubbo.metrics.report.MetricsReporterFactory; import org.apache.dubbo.rpc.model.ScopeModel; import org.apache.dubbo.rpc.model.ScopeModelUtil; -public class MetricsReporterFactory$Adaptive implements org.apache.dubbo.common.metrics.MetricsReporterFactory { -public org.apache.dubbo.common.metrics.MetricsReporter createMetricsReporter(org.apache.dubbo.common.URL arg0) { +public class MetricsReporterFactory$Adaptive implements MetricsReporterFactory { +public MetricsReporter createMetricsReporter(org.apache.dubbo.common.URL arg0) { if (arg0 == null) throw new IllegalArgumentException("url == null"); org.apache.dubbo.common.URL url = arg0; String extName = ( url.getProtocol() == null ? "nop" : url.getProtocol() ); -if(extName == null) throw new IllegalStateException("Failed to get extension (org.apache.dubbo.common.metrics.MetricsReporterFactory) name from url (" + url.toString() + ") use keys([protocol])"); -ScopeModel scopeModel = ScopeModelUtil.getOrDefault(url.getScopeModel(), org.apache.dubbo.common.metrics.MetricsReporterFactory.class); -org.apache.dubbo.common.metrics.MetricsReporterFactory extension = (org.apache.dubbo.common.metrics.MetricsReporterFactory)scopeModel.getExtensionLoader(org.apache.dubbo.common.metrics.MetricsReporterFactory.class).getExtension(extName); +if(extName == null) throw new IllegalStateException("Failed to get extension (MetricsReporterFactory) name from url (" + url.toString() + ") use keys([protocol])"); +ScopeModel scopeModel = ScopeModelUtil.getOrDefault(url.getScopeModel(), MetricsReporterFactory.class); +MetricsReporterFactory extension = (MetricsReporterFactory)scopeModel.getExtensionLoader(MetricsReporterFactory.class).getExtension(extName); return extension.createMetricsReporter(arg0); } } diff --git a/dubbo-spring-boot/dubbo-spring-boot-actuator/pom.xml b/dubbo-spring-boot/dubbo-spring-boot-actuator/pom.xml index d9af335d4d75..88c25d4e3bd5 100644 --- a/dubbo-spring-boot/dubbo-spring-boot-actuator/pom.xml +++ b/dubbo-spring-boot/dubbo-spring-boot-actuator/pom.xml @@ -147,7 +147,7 @@ org.apache.dubbo - dubbo-metrics-api + dubbo-metrics-default ${project.version} diff --git a/dubbo-test/dubbo-dependencies-all/pom.xml b/dubbo-test/dubbo-dependencies-all/pom.xml index 83374e72dfdb..c95c9b765fc9 100644 --- a/dubbo-test/dubbo-dependencies-all/pom.xml +++ b/dubbo-test/dubbo-dependencies-all/pom.xml @@ -144,6 +144,10 @@ org.apache.dubbo dubbo-metrics-api + + org.apache.dubbo + dubbo-metrics-default + org.apache.dubbo dubbo-metrics-prometheus