This is an automated email from the ASF dual-hosted git repository. ddanielr pushed a commit to branch elasticity in repository https://gitbox.apache.org/repos/asf/accumulo.git
The following commit(s) were added to refs/heads/elasticity by this push: new c37f739eae Fixes Queue Metric Tag format (#4186) c37f739eae is described below commit c37f739eaea7425387c2cbb83307a3c39a0df1d1 Author: Daniel Roberts <ddani...@gmail.com> AuthorDate: Wed Jan 24 10:42:55 2024 -0500 Fixes Queue Metric Tag format (#4186) Adds back in the use of the MetricsUtil.formatString method when creating metric tags Removes missed "e." external queue name prefixes --- .../manager/compaction/coordinator/QueueMetrics.java | 20 +++++++++----------- .../compaction/CompactionPriorityQueueMetricsIT.java | 15 +++++++++++---- .../test/compaction/ExternalCompactionMetricsIT.java | 2 +- 3 files changed, 21 insertions(+), 16 deletions(-) diff --git a/server/manager/src/main/java/org/apache/accumulo/manager/compaction/coordinator/QueueMetrics.java b/server/manager/src/main/java/org/apache/accumulo/manager/compaction/coordinator/QueueMetrics.java index f12135ba74..c5ba5157dc 100644 --- a/server/manager/src/main/java/org/apache/accumulo/manager/compaction/coordinator/QueueMetrics.java +++ b/server/manager/src/main/java/org/apache/accumulo/manager/compaction/coordinator/QueueMetrics.java @@ -18,6 +18,7 @@ */ package org.apache.accumulo.manager.compaction.coordinator; +import static org.apache.accumulo.core.metrics.MetricsUtil.formatString; import static org.apache.accumulo.core.metrics.MetricsUtil.getCommonTags; import java.util.HashMap; @@ -51,40 +52,37 @@ public class QueueMetrics implements MetricsProducer { private final Gauge jobsRejected; private final Gauge jobsLowestPriority; - public QueueMeters(MeterRegistry meterRegistry, CompactorGroupId queueId, + public QueueMeters(MeterRegistry meterRegistry, CompactorGroupId cgid, CompactionJobPriorityQueue queue) { + var queueId = formatString(cgid.canonical()); + length = Gauge.builder(METRICS_COMPACTOR_JOB_PRIORITY_QUEUE_LENGTH, queue, q -> q.getMaxSize()) .description("Length of priority queues") - .tags(Tags.concat(getCommonTags(), "queue.id", queueId.canonical())) - .register(meterRegistry); + .tags(Tags.concat(getCommonTags(), "queue.id", queueId)).register(meterRegistry); jobsQueued = Gauge .builder(METRICS_COMPACTOR_JOB_PRIORITY_QUEUE_JOBS_QUEUED, queue, q -> q.getQueuedJobs()) .description("Count of queued jobs") - .tags(Tags.concat(getCommonTags(), "queue.id", queueId.canonical())) - .register(meterRegistry); + .tags(Tags.concat(getCommonTags(), "queue.id", queueId)).register(meterRegistry); jobsDequeued = Gauge .builder(METRICS_COMPACTOR_JOB_PRIORITY_QUEUE_JOBS_DEQUEUED, queue, q -> q.getDequeuedJobs()) .description("Count of jobs dequeued") - .tags(Tags.concat(getCommonTags(), "queue.id", queueId.canonical())) - .register(meterRegistry); + .tags(Tags.concat(getCommonTags(), "queue.id", queueId)).register(meterRegistry); jobsRejected = Gauge .builder(METRICS_COMPACTOR_JOB_PRIORITY_QUEUE_JOBS_REJECTED, queue, q -> q.getRejectedJobs()) .description("Count of rejected jobs") - .tags(Tags.concat(getCommonTags(), "queue.id", queueId.canonical())) - .register(meterRegistry); + .tags(Tags.concat(getCommonTags(), "queue.id", queueId)).register(meterRegistry); jobsLowestPriority = Gauge .builder(METRICS_COMPACTOR_JOB_PRIORITY_QUEUE_JOBS_PRIORITY, queue, q -> q.getLowestPriority()) .description("Lowest priority queued job") - .tags(Tags.concat(getCommonTags(), "queue.id", queueId.canonical())) - .register(meterRegistry); + .tags(Tags.concat(getCommonTags(), "queue.id", queueId)).register(meterRegistry); } private void removeMeters(MeterRegistry registry) { diff --git a/test/src/main/java/org/apache/accumulo/test/compaction/CompactionPriorityQueueMetricsIT.java b/test/src/main/java/org/apache/accumulo/test/compaction/CompactionPriorityQueueMetricsIT.java index f56dfd668f..e89f96dfaa 100644 --- a/test/src/main/java/org/apache/accumulo/test/compaction/CompactionPriorityQueueMetricsIT.java +++ b/test/src/main/java/org/apache/accumulo/test/compaction/CompactionPriorityQueueMetricsIT.java @@ -56,10 +56,12 @@ import org.apache.accumulo.core.metadata.schema.TabletsMetadata; import org.apache.accumulo.core.metrics.MetricsProducer; import org.apache.accumulo.core.metrics.MetricsUtil; import org.apache.accumulo.core.security.Authorizations; +import org.apache.accumulo.core.spi.compaction.CompactionKind; import org.apache.accumulo.core.spi.compaction.DefaultCompactionPlanner; import org.apache.accumulo.core.spi.compaction.SimpleCompactionDispatcher; import org.apache.accumulo.core.spi.crypto.NoCryptoServiceFactory; import org.apache.accumulo.core.util.UtilWaitThread; +import org.apache.accumulo.core.util.compaction.CompactionJobPrioritizer; import org.apache.accumulo.core.util.threads.Threads; import org.apache.accumulo.harness.MiniClusterConfigurationCallback; import org.apache.accumulo.harness.SharedMiniClusterBase; @@ -97,7 +99,7 @@ public class CompactionPriorityQueueMetricsIT extends SharedMiniClusterBase { private String rootPath; public static final String QUEUE1 = "METRICSQ1"; - public static final String QUEUE1_METRIC_LABEL = "e." + MetricsUtil.formatString(QUEUE1); + public static final String QUEUE1_METRIC_LABEL = MetricsUtil.formatString(QUEUE1); public static final String QUEUE1_SERVICE = "Q1"; public static final int QUEUE1_SIZE = 6; @@ -153,9 +155,10 @@ public class CompactionPriorityQueueMetricsIT extends SharedMiniClusterBase { cfg.getClusterServerConfiguration().setNumDefaultCompactors(0); // Create a new queue with zero compactors. - cfg.setProperty("tserver.compaction.major.service." + QUEUE1_SERVICE + ".planner", + cfg.setProperty(Property.COMPACTION_SERVICE_PREFIX.getKey() + QUEUE1_SERVICE + ".planner", DefaultCompactionPlanner.class.getName()); - cfg.setProperty("tserver.compaction.major.service." + QUEUE1_SERVICE + ".planner.opts.groups", + cfg.setProperty( + Property.COMPACTION_SERVICE_PREFIX.getKey() + QUEUE1_SERVICE + ".planner.opts.groups", "[{'name':'" + QUEUE1 + "'}]"); cfg.setProperty(Property.MANAGER_COMPACTION_SERVICE_PRIORITY_QUEUE_SIZE, "6"); @@ -359,7 +362,11 @@ public class CompactionPriorityQueueMetricsIT extends SharedMiniClusterBase { // Priority is the file counts + number of compactions for that tablet. // The lowestPriority job in the queue should have been // at least 1 count higher than the highest file count. - assertTrue(lowestPriority > highestFileCount); + short highestFileCountPrio = CompactionJobPrioritizer.createPriority( + getCluster().getServerContext().getTableId(tableName), CompactionKind.USER, + (int) highestFileCount, 0); + assertTrue(lowestPriority > highestFileCountPrio, + lowestPriority + " " + highestFileCount + " " + highestFileCountPrio); // Multiple Queues have been created assertTrue(sawQueues); diff --git a/test/src/main/java/org/apache/accumulo/test/compaction/ExternalCompactionMetricsIT.java b/test/src/main/java/org/apache/accumulo/test/compaction/ExternalCompactionMetricsIT.java index 1dde2045c9..286a8c9b70 100644 --- a/test/src/main/java/org/apache/accumulo/test/compaction/ExternalCompactionMetricsIT.java +++ b/test/src/main/java/org/apache/accumulo/test/compaction/ExternalCompactionMetricsIT.java @@ -194,7 +194,7 @@ public class ExternalCompactionMetricsIT extends SharedMiniClusterBase { private static boolean match(Metric input, String queue, String value) { if (input.getTags() != null) { String id = input.getTags().get("queue.id"); - if (id != null && id.equals("e." + queue) && input.getValue().equals(value)) { + if (id != null && id.equals(queue) && input.getValue().equals(value)) { return true; } }