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 2023/08/31 11:01:07 UTC
[dubbo] branch 3.3 updated (bf3d4f4ca3 -> 36a80e4db7)
This is an automated email from the ASF dual-hosted git repository.
albumenj pushed a change to branch 3.3
in repository https://gitbox.apache.org/repos/asf/dubbo.git
from bf3d4f4ca3 Metrics event split (#12888)
add 0c6b1ee17a Bump netty4_version from 4.1.95.Final to 4.1.96.Final (#12820)
add c2352df095 Fix injvm params error (#12938)
add 9d7c1b62bd Revert ":zap: avoid use string.format (#12816)"
add 0de4c395e8 Fix shouldReconnect check (#12949)
add f5cc40c56a Fix static directory metrics label (#12951)
add 2a5b437d58 Support check if qos server is started (#12952)
add 711de7c2a0 Adds metrics initialization metrics for the service interface(#12850) (#12892)
add d61f491287 serialize.allowlist is not include SingletonMap (#12962)
add 79ba4cd6b7 Update CHANGES.md (#12960)
add 48a65a3510 Bump net.bytebuddy:byte-buddy from 1.14.5 to 1.14.7 (#12972)
add 382330387a Bump org.graalvm.buildtools:native-maven-plugin from 0.9.24 to 0.9.25 (#12963)
add cd9897a55f Bump org.springframework.boot:spring-boot-dependencies (#12973)
add e04e0e6c66 Bump org.springframework.boot:spring-boot-starter-test (#12971)
add 53f5c77ac1 Bump protobuf-java_version from 3.24.1 to 3.24.2 (#12967)
add 56d312fefd Bump org.yaml:snakeyaml from 2.1 to 2.2 (#12970)
add b09f34cf58 Bump org.springframework.boot:spring-boot-maven-plugin (#12965)
add 3fa2674df3 Bump netty4_version from 4.1.96.Final to 4.1.97.Final (#12964)
add 042a17941d Bump org.springframework.security:spring-security-bom (#12966)
add e07fc6311b Bump org.testcontainers:testcontainers from 1.18.3 to 1.19.0 (#12969)
add 39fc67387b Bump spring-boot.version from 2.7.14 to 2.7.15 (#12968)
add c12a57eb3c enhance application discovery toString (#12953)
new 36a80e4db7 Merge branch 'apache-3.2' into apache-3.3
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
CHANGES.md | 2 +-
.../rpc/cluster/directory/AbstractDirectory.java | 4 +-
.../rpc/cluster/directory/StaticDirectory.java | 8 +-
.../dubbo/common/constants/QosConstants.java | 2 +
.../org/apache/dubbo/config/ApplicationConfig.java | 15 ++
.../main/resources/security/serialize.allowlist | 1 +
dubbo-config/dubbo-config-api/pom.xml | 2 +-
.../org/apache/dubbo/config/ServiceConfig.java | 14 ++
dubbo-config/dubbo-config-spring/pom.xml | 2 +-
.../src/main/resources/META-INF/dubbo.xsd | 5 +
dubbo-demo/dubbo-demo-annotation/pom.xml | 2 +-
dubbo-demo/dubbo-demo-api/pom.xml | 2 +-
.../dubbo-demo-native-consumer/pom.xml | 2 +-
.../dubbo-demo-native-provider/pom.xml | 2 +-
.../dubbo-demo-spring-boot-consumer/pom.xml | 2 +-
.../dubbo-demo-spring-boot-provider/pom.xml | 2 +-
dubbo-demo/dubbo-demo-spring-boot/pom.xml | 4 +-
dubbo-demo/dubbo-demo-xml/pom.xml | 2 +-
dubbo-dependencies-bom/pom.xml | 12 +-
.../metrics/collector/CombMetricsCollector.java | 6 +
.../metrics/collector/MethodMetricsCollector.java | 2 +
.../dubbo/metrics/collector/MetricsCollector.java | 3 +
.../dubbo/metrics/data/BaseStatComposite.java | 4 +
.../dubbo/metrics/data/MethodStatComposite.java | 8 +
.../dubbo/metrics/event/MetricsInitEvent.java | 48 ++++++
.../event/SimpleMetricsEventMulticaster.java | 1 +
.../apache/dubbo/metrics/model/MetricsSupport.java | 5 +
.../dubbo/metrics/model/key/MetricsKeyWrapper.java | 2 +-
.../org/apache/dubbo/metrics/DefaultConstants.java | 25 +++
.../collector/AggregateMetricsCollector.java | 40 ++++-
.../metrics/collector/DefaultMetricsCollector.java | 33 +++-
.../sample/MetricThreadPoolExhaustedListener.java | 2 +-
.../sample/SimpleMetricsCountSampler.java | 4 +
.../sample/ThreadRejectMetricsCountSampler.java | 1 +
.../metrics/collector/InitServiceMetricsTest.java | 152 ++++++++++++++++++
.../dubbo/metrics/listener/MetricsListener.java | 1 -
.../apache/dubbo/metrics/model/key/MetricsKey.java | 175 ++++++++++-----------
.../metrics/collector/RegistryMetricsTest.java | 7 +-
.../dubbo/qos/protocol/QosProtocolWrapper.java | 5 +
.../registry/client/ServiceDiscoveryRegistry.java | 8 +-
.../client/ServiceDiscoveryRegistryDirectory.java | 12 +-
.../registry/integration/DynamicDirectory.java | 2 +-
.../support/header/HeaderExchangeClient.java | 4 +-
.../support/header/HeaderExchangeClientTest.java | 40 +++++
.../dubbo/rpc/protocol/injvm/InjvmInvoker.java | 20 ++-
dubbo-spring-boot/pom.xml | 2 +-
46 files changed, 559 insertions(+), 138 deletions(-)
create mode 100644 dubbo-metrics/dubbo-metrics-api/src/main/java/org/apache/dubbo/metrics/event/MetricsInitEvent.java
create mode 100644 dubbo-metrics/dubbo-metrics-default/src/test/java/org/apache/dubbo/metrics/collector/InitServiceMetricsTest.java
create mode 100644 dubbo-remoting/dubbo-remoting-api/src/test/java/org/apache/dubbo/remoting/exchange/support/header/HeaderExchangeClientTest.java
[dubbo] 01/01: Merge branch 'apache-3.2' into apache-3.3
Posted by al...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
albumenj pushed a commit to branch 3.3
in repository https://gitbox.apache.org/repos/asf/dubbo.git
commit 36a80e4db7306a30dff1b6f0ffb076adbd7980c4
Merge: bf3d4f4ca3 c12a57eb3c
Author: Albumen Kevin <jh...@gmail.com>
AuthorDate: Thu Aug 31 18:59:20 2023 +0800
Merge branch 'apache-3.2' into apache-3.3
# Conflicts:
# dubbo-metrics/dubbo-metrics-default/src/main/java/org/apache/dubbo/metrics/collector/DefaultMetricsCollector.java
# dubbo-metrics/dubbo-metrics-default/src/main/java/org/apache/dubbo/metrics/collector/sample/ThreadRejectMetricsCountSampler.java
# dubbo-metrics/dubbo-metrics-event/src/main/java/org/apache/dubbo/metrics/model/key/MetricsKey.java
CHANGES.md | 2 +-
.../rpc/cluster/directory/AbstractDirectory.java | 4 +-
.../rpc/cluster/directory/StaticDirectory.java | 8 +-
.../dubbo/common/constants/QosConstants.java | 2 +
.../org/apache/dubbo/config/ApplicationConfig.java | 15 ++
.../main/resources/security/serialize.allowlist | 1 +
dubbo-config/dubbo-config-api/pom.xml | 2 +-
.../org/apache/dubbo/config/ServiceConfig.java | 14 ++
dubbo-config/dubbo-config-spring/pom.xml | 2 +-
.../src/main/resources/META-INF/dubbo.xsd | 5 +
dubbo-demo/dubbo-demo-annotation/pom.xml | 2 +-
dubbo-demo/dubbo-demo-api/pom.xml | 2 +-
.../dubbo-demo-native-consumer/pom.xml | 2 +-
.../dubbo-demo-native-provider/pom.xml | 2 +-
.../dubbo-demo-spring-boot-consumer/pom.xml | 2 +-
.../dubbo-demo-spring-boot-provider/pom.xml | 2 +-
dubbo-demo/dubbo-demo-spring-boot/pom.xml | 4 +-
dubbo-demo/dubbo-demo-xml/pom.xml | 2 +-
dubbo-dependencies-bom/pom.xml | 12 +-
.../metrics/collector/CombMetricsCollector.java | 6 +
.../metrics/collector/MethodMetricsCollector.java | 2 +
.../dubbo/metrics/collector/MetricsCollector.java | 3 +
.../dubbo/metrics/data/BaseStatComposite.java | 4 +
.../dubbo/metrics/data/MethodStatComposite.java | 8 +
.../dubbo/metrics/event/MetricsInitEvent.java | 48 ++++++
.../event/SimpleMetricsEventMulticaster.java | 1 +
.../apache/dubbo/metrics/model/MetricsSupport.java | 5 +
.../dubbo/metrics/model/key/MetricsKeyWrapper.java | 2 +-
.../org/apache/dubbo/metrics/DefaultConstants.java | 25 +++
.../collector/AggregateMetricsCollector.java | 40 ++++-
.../metrics/collector/DefaultMetricsCollector.java | 33 +++-
.../sample/MetricThreadPoolExhaustedListener.java | 2 +-
.../sample/SimpleMetricsCountSampler.java | 4 +
.../sample/ThreadRejectMetricsCountSampler.java | 1 +
.../metrics/collector/InitServiceMetricsTest.java | 152 ++++++++++++++++++
.../dubbo/metrics/listener/MetricsListener.java | 1 -
.../apache/dubbo/metrics/model/key/MetricsKey.java | 175 ++++++++++-----------
.../metrics/collector/RegistryMetricsTest.java | 7 +-
.../dubbo/qos/protocol/QosProtocolWrapper.java | 5 +
.../registry/client/ServiceDiscoveryRegistry.java | 8 +-
.../client/ServiceDiscoveryRegistryDirectory.java | 12 +-
.../registry/integration/DynamicDirectory.java | 2 +-
.../support/header/HeaderExchangeClient.java | 4 +-
.../support/header/HeaderExchangeClientTest.java | 40 +++++
.../dubbo/rpc/protocol/injvm/InjvmInvoker.java | 20 ++-
dubbo-spring-boot/pom.xml | 2 +-
46 files changed, 559 insertions(+), 138 deletions(-)
diff --cc dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ServiceConfig.java
index 3e6b767b52,2c8d39c4f1..d9d6862255
--- a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ServiceConfig.java
+++ b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ServiceConfig.java
@@@ -58,9 -61,9 +61,10 @@@ import java.util.ArrayList
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.List;
import java.util.Map;
+ import java.util.Optional;
import java.util.TreeSet;
import java.util.UUID;
import java.util.concurrent.ConcurrentHashMap;
@@@ -542,10 -545,17 +546,20 @@@ public class ServiceConfig<T> extends S
processServiceExecutor(url);
+ if (CollectionUtils.isEmpty(registryURLs)) {
+ registerType = RegisterTypeEnum.NEVER_REGISTER;
+ }
exportUrl(url, registryURLs, registerType);
+
+ initServiceMethodMetrics(url);
+ }
+
+ private void initServiceMethodMetrics(URL url) {
+ String [] methods = Optional.ofNullable(url.getParameter(METHODS_KEY)).map(i->i.split(",")).orElse( new String[]{});
+ Arrays.stream(methods).forEach( method-> {
+ RpcInvocation invocation = new RpcInvocation(url.getServiceKey(),url.getServiceModel(),method,interfaceName, url.getProtocolServiceKey(), null, null,null,null,null,null);
+ MetricsEventBus.publish(MetricsInitEvent.toMetricsInitEvent(application.getApplicationModel(),invocation));
+ });
}
private void processServiceExecutor(URL url) {
diff --cc dubbo-metrics/dubbo-metrics-default/src/main/java/org/apache/dubbo/metrics/collector/DefaultMetricsCollector.java
index 39376d344f,ca03be45b2..65f40b5185
--- a/dubbo-metrics/dubbo-metrics-default/src/main/java/org/apache/dubbo/metrics/collector/DefaultMetricsCollector.java
+++ b/dubbo-metrics/dubbo-metrics-default/src/main/java/org/apache/dubbo/metrics/collector/DefaultMetricsCollector.java
@@@ -20,7 -20,8 +20,8 @@@ package org.apache.dubbo.metrics.collec
import org.apache.dubbo.common.constants.CommonConstants;
import org.apache.dubbo.common.extension.Activate;
import org.apache.dubbo.metrics.DefaultConstants;
+ import org.apache.dubbo.metrics.MetricsConstants;
-import org.apache.dubbo.metrics.collector.sample.MetricsCountSampleConfigurer;
+import org.apache.dubbo.metrics.collector.sample.ErrorCodeSampler;
import org.apache.dubbo.metrics.collector.sample.MetricsSampler;
import org.apache.dubbo.metrics.collector.sample.SimpleMetricsCountSampler;
import org.apache.dubbo.metrics.collector.sample.ThreadPoolMetricsSampler;
@@@ -54,17 -60,16 +61,22 @@@ public class DefaultMetricsCollector ex
private boolean collectEnabled = false;
private volatile boolean threadpoolCollectEnabled = false;
+
private final ThreadPoolMetricsSampler threadPoolSampler = new ThreadPoolMetricsSampler(this);
+
+ private final ErrorCodeSampler errorCodeSampler;
+
private String applicationName;
+
private final ApplicationModel applicationModel;
+
private final List<MetricsSampler> samplers = new ArrayList<>();
+ private final List<MetricsCollector> collectors = new ArrayList<>();
+
+ private final AtomicBoolean initialized = new AtomicBoolean();
+
+
public DefaultMetricsCollector(ApplicationModel applicationModel) {
super(new BaseStatComposite(applicationModel) {
@Override
diff --cc dubbo-metrics/dubbo-metrics-default/src/main/java/org/apache/dubbo/metrics/collector/sample/ThreadRejectMetricsCountSampler.java
index 2638777574,160f3c31fc..e5b214a7a4
--- a/dubbo-metrics/dubbo-metrics-default/src/main/java/org/apache/dubbo/metrics/collector/sample/ThreadRejectMetricsCountSampler.java
+++ b/dubbo-metrics/dubbo-metrics-default/src/main/java/org/apache/dubbo/metrics/collector/sample/ThreadRejectMetricsCountSampler.java
@@@ -16,22 -16,34 +16,23 @@@
*/
package org.apache.dubbo.metrics.collector.sample;
-import org.apache.dubbo.common.utils.ConcurrentHashSet;
+
import org.apache.dubbo.metrics.collector.DefaultMetricsCollector;
-import org.apache.dubbo.metrics.model.Metric;
import org.apache.dubbo.metrics.model.MetricsCategory;
-import org.apache.dubbo.metrics.model.key.MetricsKey;
import org.apache.dubbo.metrics.model.ThreadPoolRejectMetric;
+import org.apache.dubbo.metrics.model.key.MetricsKey;
import org.apache.dubbo.metrics.model.sample.GaugeMetricSample;
import org.apache.dubbo.metrics.model.sample.MetricSample;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Set;
+
import java.util.concurrent.atomic.AtomicLong;
-import java.util.function.ToDoubleFunction;
-import static org.apache.dubbo.metrics.model.MetricsCategory.THREAD_POOL;
-public class ThreadRejectMetricsCountSampler extends SimpleMetricsCountSampler<String, String, ThreadPoolRejectMetric> {
+import static org.apache.dubbo.metrics.model.MetricsCategory.THREAD_POOL;
- private final DefaultMetricsCollector collector;
+public class ThreadRejectMetricsCountSampler extends MetricsNameCountSampler<String, String, ThreadPoolRejectMetric> {
- private final Set<String> metricNames = new ConcurrentHashSet<>();
public ThreadRejectMetricsCountSampler(DefaultMetricsCollector collector) {
- this.collector = collector;
- this.collector.addSampler(this);
- }
-
- public void addMetricName(String name){
- this.metricNames.add(name);
+ super(collector, THREAD_POOL,MetricsKey.THREAD_POOL_THREAD_REJECT_COUNT);
+ this.initMetricsCounter(name,name);
}
@Override
diff --cc dubbo-metrics/dubbo-metrics-event/src/main/java/org/apache/dubbo/metrics/model/key/MetricsKey.java
index 300c6f4dc4,0000000000..d426898255
mode 100644,000000..100644
--- a/dubbo-metrics/dubbo-metrics-event/src/main/java/org/apache/dubbo/metrics/model/key/MetricsKey.java
+++ b/dubbo-metrics/dubbo-metrics-event/src/main/java/org/apache/dubbo/metrics/model/key/MetricsKey.java
@@@ -1,176 -1,0 +1,171 @@@
+/*
+ * 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.model.key;
+
- /**
- * Please follow a unified naming format as follows:
- * dubbo_type_action_unit_otherfun
- */
+public enum MetricsKey {
- APPLICATION_METRIC_INFO("application.info.total", "Total Application Info"),
++ APPLICATION_METRIC_INFO("dubbo.application.info.total", "Total Application Info"),
+
- CONFIGCENTER_METRIC_TOTAL("configcenter.total", "Config Changed Total"),
++ CONFIGCENTER_METRIC_TOTAL("dubbo.configcenter.total", "Config Changed Total"),
+
+ // provider metrics key
- METRIC_REQUESTS("requests.total", "Total Requests"),
- METRIC_REQUESTS_SUCCEED("requests.succeed.total", "Total Succeed Requests"),
- METRIC_REQUEST_BUSINESS_FAILED("requests.business.failed.total", "Total Failed Business Requests"),
-
- METRIC_REQUESTS_PROCESSING("requests.processing.total", "Processing Requests"),
- METRIC_REQUESTS_TIMEOUT("requests.timeout.total", "Total Timeout Failed Requests"),
- METRIC_REQUESTS_LIMIT("requests.limit.total", "Total Limit Failed Requests"),
- METRIC_REQUESTS_FAILED("requests.unknown.failed.total", "Total Unknown Failed Requests"),
- METRIC_REQUESTS_TOTAL_FAILED("requests.failed.total", "Total Failed Requests"),
- METRIC_REQUESTS_NETWORK_FAILED("requests.failed.network.total", "Total network Failed Requests"),
- METRIC_REQUESTS_SERVICE_UNAVAILABLE_FAILED("requests.failed.service.unavailable.total", "Total Service Unavailable Failed Requests"),
- METRIC_REQUESTS_CODEC_FAILED("requests.failed.codec.total", "Total Codec Failed Requests"),
-
- METRIC_REQUESTS_TOTAL_AGG("requests.total.aggregate", "Aggregated Total Requests"),
- METRIC_REQUESTS_SUCCEED_AGG("requests.succeed.aggregate", "Aggregated Succeed Requests"),
- METRIC_REQUESTS_FAILED_AGG("requests.failed.aggregate", "Aggregated Failed Requests"),
- METRIC_REQUEST_BUSINESS_FAILED_AGG("requests.business.failed.aggregate", "Aggregated Business Failed Requests"),
- METRIC_REQUESTS_TIMEOUT_AGG("requests.timeout.failed.aggregate", "Aggregated timeout Failed Requests"),
- METRIC_REQUESTS_LIMIT_AGG("requests.limit.aggregate", "Aggregated limit Requests"),
- METRIC_REQUESTS_TOTAL_FAILED_AGG("requests.failed.total.aggregate", "Aggregated failed total Requests"),
- METRIC_REQUESTS_NETWORK_FAILED_AGG("requests.failed.network.total.aggregate", "Aggregated failed network total Requests"),
- METRIC_REQUESTS_CODEC_FAILED_AGG("requests.failed.codec.total.aggregate", "Aggregated failed codec total Requests"),
- METRIC_REQUESTS_TOTAL_SERVICE_UNAVAILABLE_FAILED_AGG("requests.failed.service.unavailable.total.aggregate", "Aggregated failed codec total Requests"),
-
- METRIC_QPS("qps.total", "Query Per Seconds"),
- METRIC_RT_LAST("rt.milliseconds.last", "Last Response Time"),
- METRIC_RT_MIN("rt.milliseconds.min", "Min Response Time"),
- METRIC_RT_MAX("rt.milliseconds.max", "Max Response Time"),
- METRIC_RT_SUM("rt.milliseconds.sum", "Sum Response Time"),
- METRIC_RT_AVG("rt.milliseconds.avg", "Average Response Time"),
- METRIC_RT_P99("rt.milliseconds.p99", "Response Time P99"),
- METRIC_RT_P95("rt.milliseconds.p95", "Response Time P95"),
- METRIC_RT_P90("rt.milliseconds.p90", "Response Time P90"),
- METRIC_RT_P50("rt.milliseconds.p50", "Response Time P50"),
- METRIC_RT_MIN_AGG("rt.milliseconds.min.aggregate", "Aggregated Min Response"),
- METRIC_RT_MAX_AGG("rt.milliseconds.max.aggregate", "Aggregated Max Response"),
- METRIC_RT_AVG_AGG("rt.milliseconds.avg.aggregate", "Aggregated Avg Response"),
++ METRIC_REQUESTS("dubbo.%s.requests.total", "Total Requests"),
++ METRIC_REQUESTS_SUCCEED("dubbo.%s.requests.succeed.total", "Total Succeed Requests"),
++ METRIC_REQUEST_BUSINESS_FAILED("dubbo.%s.requests.business.failed.total", "Total Failed Business Requests"),
++
++ METRIC_REQUESTS_PROCESSING("dubbo.%s.requests.processing.total", "Processing Requests"),
++ METRIC_REQUESTS_TIMEOUT("dubbo.%s.requests.timeout.total", "Total Timeout Failed Requests"),
++ METRIC_REQUESTS_LIMIT("dubbo.%s.requests.limit.total", "Total Limit Failed Requests"),
++ METRIC_REQUESTS_FAILED("dubbo.%s.requests.unknown.failed.total", "Total Unknown Failed Requests"),
++ METRIC_REQUESTS_TOTAL_FAILED("dubbo.%s.requests.failed.total", "Total Failed Requests"),
++ METRIC_REQUESTS_NETWORK_FAILED("dubbo.%s.requests.failed.network.total", "Total network Failed Requests"),
++ METRIC_REQUESTS_SERVICE_UNAVAILABLE_FAILED("dubbo.%s.requests.failed.service.unavailable.total", "Total Service Unavailable Failed Requests"),
++ METRIC_REQUESTS_CODEC_FAILED("dubbo.%s.requests.failed.codec.total", "Total Codec Failed Requests"),
++
++ METRIC_REQUESTS_TOTAL_AGG("dubbo.%s.requests.total.aggregate", "Aggregated Total Requests"),
++ METRIC_REQUESTS_SUCCEED_AGG("dubbo.%s.requests.succeed.aggregate", "Aggregated Succeed Requests"),
++ METRIC_REQUESTS_FAILED_AGG("dubbo.%s.requests.failed.aggregate", "Aggregated Failed Requests"),
++ METRIC_REQUEST_BUSINESS_FAILED_AGG("dubbo.%s.requests.business.failed.aggregate", "Aggregated Business Failed Requests"),
++ METRIC_REQUESTS_TIMEOUT_AGG("dubbo.%s.requests.timeout.failed.aggregate", "Aggregated timeout Failed Requests"),
++ METRIC_REQUESTS_LIMIT_AGG("dubbo.%s.requests.limit.aggregate", "Aggregated limit Requests"),
++ METRIC_REQUESTS_TOTAL_FAILED_AGG("dubbo.%s.requests.failed.total.aggregate", "Aggregated failed total Requests"),
++ METRIC_REQUESTS_NETWORK_FAILED_AGG("dubbo.%s.requests.failed.network.total.aggregate", "Aggregated failed network total Requests"),
++ METRIC_REQUESTS_CODEC_FAILED_AGG("dubbo.%s.requests.failed.codec.total.aggregate", "Aggregated failed codec total Requests"),
++ METRIC_REQUESTS_TOTAL_SERVICE_UNAVAILABLE_FAILED_AGG("dubbo.%s.requests.failed.service.unavailable.total.aggregate", "Aggregated failed codec total Requests"),
++
++ METRIC_QPS("dubbo.%s.qps.total", "Query Per Seconds"),
++ METRIC_RT_LAST("dubbo.%s.rt.milliseconds.last", "Last Response Time"),
++ METRIC_RT_MIN("dubbo.%s.rt.milliseconds.min", "Min Response Time"),
++ METRIC_RT_MAX("dubbo.%s.rt.milliseconds.max", "Max Response Time"),
++ METRIC_RT_SUM("dubbo.%s.rt.milliseconds.sum", "Sum Response Time"),
++ METRIC_RT_AVG("dubbo.%s.rt.milliseconds.avg", "Average Response Time"),
++ METRIC_RT_P99("dubbo.%s.rt.milliseconds.p99", "Response Time P99"),
++ METRIC_RT_P95("dubbo.%s.rt.milliseconds.p95", "Response Time P95"),
++ METRIC_RT_P90("dubbo.%s.rt.milliseconds.p90", "Response Time P90"),
++ METRIC_RT_P50("dubbo.%s.rt.milliseconds.p50", "Response Time P50"),
++ METRIC_RT_MIN_AGG("dubbo.%s.rt.min.milliseconds.aggregate", "Aggregated Min Response"),
++ METRIC_RT_MAX_AGG("dubbo.%s.rt.max.milliseconds.aggregate", "Aggregated Max Response"),
++ METRIC_RT_AVG_AGG("dubbo.%s.rt.avg.milliseconds.aggregate", "Aggregated Avg Response"),
+
+ // register metrics key
- REGISTER_METRIC_REQUESTS("registry.register.requests.total", "Total Register Requests"),
- REGISTER_METRIC_REQUESTS_SUCCEED("registry.register.requests.succeed.total", "Succeed Register Requests"),
- REGISTER_METRIC_REQUESTS_FAILED("registry.register.requests.failed.total", "Failed Register Requests"),
- METRIC_RT_HISTOGRAM("rt.milliseconds.histogram", "Response Time Histogram"),
++ REGISTER_METRIC_REQUESTS("dubbo.registry.register.requests.total", "Total Register Requests"),
++ REGISTER_METRIC_REQUESTS_SUCCEED("dubbo.registry.register.requests.succeed.total", "Succeed Register Requests"),
++ REGISTER_METRIC_REQUESTS_FAILED("dubbo.registry.register.requests.failed.total", "Failed Register Requests"),
++ METRIC_RT_HISTOGRAM("dubbo.%s.rt.milliseconds.histogram", "Response Time Histogram"),
+
+
- GENERIC_METRIC_REQUESTS("requests.total", "Total %s Requests"),
- GENERIC_METRIC_REQUESTS_SUCCEED("requests.succeed.total", "Succeed %s Requests"),
- GENERIC_METRIC_REQUESTS_FAILED("requests.failed.total", "Failed %s Requests"),
++ GENERIC_METRIC_REQUESTS("dubbo.%s.requests.total", "Total %s Requests"),
++ GENERIC_METRIC_REQUESTS_SUCCEED("dubbo.%s.requests.succeed.total", "Succeed %s Requests"),
++ GENERIC_METRIC_REQUESTS_FAILED("dubbo.%s.requests.failed.total", "Failed %s Requests"),
+
+ // subscribe metrics key
- SUBSCRIBE_METRIC_NUM("registry.subscribe.num.total", "Total Subscribe Num"),
- SUBSCRIBE_METRIC_NUM_SUCCEED("registry.subscribe.num.succeed.total", "Succeed Subscribe Num"),
- SUBSCRIBE_METRIC_NUM_FAILED("registry.subscribe.num.failed.total", "Failed Subscribe Num"),
++ SUBSCRIBE_METRIC_NUM("dubbo.registry.subscribe.num.total", "Total Subscribe Num"),
++ SUBSCRIBE_METRIC_NUM_SUCCEED("dubbo.registry.subscribe.num.succeed.total", "Succeed Subscribe Num"),
++ SUBSCRIBE_METRIC_NUM_FAILED("dubbo.registry.subscribe.num.failed.total", "Failed Subscribe Num"),
+
+ // directory metrics key
- DIRECTORY_METRIC_NUM_ALL("registry.directory.num.all", "All Directory Urls"),
- DIRECTORY_METRIC_NUM_VALID("registry.directory.num.valid.total", "Valid Directory Urls"),
- DIRECTORY_METRIC_NUM_TO_RECONNECT("registry.directory.num.to_reconnect.total", "ToReconnect Directory Urls"),
- DIRECTORY_METRIC_NUM_DISABLE("registry.directory.num.disable.total", "Disable Directory Urls"),
-
- NOTIFY_METRIC_REQUESTS("registry.notify.requests.total", "Total Notify Requests"),
- NOTIFY_METRIC_NUM_LAST("registry.notify.num.last", "Last Notify Nums"),
-
- THREAD_POOL_CORE_SIZE("thread.pool.core.size", "Thread Pool Core Size"),
- THREAD_POOL_LARGEST_SIZE("thread.pool.largest.size", "Thread Pool Largest Size"),
- THREAD_POOL_MAX_SIZE("thread.pool.max.size", "Thread Pool Max Size"),
- THREAD_POOL_ACTIVE_SIZE("thread.pool.active.size", "Thread Pool Active Size"),
- THREAD_POOL_THREAD_COUNT("thread.pool.thread.count", "Thread Pool Thread Count"),
- THREAD_POOL_QUEUE_SIZE("thread.pool.queue.size", "Thread Pool Queue Size"),
- THREAD_POOL_THREAD_REJECT_COUNT("thread.pool.reject.thread.count", "Thread Pool Reject Thread Count"),
++ DIRECTORY_METRIC_NUM_ALL("dubbo.registry.directory.num.all", "All Directory Urls"),
++ DIRECTORY_METRIC_NUM_VALID("dubbo.registry.directory.num.valid.total", "Valid Directory Urls"),
++ DIRECTORY_METRIC_NUM_TO_RECONNECT("dubbo.registry.directory.num.to_reconnect.total", "ToReconnect Directory Urls"),
++ DIRECTORY_METRIC_NUM_DISABLE("dubbo.registry.directory.num.disable.total", "Disable Directory Urls"),
++
++ NOTIFY_METRIC_REQUESTS("dubbo.registry.notify.requests.total", "Total Notify Requests"),
++ NOTIFY_METRIC_NUM_LAST("dubbo.registry.notify.num.last", "Last Notify Nums"),
++
++ THREAD_POOL_CORE_SIZE("dubbo.thread.pool.core.size", "Thread Pool Core Size"),
++ THREAD_POOL_LARGEST_SIZE("dubbo.thread.pool.largest.size", "Thread Pool Largest Size"),
++ THREAD_POOL_MAX_SIZE("dubbo.thread.pool.max.size", "Thread Pool Max Size"),
++ THREAD_POOL_ACTIVE_SIZE("dubbo.thread.pool.active.size", "Thread Pool Active Size"),
++ THREAD_POOL_THREAD_COUNT("dubbo.thread.pool.thread.count", "Thread Pool Thread Count"),
++ THREAD_POOL_QUEUE_SIZE("dubbo.thread.pool.queue.size", "Thread Pool Queue Size"),
++ THREAD_POOL_THREAD_REJECT_COUNT("dubbo.thread.pool.reject.thread.count", "Thread Pool Reject Thread Count"),
+
+ // metadata push metrics key
- METADATA_PUSH_METRIC_NUM("metadata.push.num.total", "Total Push Num"),
- METADATA_PUSH_METRIC_NUM_SUCCEED("metadata.push.num.succeed.total", "Succeed Push Num"),
- METADATA_PUSH_METRIC_NUM_FAILED("metadata.push.num.failed.total", "Failed Push Num"),
++ METADATA_PUSH_METRIC_NUM("dubbo.metadata.push.num.total", "Total Push Num"),
++ METADATA_PUSH_METRIC_NUM_SUCCEED("dubbo.metadata.push.num.succeed.total", "Succeed Push Num"),
++ METADATA_PUSH_METRIC_NUM_FAILED("dubbo.metadata.push.num.failed.total", "Failed Push Num"),
+
+ // metadata subscribe metrics key
- METADATA_SUBSCRIBE_METRIC_NUM("metadata.subscribe.num.total", "Total Metadata Subscribe Num"),
- METADATA_SUBSCRIBE_METRIC_NUM_SUCCEED("metadata.subscribe.num.succeed.total", "Succeed Metadata Subscribe Num"),
- METADATA_SUBSCRIBE_METRIC_NUM_FAILED("metadata.subscribe.num.failed.total", "Failed Metadata Subscribe Num"),
++ METADATA_SUBSCRIBE_METRIC_NUM("dubbo.metadata.subscribe.num.total", "Total Metadata Subscribe Num"),
++ METADATA_SUBSCRIBE_METRIC_NUM_SUCCEED("dubbo.metadata.subscribe.num.succeed.total", "Succeed Metadata Subscribe Num"),
++ METADATA_SUBSCRIBE_METRIC_NUM_FAILED("dubbo.metadata.subscribe.num.failed.total", "Failed Metadata Subscribe Num"),
+
+ // register service metrics key
- SERVICE_REGISTER_METRIC_REQUESTS("registry.total", "Total Service-Level Register Requests"),
- SERVICE_REGISTER_METRIC_REQUESTS_SUCCEED("registry.succeed.total", "Succeed Service-Level Register Requests"),
- SERVICE_REGISTER_METRIC_REQUESTS_FAILED("registry.failed.total", "Failed Service-Level Register Requests"),
++ SERVICE_REGISTER_METRIC_REQUESTS("dubbo.registry.register.service.total", "Total Service-Level Register Requests"),
++ SERVICE_REGISTER_METRIC_REQUESTS_SUCCEED("dubbo.registry.register.service.succeed.total", "Succeed Service-Level Register Requests"),
++ SERVICE_REGISTER_METRIC_REQUESTS_FAILED("dubbo.registry.register.service.failed.total", "Failed Service-Level Register Requests"),
+
+ // subscribe metrics key
- SERVICE_SUBSCRIBE_METRIC_NUM("registry.subscribe.service.num.total", "Total Service-Level Subscribe Num"),
- SERVICE_SUBSCRIBE_METRIC_NUM_SUCCEED("registry.subscribe.service.num.succeed.total", "Succeed Service-Level Num"),
- SERVICE_SUBSCRIBE_METRIC_NUM_FAILED("registry.subscribe.service.num.failed.total", "Failed Service-Level Num"),
++ SERVICE_SUBSCRIBE_METRIC_NUM("dubbo.registry.subscribe.service.num.total", "Total Service-Level Subscribe Num"),
++ SERVICE_SUBSCRIBE_METRIC_NUM_SUCCEED("dubbo.registry.subscribe.service.num.succeed.total", "Succeed Service-Level Num"),
++ SERVICE_SUBSCRIBE_METRIC_NUM_FAILED("dubbo.registry.subscribe.service.num.failed.total", "Failed Service-Level Num"),
+ // store provider metadata service key
- STORE_PROVIDER_METADATA("metadata.store.provider.total", "Store Provider Metadata"),
++ STORE_PROVIDER_METADATA("dubbo.metadata.store.provider.total", "Store Provider Metadata"),
+
- STORE_PROVIDER_METADATA_SUCCEED("metadata.store.provider.succeed.total", "Succeed Store Provider Metadata"),
++ STORE_PROVIDER_METADATA_SUCCEED("dubbo.metadata.store.provider.succeed.total", "Succeed Store Provider Metadata"),
+
- STORE_PROVIDER_METADATA_FAILED("metadata.store.provider.failed.total", "Failed Store Provider Metadata"),
++ STORE_PROVIDER_METADATA_FAILED("dubbo.metadata.store.provider.failed.total", "Failed Store Provider Metadata"),
+ METADATA_GIT_COMMITID_METRIC("git.commit.id", "Git Commit Id Metrics"),
+
+ // consumer metrics key
- INVOKER_NO_AVAILABLE_COUNT("consumer.invoker.no.available.count", "Request Throw No Invoker Available Exception Count"),
++ INVOKER_NO_AVAILABLE_COUNT("dubbo.consumer.invoker.no.available.count", "Request Throw No Invoker Available Exception Count"),
+
+ // count the number of occurrences of each error code
+ ERROR_CODE_COUNT("dubbo.error.code.count","The Count Of Occurrences for Each Error Code"),
+
+ // netty metrics key
+ NETTY_ALLOCATOR_HEAP_MEMORY_USED("netty.allocator.memory.used", "Netty Allocator Memory Used"),
+ NETTY_ALLOCATOR_DIRECT_MEMORY_USED("netty.allocator.direct.memory.used", "Netty Allocator Direct Memory Used"),
+ NETTY_ALLOCATOR_PINNED_DIRECT_MEMORY("netty.allocator.pinned.direct.memory", "Netty Allocator Pinned Direct Memory"),
+ NETTY_ALLOCATOR_PINNED_HEAP_MEMORY("netty.allocator.pinned.heap.memory", "Netty Allocator Pinned Heap Memory"),
+ NETTY_ALLOCATOR_HEAP_ARENAS_NUM("netty.allocator.heap.arenas.num", "Netty Allocator Heap Arenas Num"),
+ NETTY_ALLOCATOR_DIRECT_ARENAS_NUM("netty.allocator.direct.arenas.num", "Netty Allocator Direct Arenas Num"),
+ NETTY_ALLOCATOR_NORMAL_CACHE_SIZE("netty.allocator.normal.cache.size", "Netty Allocator Normal Cache Size"),
+ NETTY_ALLOCATOR_SMALL_CACHE_SIZE("netty.allocator.small.cache.size", "Netty Allocator Small Cache Size"),
+ NETTY_ALLOCATOR_THREAD_LOCAL_CACHES_NUM("netty.allocator.thread.local.caches.num", "Netty Allocator Thread Local Caches Num"),
+ NETTY_ALLOCATOR_CHUNK_SIZE("netty.allocator.chunk.size", "Netty Allocator Chunk Size"),
+ ;
+
- private String nameSuffix;
++ private String name;
+ private String description;
+
+ public final String getName() {
- return "dubbo." + nameSuffix;
++ return this.name;
+ }
+
+ public final String getNameByType(String type) {
- return "dubbo." + type + "." + nameSuffix;
++ return String.format(name, type);
+ }
+
+ public static MetricsKey getMetricsByName(String name){
+ for (MetricsKey metricsKey : MetricsKey.values()) {
+ if (metricsKey.getName().equals(name)) {
+ return metricsKey;
+ }
+ }
+ return null;
+ }
+
+ public final String getDescription() {
+ return this.description;
+ }
+
-
- MetricsKey(String nameSuffix, String description) {
- this.nameSuffix = nameSuffix;
++ MetricsKey(String name, String description) {
++ this.name = name;
+ this.description = description;
+ }
+}