aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVindhya Ningegowda <DNVindhya@users.noreply.github.com>2024-05-10 17:46:58 -0700
committerGitHub <noreply@github.com>2024-05-10 17:46:58 -0700
commit77a1e77e11ad971d714df7a54c7ec4d9685bd5be (patch)
treeafdb94c16219be308e9c6b963d9373dc061cfe7b
parent5ba1a556374deb588601265f5d160056e238627e (diff)
downloadgrpc-grpc-java-upstream-master.tar.gz
xds, rls: Experimental metrics are disabled by default (#11196)upstream-master
Experimental metrics (i.e WRR and RLS metrics) are disabled by default. Users are expected to explicitly enable while configuring metrics.
-rw-r--r--rls/src/main/java/io/grpc/rls/CachingRlsLbClient.java34
-rw-r--r--xds/src/main/java/io/grpc/xds/WeightedRoundRobinLoadBalancer.java28
2 files changed, 35 insertions, 27 deletions
diff --git a/rls/src/main/java/io/grpc/rls/CachingRlsLbClient.java b/rls/src/main/java/io/grpc/rls/CachingRlsLbClient.java
index 58a5dab9b..19f027f5f 100644
--- a/rls/src/main/java/io/grpc/rls/CachingRlsLbClient.java
+++ b/rls/src/main/java/io/grpc/rls/CachingRlsLbClient.java
@@ -136,25 +136,31 @@ final class CachingRlsLbClient {
MetricInstrumentRegistry metricInstrumentRegistry
= MetricInstrumentRegistry.getDefaultRegistry();
DEFAULT_TARGET_PICKS_COUNTER = metricInstrumentRegistry.registerLongCounter(
- "grpc.lb.rls.default_target_picks", "Number of LB picks sent to the default target", "pick",
+ "grpc.lb.rls.default_target_picks",
+ "EXPERIMENTAL. Number of LB picks sent to the default target", "{pick}",
Arrays.asList("grpc.target", "grpc.lb.rls.server_target",
- "grpc.lb.rls.data_plane_target", "grpc.lb.pick_result"), Collections.emptyList(), true);
+ "grpc.lb.rls.data_plane_target", "grpc.lb.pick_result"), Collections.emptyList(),
+ false);
TARGET_PICKS_COUNTER = metricInstrumentRegistry.registerLongCounter("grpc.lb.rls.target_picks",
- "Number of LB picks sent to each RLS target", "pick",
- Arrays.asList("grpc.target", "grpc.lb.rls.server_target",
- "grpc.lb.rls.data_plane_target", "grpc.lb.pick_result"), Collections.emptyList(), true);
+ "EXPERIMENTAL. Number of LB picks sent to each RLS target. Note that if the default "
+ + "target is also returned by the RLS server, RPCs sent to that target from the cache "
+ + "will be counted in this metric, not in grpc.rls.default_target_picks.", "{pick}",
+ Arrays.asList("grpc.target", "grpc.lb.rls.server_target", "grpc.lb.rls.data_plane_target",
+ "grpc.lb.pick_result"), Collections.emptyList(),
+ false);
FAILED_PICKS_COUNTER = metricInstrumentRegistry.registerLongCounter("grpc.lb.rls.failed_picks",
- "Number of LB picks failed due to either a failed RLS request or the RLS channel being "
- + "throttled", "pick", Arrays.asList("grpc.target", "grpc.lb.rls.server_target"),
- Collections.emptyList(), true);
+ "EXPERIMENTAL. Number of LB picks failed due to either a failed RLS request or the "
+ + "RLS channel being throttled", "{pick}",
+ Arrays.asList("grpc.target", "grpc.lb.rls.server_target"),
+ Collections.emptyList(), false);
CACHE_ENTRIES_GAUGE = metricInstrumentRegistry.registerLongGauge("grpc.lb.rls.cache_entries",
- "Number of entries in the RLS cache", "entry",
- Arrays.asList("grpc.target", "grpc.lb.rls.server_target", "grpc.lb.rls.instance_id"),
- Collections.emptyList(), true);
+ "EXPERIMENTAL. Number of entries in the RLS cache", "{entry}",
+ Arrays.asList("grpc.target", "grpc.lb.rls.server_target", "grpc.lb.rls.instance_uuid"),
+ Collections.emptyList(), false);
CACHE_SIZE_GAUGE = metricInstrumentRegistry.registerLongGauge("grpc.lb.rls.cache_size",
- "The current size of the RLS cache", "byte",
- Arrays.asList("grpc.target", "grpc.lb.rls.server_target", "grpc.lb.rls.instance_id"),
- Collections.emptyList(), true);
+ "EXPERIMENTAL. The current size of the RLS cache", "By",
+ Arrays.asList("grpc.target", "grpc.lb.rls.server_target", "grpc.lb.rls.instance_uuid"),
+ Collections.emptyList(), false);
}
private CachingRlsLbClient(Builder builder) {
diff --git a/xds/src/main/java/io/grpc/xds/WeightedRoundRobinLoadBalancer.java b/xds/src/main/java/io/grpc/xds/WeightedRoundRobinLoadBalancer.java
index 16a990ed7..e72ddadf5 100644
--- a/xds/src/main/java/io/grpc/xds/WeightedRoundRobinLoadBalancer.java
+++ b/xds/src/main/java/io/grpc/xds/WeightedRoundRobinLoadBalancer.java
@@ -89,24 +89,26 @@ final class WeightedRoundRobinLoadBalancer extends RoundRobinLoadBalancer {
MetricInstrumentRegistry metricInstrumentRegistry
= MetricInstrumentRegistry.getDefaultRegistry();
RR_FALLBACK_COUNTER = metricInstrumentRegistry.registerLongCounter("grpc.lb.wrr.rr_fallback",
- "Number of scheduler updates in which there were not enough endpoints with valid "
- + "weight, which caused the WRR policy to fall back to RR behavior", "update",
- Lists.newArrayList("grpc.target"), Lists.newArrayList("grpc.lb.locality"), true);
+ "EXPERIMENTAL. Number of scheduler updates in which there were not enough endpoints "
+ + "with valid weight, which caused the WRR policy to fall back to RR behavior",
+ "{update}", Lists.newArrayList("grpc.target"), Lists.newArrayList("grpc.lb.locality"),
+ false);
ENDPOINT_WEIGHT_NOT_YET_USEABLE_COUNTER = metricInstrumentRegistry.registerLongCounter(
- "grpc.lb.wrr.endpoint_weight_not_yet_usable",
- "Number of endpoints from each scheduler update that don't yet have usable weight "
- + "information", "endpoint", Lists.newArrayList("grpc.target"),
- Lists.newArrayList("grpc.lb.locality"), true);
+ "grpc.lb.wrr.endpoint_weight_not_yet_usable", "EXPERIMENTAL. Number of endpoints "
+ + "from each scheduler update that don't yet have usable weight information",
+ "{endpoint}", Lists.newArrayList("grpc.target"), Lists.newArrayList("grpc.lb.locality"),
+ false);
ENDPOINT_WEIGHT_STALE_COUNTER = metricInstrumentRegistry.registerLongCounter(
"grpc.lb.wrr.endpoint_weight_stale",
- "Number of endpoints from each scheduler update whose latest weight is older than the "
- + "expiration period", "endpoint", Lists.newArrayList("grpc.target"),
- Lists.newArrayList("grpc.lb.locality"), true);
+ "EXPERIMENTAL. Number of endpoints from each scheduler update whose latest weight is "
+ + "older than the expiration period", "{endpoint}", Lists.newArrayList("grpc.target"),
+ Lists.newArrayList("grpc.lb.locality"), false);
ENDPOINT_WEIGHTS_HISTOGRAM = metricInstrumentRegistry.registerDoubleHistogram(
- "grpc.lb.wrr.endpoint_weights", "The histogram buckets will be endpoint weight ranges.",
- "weight", Lists.newArrayList(), Lists.newArrayList("grpc.target"),
+ "grpc.lb.wrr.endpoint_weights",
+ "EXPERIMENTAL. The histogram buckets will be endpoint weight ranges.",
+ "{weight}", Lists.newArrayList(), Lists.newArrayList("grpc.target"),
Lists.newArrayList("grpc.lb.locality"),
- true);
+ false);
}
public WeightedRoundRobinLoadBalancer(Helper helper, Ticker ticker) {