diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2023-06-22 22:10:29 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-06-22 22:10:29 +0200 |
commit | 9d4e9a6026439ea29618d234d2d263d0f15d8480 (patch) | |
tree | 1cebf61ebe060c6fd6523d33b3a407ef2e51af92 | |
parent | 207ec83706db045fae8667de1a7558963fd8737e (diff) | |
parent | d23c1f298df000c8dce8db315bc432989205e1d5 (diff) |
Merge pull request #27519 from vespa-engine/use-metrics-constants-2
Use metrics constants 2
14 files changed, 50 insertions, 46 deletions
diff --git a/clustercontroller-core/pom.xml b/clustercontroller-core/pom.xml index 647d8ca4e64..61176c178c6 100644 --- a/clustercontroller-core/pom.xml +++ b/clustercontroller-core/pom.xml @@ -15,14 +15,7 @@ <dependencies> <dependency> <groupId>com.yahoo.vespa</groupId> - <artifactId>annotations</artifactId> - <version>${project.version}</version> - <scope>provided</scope> - </dependency> - <dependency> - <!-- required for bundle-plugin to generate import-package statements for Java's standard library --> - <groupId>com.yahoo.vespa</groupId> - <artifactId>jdisc_core</artifactId> + <artifactId>container-dev</artifactId> <version>${project.version}</version> <scope>provided</scope> </dependency> diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/NodeStateChangeChecker.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/NodeStateChangeChecker.java index c823c94afd1..60671c96474 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/NodeStateChangeChecker.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/NodeStateChangeChecker.java @@ -1,6 +1,7 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.clustercontroller.core; +import ai.vespa.metrics.StorageMetrics; import com.yahoo.lang.MutableBoolean; import com.yahoo.lang.SettableOptional; import com.yahoo.vdslib.distribution.ConfiguredNode; @@ -44,7 +45,7 @@ import static java.util.logging.Level.FINE; public class NodeStateChangeChecker { private static final Logger log = Logger.getLogger(NodeStateChangeChecker.class.getName()); - private static final String BUCKETS_METRIC_NAME = "vds.datastored.bucket_space.buckets_total"; + private static final String BUCKETS_METRIC_NAME = StorageMetrics.VDS_DATASTORED_BUCKET_SPACE_BUCKETS_TOTAL.baseName(); private static final Map<String, String> BUCKETS_METRIC_DIMENSIONS = Map.of("bucketSpace", "default"); private final int requiredRedundancy; diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/restapiv2/requests/NodeStateRequest.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/restapiv2/requests/NodeStateRequest.java index 65c08e67850..09aac786b2f 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/restapiv2/requests/NodeStateRequest.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/restapiv2/requests/NodeStateRequest.java @@ -1,6 +1,7 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.clustercontroller.core.restapiv2.requests; +import ai.vespa.metrics.StorageMetrics; import com.yahoo.vespa.clustercontroller.core.NodeInfo; import com.yahoo.vespa.clustercontroller.core.RemoteClusterControllerTask; import com.yahoo.vespa.clustercontroller.core.hostinfo.Metrics; @@ -46,17 +47,17 @@ public class NodeStateRequest extends Request<Response.NodeResponse> { } private static void fillInMetricValue(String name, Metrics.Value value, Response.NodeResponse result) { - if (name.equals("vds.datastored.alldisks.docs")) { + if (name.equals(StorageMetrics.VDS_DATASTORED_ALLDISKS_DOCS.baseName())) { if (value.getLast() == null) { return; } result.addMetric("unique-document-count", value.getLast()); - } else if (name.equals("vds.datastored.alldisks.bytes")) { + } else if (name.equals(StorageMetrics.VDS_DATASTORED_ALLDISKS_BYTES.baseName())) { if (value.getLast() == null) { return; } result.addMetric("unique-document-total-size", value.getLast()); - } else if (name.equals("vds.datastored.alldisks.buckets")) { + } else if (name.equals(StorageMetrics.VDS_DATASTORED_ALLDISKS_BUCKETS.baseName())) { if (value.getLast() == null) { return; } diff --git a/clustercontroller-reindexer/src/main/java/ai/vespa/reindexing/ReindexingMetrics.java b/clustercontroller-reindexer/src/main/java/ai/vespa/reindexing/ReindexingMetrics.java index a1aa5287d2f..83be05d970e 100644 --- a/clustercontroller-reindexer/src/main/java/ai/vespa/reindexing/ReindexingMetrics.java +++ b/clustercontroller-reindexer/src/main/java/ai/vespa/reindexing/ReindexingMetrics.java @@ -1,6 +1,7 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package ai.vespa.reindexing; +import ai.vespa.metrics.ClusterControllerMetrics; import com.yahoo.documentapi.ProgressToken; import com.yahoo.jdisc.Metric; @@ -27,7 +28,7 @@ class ReindexingMetrics { void dump(Reindexing reindexing) { reindexing.status().forEach((type, status) -> { - metric.set("reindexing.progress", + metric.set(ClusterControllerMetrics.REINDEXING_PROGRESS.baseName(), status.progress().map(ProgressToken::percentFinished).map(percentage -> percentage * 1e-2) .orElse(status.state() == SUCCESSFUL ? 1.0 : 0.0), metric.createContext(Map.of("clusterid", cluster, "documenttype", type.getName()))); diff --git a/config-model/src/main/java/com/yahoo/vespa/model/content/DistributorCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/content/DistributorCluster.java index 4aac8bfb647..6f0a03bab60 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/content/DistributorCluster.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/content/DistributorCluster.java @@ -1,6 +1,7 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.model.content; +import ai.vespa.metrics.DistributorMetrics; import com.yahoo.config.model.deploy.DeployState; import com.yahoo.vespa.config.content.core.StorDistributormanagerConfig; import com.yahoo.vespa.config.content.core.StorServerConfig; @@ -135,13 +136,13 @@ public class DistributorCluster extends TreeConfigProducer<Distributor> implemen @Override public void getConfig(MetricsmanagerConfig.Builder builder) { ContentCluster.getMetricBuilder("log", builder). - addedmetrics("vds.distributor.docsstored"). - addedmetrics("vds.distributor.bytesstored"). - addedmetrics("vds.idealstate.delete_bucket.done_ok"). - addedmetrics("vds.idealstate.merge_bucket.done_ok"). - addedmetrics("vds.idealstate.split_bucket.done_ok"). - addedmetrics("vds.idealstate.join_bucket.done_ok"). - addedmetrics("vds.idealstate.buckets_rechecking"); + addedmetrics(DistributorMetrics.VDS_DISTRIBUTOR_DOCSSTORED.baseName()). + addedmetrics(DistributorMetrics.VDS_DISTRIBUTOR_BYTESSTORED.baseName()). + addedmetrics(DistributorMetrics.VDS_IDEALSTATE_DELETE_BUCKET_DONE_OK.baseName()). + addedmetrics(DistributorMetrics.VDS_IDEALSTATE_MERGE_BUCKET_DONE_OK.baseName()). + addedmetrics(DistributorMetrics.VDS_IDEALSTATE_SPLIT_BUCKET_DONE_OK.baseName()). + addedmetrics(DistributorMetrics.VDS_IDEALSTATE_JOIN_BUCKET_DONE_OK.baseName()). + addedmetrics(DistributorMetrics.VDS_IDEALSTATE_BUCKETS_RECHECKING.baseName()); } @Override diff --git a/config-model/src/main/java/com/yahoo/vespa/model/content/storagecluster/StorageCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/content/storagecluster/StorageCluster.java index 2d67a344a17..a1e809098f2 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/content/storagecluster/StorageCluster.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/content/storagecluster/StorageCluster.java @@ -1,6 +1,7 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.model.content.storagecluster; +import ai.vespa.metrics.StorageMetrics; import com.yahoo.config.model.deploy.DeployState; import com.yahoo.vespa.config.content.core.StorIntegritycheckerConfig; import com.yahoo.vespa.config.content.core.StorBucketmoverConfig; @@ -75,24 +76,24 @@ public class StorageCluster extends TreeConfigProducer<StorageNode> @Override public void getConfig(MetricsmanagerConfig.Builder builder) { ContentCluster.getMetricBuilder("fleetcontroller", builder). - addedmetrics("vds.datastored.alldisks.docs"). - addedmetrics("vds.datastored.alldisks.bytes"). - addedmetrics("vds.datastored.alldisks.buckets"). - addedmetrics("vds.datastored.bucket_space.buckets_total"); + addedmetrics(StorageMetrics.VDS_DATASTORED_ALLDISKS_DOCS.baseName()). + addedmetrics(StorageMetrics.VDS_DATASTORED_ALLDISKS_BYTES.baseName()). + addedmetrics(StorageMetrics.VDS_DATASTORED_ALLDISKS_BUCKETS.baseName()). + addedmetrics(StorageMetrics.VDS_DATASTORED_BUCKET_SPACE_BUCKETS_TOTAL.baseName()); ContentCluster.getMetricBuilder("log", builder). addedmetrics("vds.filestor.allthreads.put"). addedmetrics("vds.filestor.allthreads.get"). addedmetrics("vds.filestor.allthreads.remove"). addedmetrics("vds.filestor.allthreads.update"). - addedmetrics("vds.datastored.alldisks.docs"). - addedmetrics("vds.datastored.alldisks.bytes"). - addedmetrics("vds.filestor.queuesize"). - addedmetrics("vds.filestor.averagequeuewait"). - addedmetrics("vds.visitor.cv_queuewaittime"). - addedmetrics("vds.visitor.allthreads.averagequeuewait"). - addedmetrics("vds.visitor.allthreads.averagevisitorlifetime"). - addedmetrics("vds.visitor.allthreads.created"); + addedmetrics(StorageMetrics.VDS_DATASTORED_ALLDISKS_DOCS.baseName()). + addedmetrics(StorageMetrics.VDS_DATASTORED_ALLDISKS_BYTES.baseName()). + addedmetrics(StorageMetrics.VDS_FILESTOR_QUEUESIZE.baseName()). + addedmetrics(StorageMetrics.VDS_FILESTOR_AVERAGEQUEUEWAIT.baseName()). + addedmetrics(StorageMetrics.VDS_VISITOR_CV_QUEUEWAITTIME.baseName()). + addedmetrics(StorageMetrics.VDS_VISITOR_ALLTHREADS_AVERAGEQUEUEWAIT.baseName()). + addedmetrics(StorageMetrics.VDS_VISITOR_ALLTHREADS_AVERAGEVISITORLIFETIME.baseName()). + addedmetrics(StorageMetrics.VDS_VISITOR_ALLTHREADS_CREATED.baseName()); } public String getClusterName() { diff --git a/container-core/src/main/java/com/yahoo/container/jdisc/state/StateHandler.java b/container-core/src/main/java/com/yahoo/container/jdisc/state/StateHandler.java index e1ec22bd622..af98e380f2a 100644 --- a/container-core/src/main/java/com/yahoo/container/jdisc/state/StateHandler.java +++ b/container-core/src/main/java/com/yahoo/container/jdisc/state/StateHandler.java @@ -1,6 +1,7 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.container.jdisc.state; +import ai.vespa.metrics.ContainerMetrics; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; @@ -289,7 +290,7 @@ public class StateHandler extends AbstractRequestHandler implements CapabilityRe Tuple latencySeconds = new Tuple(NULL_DIMENSIONS, "latencySeconds", null); for (Map.Entry<MetricDimensions, MetricSet> entry : snapshot) { MetricSet metricSet = entry.getValue(); - MetricValue val = metricSet.get("serverTotalSuccessfulResponseLatency"); + MetricValue val = metricSet.get(ContainerMetrics.SERVER_TOTAL_SUCCESFUL_RESPONSE_LATENCY.baseName()); if (val instanceof GaugeMetric gauge) { latencySeconds.add(GaugeMetric.newInstance(gauge.getLast() / 1000, gauge.getMax() / 1000, @@ -297,7 +298,7 @@ public class StateHandler extends AbstractRequestHandler implements CapabilityRe gauge.getSum() / 1000, gauge.getCount())); } - requestsPerSecond.add(metricSet.get("serverNumSuccessfulResponses")); + requestsPerSecond.add(metricSet.get(ContainerMetrics.SERVER_NUM_SUCCESSFUL_RESPONSES.baseName())); } List<Tuple> lst = new ArrayList<>(); if (requestsPerSecond.val != null) { diff --git a/container-disc/src/main/java/com/yahoo/container/jdisc/metric/MetricUpdater.java b/container-disc/src/main/java/com/yahoo/container/jdisc/metric/MetricUpdater.java index 3e6ee3a35a2..501438c8c2e 100644 --- a/container-disc/src/main/java/com/yahoo/container/jdisc/metric/MetricUpdater.java +++ b/container-disc/src/main/java/com/yahoo/container/jdisc/metric/MetricUpdater.java @@ -2,6 +2,7 @@ package com.yahoo.container.jdisc.metric; import ai.vespa.metrics.ContainerMetrics; +import ai.vespa.metrics.ContainerMetrics; import com.yahoo.component.AbstractComponent; import com.yahoo.component.annotation.Inject; import com.yahoo.jdisc.Metric; @@ -141,7 +142,7 @@ public class MetricUpdater extends AbstractComponent { "home", System.getProperty("java.home"), "vendor", System.getProperty("java.vm.vendor"), "arch", System.getProperty("os.arch"))); - metric.set("jdisc.jvm", Runtime.version().feature(), ctx); + metric.set(ContainerMetrics.JDISC_JVM.baseName(), Runtime.version().feature(), ctx); } private void tlsMetrics() { diff --git a/container-search/src/main/java/com/yahoo/search/handler/SearchHandler.java b/container-search/src/main/java/com/yahoo/search/handler/SearchHandler.java index c9e125ab55f..ecce5ddd740 100644 --- a/container-search/src/main/java/com/yahoo/search/handler/SearchHandler.java +++ b/container-search/src/main/java/com/yahoo/search/handler/SearchHandler.java @@ -1,6 +1,7 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.search.handler; +import ai.vespa.metrics.ContainerMetrics; import ai.vespa.cloud.ZoneInfo; import ai.vespa.metrics.ContainerMetrics; import com.yahoo.collections.Tuple2; @@ -81,7 +82,7 @@ public class SearchHandler extends LoggingRequestHandler { private static final CompoundName FORCE_TIMESTAMPS = CompoundName.from("trace.timestamps"); /** Event name for number of connections to the search subsystem */ - private static final String SEARCH_CONNECTIONS = "search_connections"; + private static final String SEARCH_CONNECTIONS = ContainerMetrics.SEARCH_CONNECTIONS.baseName(); static final String RENDER_LATENCY_METRIC = ContainerMetrics.JDISC_RENDER_LATENCY.baseName(); static final String MIME_DIMENSION = "mime"; static final String RENDERER_DIMENSION = "renderer"; diff --git a/container-search/src/main/java/com/yahoo/search/searchers/ContainerLatencySearcher.java b/container-search/src/main/java/com/yahoo/search/searchers/ContainerLatencySearcher.java index 742f4b0f889..f510d68d32e 100644 --- a/container-search/src/main/java/com/yahoo/search/searchers/ContainerLatencySearcher.java +++ b/container-search/src/main/java/com/yahoo/search/searchers/ContainerLatencySearcher.java @@ -1,6 +1,7 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.search.searchers; +import ai.vespa.metrics.ContainerMetrics; import com.yahoo.component.chain.dependencies.After; import com.yahoo.metrics.simple.Gauge; import com.yahoo.metrics.simple.Point; @@ -21,7 +22,7 @@ public class ContainerLatencySearcher extends Searcher { private final Gauge latencyGauge; public ContainerLatencySearcher(MetricReceiver metrics) { - latencyGauge = metrics.declareGauge("query_container_latency"); + latencyGauge = metrics.declareGauge(ContainerMetrics.QUERY_CONTAINER_LATENCY.baseName()); } @Override diff --git a/container-search/src/main/java/com/yahoo/search/searchers/RateLimitingSearcher.java b/container-search/src/main/java/com/yahoo/search/searchers/RateLimitingSearcher.java index 35a3c86f763..846b8881cef 100755 --- a/container-search/src/main/java/com/yahoo/search/searchers/RateLimitingSearcher.java +++ b/container-search/src/main/java/com/yahoo/search/searchers/RateLimitingSearcher.java @@ -1,6 +1,7 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.search.searchers; +import ai.vespa.metrics.ContainerMetrics; import com.yahoo.component.annotation.Inject; import com.yahoo.cloud.config.ClusterInfoConfig; @@ -60,7 +61,7 @@ public class RateLimitingSearcher extends Searcher { public static final CompoundName idDimensionKey = CompoundName.from("rate.idDimension"); public static final CompoundName dryRunKey = CompoundName.from("rate.dryRun"); - private static final String requestsOverQuotaMetricName = "requestsOverQuota"; + private static final String requestsOverQuotaMetricName = ContainerMetrics.REQUESTS_OVER_QUOTA.baseName(); /** Used to divide quota by nodes. Assumption: All nodes get the same share of traffic. */ private final int nodeCount; diff --git a/container-search/src/test/java/com/yahoo/search/searchers/test/RateLimitingBenchmark.java b/container-search/src/test/java/com/yahoo/search/searchers/test/RateLimitingBenchmark.java index 5537528d36b..76da6407166 100644 --- a/container-search/src/test/java/com/yahoo/search/searchers/test/RateLimitingBenchmark.java +++ b/container-search/src/test/java/com/yahoo/search/searchers/test/RateLimitingBenchmark.java @@ -1,6 +1,7 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.search.searchers.test; +import ai.vespa.metrics.ContainerMetrics; import com.yahoo.cloud.config.ClusterInfoConfig; import com.yahoo.component.chain.Chain; import com.yahoo.metrics.simple.Bucket; @@ -114,7 +115,7 @@ public class RateLimitingBenchmark { private int rejectedRequests(int id) { Point context = metric.pointBuilder().set("id", toClientId(id)).build(); - UntypedMetric rejectedRequestsMetric = metricSnapshot.getMapForMetric("requestsOverQuota").get(context); + UntypedMetric rejectedRequestsMetric = metricSnapshot.getMapForMetric(ContainerMetrics.REQUESTS_OVER_QUOTA.baseName()).get(context); if (rejectedRequestsMetric == null) return 0; return (int)rejectedRequestsMetric.getCount(); } diff --git a/metrics/src/main/java/ai/vespa/metrics/HostedNodeAdminMetrics.java b/metrics/src/main/java/ai/vespa/metrics/HostedNodeAdminMetrics.java index 927672a43f7..97185e9c703 100644 --- a/metrics/src/main/java/ai/vespa/metrics/HostedNodeAdminMetrics.java +++ b/metrics/src/main/java/ai/vespa/metrics/HostedNodeAdminMetrics.java @@ -30,9 +30,9 @@ public enum HostedNodeAdminMetrics implements VespaMetrics { NET_IN_BYTES("net.in.bytes", Unit.BYTE, "Network bytes received (rxBytes) (COUNT metric)"), NET_IN_ERROR("net.in.errors", Unit.FAILURE, "Network receive errors (rxErrors)"), NET_IN_DROPPED("net.in.dropped", Unit.PACKET, "Inbound network packets dropped (rxDropped)"), - NET_OUT_BYTES("net.in.bytes", Unit.BYTE, "Network bytes sent (txBytes) (COUNT metric)"), - NET_OUT_ERROR("net.in.errors", Unit.FAILURE, "Network send errors (txErrors)"), - NET_OUT_DROPPED("net.in.dropped", Unit.PACKET, "Outbound network packets dropped (txDropped)"), + NET_OUT_BYTES("net.out.bytes", Unit.BYTE, "Network bytes sent (txBytes) (COUNT metric)"), + NET_OUT_ERROR("net.out.errors", Unit.FAILURE, "Network send errors (txErrors)"), + NET_OUT_DROPPED("net.out.dropped", Unit.PACKET, "Outbound network packets dropped (txDropped)"), BANDWIDTH_LIMIT("bandwidth.limit", Unit.BYTE_PER_SECOND, "Available network bandwidth"); private final String name; @@ -58,4 +58,3 @@ public enum HostedNodeAdminMetrics implements VespaMetrics { } } - diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminImpl.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminImpl.java index cd7eee8ba50..ad067110f59 100644 --- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminImpl.java +++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminImpl.java @@ -1,6 +1,7 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.hosted.node.admin.nodeadmin; +import ai.vespa.metrics.ContainerMetrics; import com.yahoo.jdisc.Timer; import com.yahoo.vespa.hosted.node.admin.container.ContainerStats; import com.yahoo.vespa.hosted.node.admin.container.metrics.Counter; @@ -80,9 +81,9 @@ public class NodeAdminImpl implements NodeAdmin { new Dimensions(Map.of("src", "node-agents"))); this.procMeminfoReader = procMeminfoReader; - this.jvmHeapUsed = metrics.declareGauge("mem.heap.used"); - this.jvmHeapFree = metrics.declareGauge("mem.heap.free"); - this.jvmHeapTotal = metrics.declareGauge("mem.heap.total"); + this.jvmHeapUsed = metrics.declareGauge(ContainerMetrics.MEM_HEAP_USED.baseName()); + this.jvmHeapFree = metrics.declareGauge(ContainerMetrics.MEM_HEAP_FREE.baseName()); + this.jvmHeapTotal = metrics.declareGauge(ContainerMetrics.MEM_HEAP_TOTAL.baseName()); this.containerCount = metrics.declareGauge("container.count"); this.metrics = metrics; } |