This is an automated email from the ASF dual-hosted git repository.

mlbiscoc pushed a commit to branch feature/SOLR-17458
in repository https://gitbox.apache.org/repos/asf/solr.git


The following commit(s) were added to refs/heads/feature/SOLR-17458 by this 
push:
     new 83d1d867fc9 SOLR-17806: Use OtelUnit to create Otel instruments with 
units as metadata (#3466)
83d1d867fc9 is described below

commit 83d1d867fc91213c4f6a5b2eb82245c5c788a328
Author: Matthew Biscocho <[email protected]>
AuthorDate: Wed Aug 13 11:31:56 2025 -0400

    SOLR-17806: Use OtelUnit to create Otel instruments with units as metadata 
(#3466)
    
    * Enum for OTEL Units
    
    * Cleanup
---
 .../src/java/org/apache/solr/core/SolrCore.java    |  8 ++--
 .../apache/solr/handler/RequestHandlerBase.java    |  5 ++-
 .../org/apache/solr/metrics/SolrMetricManager.java | 49 +++++++++++----------
 .../apache/solr/metrics/SolrMetricsContext.java    | 46 ++++++++++++++-----
 .../org/apache/solr/metrics/otel/OtelUnit.java     | 51 ++++++++++++++++++++++
 .../src/java/org/apache/solr/update/PeerSync.java  |  4 +-
 .../org/apache/solr/update/PeerSyncWithLeader.java |  3 +-
 .../src/java/org/apache/solr/update/UpdateLog.java |  3 +-
 8 files changed, 127 insertions(+), 42 deletions(-)

diff --git a/solr/core/src/java/org/apache/solr/core/SolrCore.java 
b/solr/core/src/java/org/apache/solr/core/SolrCore.java
index e8b88ddac3d..77badcbf7b8 100644
--- a/solr/core/src/java/org/apache/solr/core/SolrCore.java
+++ b/solr/core/src/java/org/apache/solr/core/SolrCore.java
@@ -117,6 +117,7 @@ import org.apache.solr.logging.MDCLoggingContext;
 import org.apache.solr.metrics.SolrCoreMetricManager;
 import org.apache.solr.metrics.SolrMetricProducer;
 import org.apache.solr.metrics.SolrMetricsContext;
+import org.apache.solr.metrics.otel.OtelUnit;
 import org.apache.solr.metrics.otel.instruments.AttributedLongCounter;
 import org.apache.solr.metrics.otel.instruments.AttributedLongTimer;
 import org.apache.solr.pkg.PackageListeners;
@@ -1337,7 +1338,8 @@ public class SolrCore implements SolrInfoBean, Closeable {
             .build();
 
     var baseSearcherTimerMetric =
-        parentContext.longHistogram("solr_searcher_timer", "Timer for opening 
new searchers", "ms");
+        parentContext.longHistogram(
+            "solr_searcher_timer", "Timer for opening new searchers", 
OtelUnit.MILLISECONDS);
 
     newSearcherCounter =
         new AttributedLongCounter(
@@ -1407,7 +1409,7 @@ public class SolrCore implements SolrInfoBean, Closeable {
             observableLongMeasurement.record(0L, usableSpaceAttributes);
           }
         }),
-        "By");
+        OtelUnit.BYTES);
 
     parentContext.observableLongGauge(
         "solr_core_index_size",
@@ -1416,7 +1418,7 @@ public class SolrCore implements SolrInfoBean, Closeable {
           if (!isClosed())
             observableLongMeasurement.record(getIndexSize(), 
baseGaugeCoreAttributes);
         }),
-        "By");
+        OtelUnit.BYTES);
 
     parentContext.observableLongGauge(
         "solr_core_segment_count",
diff --git a/solr/core/src/java/org/apache/solr/handler/RequestHandlerBase.java 
b/solr/core/src/java/org/apache/solr/handler/RequestHandlerBase.java
index 4ebc874e741..8273523039c 100644
--- a/solr/core/src/java/org/apache/solr/handler/RequestHandlerBase.java
+++ b/solr/core/src/java/org/apache/solr/handler/RequestHandlerBase.java
@@ -43,6 +43,7 @@ import 
org.apache.solr.metrics.SolrDelegateRegistryMetricsContext;
 import org.apache.solr.metrics.SolrMetricManager;
 import org.apache.solr.metrics.SolrMetricProducer;
 import org.apache.solr.metrics.SolrMetricsContext;
+import org.apache.solr.metrics.otel.OtelUnit;
 import org.apache.solr.metrics.otel.instruments.AttributedLongCounter;
 import org.apache.solr.metrics.otel.instruments.AttributedLongTimer;
 import org.apache.solr.request.SolrQueryRequest;
@@ -220,7 +221,7 @@ public abstract class RequestHandlerBase
                 "solr_node_requests_timeout", "HTTP Solr node request 
timeouts");
         requestTimeMetric =
             solrMetricsContext.longHistogram(
-                "solr_node_requests_times", "HTTP Solr node request times", 
"ms");
+                "solr_node_requests_times", "HTTP Solr node request times", 
OtelUnit.MILLISECONDS);
       } else {
         requestMetric =
             solrMetricsContext.longCounter("solr_core_requests", "HTTP Solr 
core requests");
@@ -232,7 +233,7 @@ public abstract class RequestHandlerBase
                 "solr_core_requests_timeout", "HTTP Solr core request 
timeouts");
         requestTimeMetric =
             solrMetricsContext.longHistogram(
-                "solr_core_requests_times", "HTTP Solr core request times", 
"ms");
+                "solr_core_requests_times", "HTTP Solr core request times", 
OtelUnit.MILLISECONDS);
       }
 
       requests = new AttributedLongCounter(requestMetric, attributes);
diff --git a/solr/core/src/java/org/apache/solr/metrics/SolrMetricManager.java 
b/solr/core/src/java/org/apache/solr/metrics/SolrMetricManager.java
index b91e3caaa3a..3578ab5d318 100644
--- a/solr/core/src/java/org/apache/solr/metrics/SolrMetricManager.java
+++ b/solr/core/src/java/org/apache/solr/metrics/SolrMetricManager.java
@@ -84,6 +84,7 @@ import org.apache.solr.core.SolrCore;
 import org.apache.solr.core.SolrInfoBean;
 import org.apache.solr.core.SolrResourceLoader;
 import org.apache.solr.logging.MDCLoggingContext;
+import org.apache.solr.metrics.otel.OtelUnit;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.slf4j.MDC;
@@ -172,69 +173,69 @@ public class SolrMetricManager {
   }
 
   public LongCounter longCounter(
-      String registry, String counterName, String description, String unit) {
+      String registry, String counterName, String description, OtelUnit unit) {
     LongCounterBuilder builder =
         meterProvider(registry)
             .get(OTEL_SCOPE_NAME)
             .counterBuilder(counterName)
             .setDescription(description);
-    if (unit != null) builder.setUnit(unit);
+    if (unit != null) builder.setUnit(unit.getSymbol());
 
     return builder.build();
   }
 
   public LongUpDownCounter longUpDownCounter(
-      String registry, String counterName, String description, String unit) {
+      String registry, String counterName, String description, OtelUnit unit) {
     LongUpDownCounterBuilder builder =
         meterProvider(registry)
             .get(OTEL_SCOPE_NAME)
             .upDownCounterBuilder(counterName)
             .setDescription(description);
-    if (unit != null) builder.setUnit(unit);
+    if (unit != null) builder.setUnit(unit.getSymbol());
 
     return builder.build();
   }
 
   public DoubleUpDownCounter doubleUpDownCounter(
-      String registry, String counterName, String description, String unit) {
+      String registry, String counterName, String description, OtelUnit unit) {
     DoubleUpDownCounterBuilder builder =
         meterProvider(registry)
             .get(OTEL_SCOPE_NAME)
             .upDownCounterBuilder(counterName)
             .setDescription(description)
             .ofDoubles();
-    if (unit != null) builder.setUnit(unit);
+    if (unit != null) builder.setUnit(unit.getSymbol());
 
     return builder.build();
   }
 
   public DoubleCounter doubleCounter(
-      String registry, String counterName, String description, String unit) {
+      String registry, String counterName, String description, OtelUnit unit) {
     DoubleCounterBuilder builder =
         meterProvider(registry)
             .get(OTEL_SCOPE_NAME)
             .counterBuilder(counterName)
             .setDescription(description)
             .ofDoubles();
-    if (unit != null) builder.setUnit(unit);
+    if (unit != null) builder.setUnit(unit.getSymbol());
 
     return builder.build();
   }
 
   public DoubleHistogram doubleHistogram(
-      String registry, String histogramName, String description, String unit) {
+      String registry, String histogramName, String description, OtelUnit 
unit) {
     DoubleHistogramBuilder builder =
         meterProvider(registry)
             .get(OTEL_SCOPE_NAME)
             .histogramBuilder(histogramName)
             .setDescription(description);
-    if (unit != null) builder.setUnit(unit);
+    if (unit != null) builder.setUnit(unit.getSymbol());
 
     return builder.build();
   }
 
   public LongHistogram longHistogram(
-      String registry, String histogramName, String description, String unit) {
+      String registry, String histogramName, String description, OtelUnit 
unit) {
     LongHistogramBuilder builder =
         meterProvider(registry)
             .get(OTEL_SCOPE_NAME)
@@ -242,31 +243,31 @@ public class SolrMetricManager {
             .setDescription(description)
             .ofLongs();
 
-    if (unit != null) builder.setUnit(unit);
+    if (unit != null) builder.setUnit(unit.getSymbol());
 
     return builder.build();
   }
 
   public DoubleGauge doubleGauge(
-      String registry, String gaugeName, String description, String unit) {
+      String registry, String gaugeName, String description, OtelUnit unit) {
     DoubleGaugeBuilder builder =
         meterProvider(registry)
             .get(OTEL_SCOPE_NAME)
             .gaugeBuilder(gaugeName)
             .setDescription(description);
-    if (unit != null) builder.setUnit(unit);
+    if (unit != null) builder.setUnit(unit.getSymbol());
 
     return builder.build();
   }
 
-  public LongGauge longGauge(String registry, String gaugeName, String 
description, String unit) {
+  public LongGauge longGauge(String registry, String gaugeName, String 
description, OtelUnit unit) {
     LongGaugeBuilder builder =
         meterProvider(registry)
             .get(OTEL_SCOPE_NAME)
             .gaugeBuilder(gaugeName)
             .setDescription(description)
             .ofLongs();
-    if (unit != null) builder.setUnit(unit);
+    if (unit != null) builder.setUnit(unit.getSymbol());
 
     return builder.build();
   }
@@ -276,13 +277,13 @@ public class SolrMetricManager {
       String counterName,
       String description,
       Consumer<ObservableLongMeasurement> callback,
-      String unit) {
+      OtelUnit unit) {
     LongCounterBuilder builder =
         meterProvider(registry)
             .get(OTEL_SCOPE_NAME)
             .counterBuilder(counterName)
             .setDescription(description);
-    if (unit != null) builder.setUnit(unit);
+    if (unit != null) builder.setUnit(unit.getSymbol());
 
     return builder.buildWithCallback(callback);
   }
@@ -292,14 +293,14 @@ public class SolrMetricManager {
       String counterName,
       String description,
       Consumer<ObservableDoubleMeasurement> callback,
-      String unit) {
+      OtelUnit unit) {
     DoubleCounterBuilder builder =
         meterProvider(registry)
             .get(OTEL_SCOPE_NAME)
             .counterBuilder(counterName)
             .setDescription(description)
             .ofDoubles();
-    if (unit != null) builder.setUnit(unit);
+    if (unit != null) builder.setUnit(unit.getSymbol());
 
     return builder.buildWithCallback(callback);
   }
@@ -309,14 +310,14 @@ public class SolrMetricManager {
       String gaugeName,
       String description,
       Consumer<ObservableLongMeasurement> callback,
-      String unit) {
+      OtelUnit unit) {
     LongGaugeBuilder builder =
         meterProvider(registry)
             .get(OTEL_SCOPE_NAME)
             .gaugeBuilder(gaugeName)
             .setDescription(description)
             .ofLongs();
-    if (unit != null) builder.setUnit(unit);
+    if (unit != null) builder.setUnit(unit.getSymbol());
 
     return builder.buildWithCallback(callback);
   }
@@ -326,14 +327,14 @@ public class SolrMetricManager {
       String gaugeName,
       String description,
       Consumer<ObservableDoubleMeasurement> callback,
-      String unit) {
+      OtelUnit unit) {
     DoubleGaugeBuilder builder =
         meterProvider(registry)
             .get(OTEL_SCOPE_NAME)
             .gaugeBuilder(gaugeName)
             .setDescription(description);
 
-    if (unit != null) builder.setUnit(unit);
+    if (unit != null) builder.setUnit(unit.getSymbol());
 
     return builder.buildWithCallback(callback);
   }
diff --git a/solr/core/src/java/org/apache/solr/metrics/SolrMetricsContext.java 
b/solr/core/src/java/org/apache/solr/metrics/SolrMetricsContext.java
index 1601bae36a3..f7f87303936 100644
--- a/solr/core/src/java/org/apache/solr/metrics/SolrMetricsContext.java
+++ b/solr/core/src/java/org/apache/solr/metrics/SolrMetricsContext.java
@@ -26,10 +26,12 @@ import com.codahale.metrics.Timer;
 import io.opentelemetry.api.metrics.DoubleCounter;
 import io.opentelemetry.api.metrics.DoubleGauge;
 import io.opentelemetry.api.metrics.DoubleHistogram;
+import io.opentelemetry.api.metrics.DoubleUpDownCounter;
 import io.opentelemetry.api.metrics.LongCounter;
 import io.opentelemetry.api.metrics.LongGauge;
 import io.opentelemetry.api.metrics.LongHistogram;
 import io.opentelemetry.api.metrics.LongUpDownCounter;
+import io.opentelemetry.api.metrics.ObservableDoubleCounter;
 import io.opentelemetry.api.metrics.ObservableDoubleGauge;
 import io.opentelemetry.api.metrics.ObservableDoubleMeasurement;
 import io.opentelemetry.api.metrics.ObservableLongCounter;
@@ -39,6 +41,7 @@ import java.util.Map;
 import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.function.Consumer;
+import org.apache.solr.metrics.otel.OtelUnit;
 import org.apache.solr.util.stats.MetricUtils;
 
 /**
@@ -155,7 +158,7 @@ public class SolrMetricsContext {
     return longCounter(metricName, description, null);
   }
 
-  public LongCounter longCounter(String metricName, String description, String 
unit) {
+  public LongCounter longCounter(String metricName, String description, 
OtelUnit unit) {
     return metricManager.longCounter(registryName, metricName, description, 
unit);
   }
 
@@ -163,7 +166,7 @@ public class SolrMetricsContext {
     return longUpDownCounter(metricName, description, null);
   }
 
-  public LongUpDownCounter longUpDownCounter(String metricName, String 
description, String unit) {
+  public LongUpDownCounter longUpDownCounter(String metricName, String 
description, OtelUnit unit) {
     return metricManager.longUpDownCounter(registryName, metricName, 
description, unit);
   }
 
@@ -171,15 +174,24 @@ public class SolrMetricsContext {
     return doubleCounter(metricName, description, null);
   }
 
-  public DoubleCounter doubleCounter(String metricName, String description, 
String unit) {
+  public DoubleCounter doubleCounter(String metricName, String description, 
OtelUnit unit) {
     return metricManager.doubleCounter(registryName, metricName, description, 
unit);
   }
 
+  public DoubleUpDownCounter doubleUpDownCounter(String metricName, String 
description) {
+    return doubleUpDownCounter(metricName, description, null);
+  }
+
+  public DoubleUpDownCounter doubleUpDownCounter(
+      String metricName, String description, OtelUnit unit) {
+    return metricManager.doubleUpDownCounter(registryName, metricName, 
description, unit);
+  }
+
   public DoubleHistogram doubleHistogram(String metricName, String 
description) {
     return metricManager.doubleHistogram(registryName, metricName, 
description, null);
   }
 
-  public DoubleHistogram doubleHistogram(String metricName, String 
description, String unit) {
+  public DoubleHistogram doubleHistogram(String metricName, String 
description, OtelUnit unit) {
     return metricManager.doubleHistogram(registryName, metricName, 
description, unit);
   }
 
@@ -187,7 +199,7 @@ public class SolrMetricsContext {
     return metricManager.longHistogram(registryName, metricName, description, 
null);
   }
 
-  public LongHistogram longHistogram(String metricName, String description, 
String unit) {
+  public LongHistogram longHistogram(String metricName, String description, 
OtelUnit unit) {
     return metricManager.longHistogram(registryName, metricName, description, 
unit);
   }
 
@@ -195,7 +207,7 @@ public class SolrMetricsContext {
     return metricManager.longGauge(registryName, metricName, description, 
null);
   }
 
-  public LongGauge longGauge(String metricName, String description, String 
unit) {
+  public LongGauge longGauge(String metricName, String description, OtelUnit 
unit) {
     return metricManager.longGauge(registryName, metricName, description, 
unit);
   }
 
@@ -203,7 +215,7 @@ public class SolrMetricsContext {
     return metricManager.doubleGauge(registryName, metricName, description, 
null);
   }
 
-  public DoubleGauge doubleGauge(String metricName, String description, String 
unit) {
+  public DoubleGauge doubleGauge(String metricName, String description, 
OtelUnit unit) {
     return metricManager.doubleGauge(registryName, metricName, description, 
unit);
   }
 
@@ -216,7 +228,7 @@ public class SolrMetricsContext {
       String metricName,
       String description,
       Consumer<ObservableLongMeasurement> callback,
-      String unit) {
+      OtelUnit unit) {
     return metricManager.observableLongGauge(registryName, metricName, 
description, callback, unit);
   }
 
@@ -229,7 +241,7 @@ public class SolrMetricsContext {
       String metricName,
       String description,
       Consumer<ObservableDoubleMeasurement> callback,
-      String unit) {
+      OtelUnit unit) {
     return metricManager.observableDoubleGauge(
         registryName, metricName, description, callback, unit);
   }
@@ -243,11 +255,25 @@ public class SolrMetricsContext {
       String metricName,
       String description,
       Consumer<ObservableLongMeasurement> callback,
-      String unit) {
+      OtelUnit unit) {
     return metricManager.observableLongCounter(
         registryName, metricName, description, callback, unit);
   }
 
+  public ObservableDoubleCounter observableDoubleCounter(
+      String metricName, String description, 
Consumer<ObservableDoubleMeasurement> callback) {
+    return observableDoubleCounter(metricName, description, callback, null);
+  }
+
+  public ObservableDoubleCounter observableDoubleCounter(
+      String metricName,
+      String description,
+      Consumer<ObservableDoubleMeasurement> callback,
+      OtelUnit unit) {
+    return metricManager.observableDoubleCounter(
+        registryName, metricName, description, callback, unit);
+  }
+
   /**
    * Convenience method for {@link SolrMetricManager#meter(SolrMetricsContext, 
String, String,
    * String...)}.
diff --git a/solr/core/src/java/org/apache/solr/metrics/otel/OtelUnit.java 
b/solr/core/src/java/org/apache/solr/metrics/otel/OtelUnit.java
new file mode 100644
index 00000000000..714c0a3d0ed
--- /dev/null
+++ b/solr/core/src/java/org/apache/solr/metrics/otel/OtelUnit.java
@@ -0,0 +1,51 @@
+/*
+ * 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.solr.metrics.otel;
+
+/**
+ * Standard metric units for OpenTelemetry instruments based on UCUM (Unified 
Code for Units of
+ * Measure).
+ */
+public enum OtelUnit {
+  NANOSECONDS("ns"),
+  MICROSECONDS("us"),
+  MILLISECONDS("ms"),
+  SECONDS("s"),
+  MINUTES("min"),
+  HOURS("h"),
+  DAYS("d"),
+
+  BYTES("By"),
+  KILOBYTES("kBy"),
+  MEGABYTES("MBy"),
+  GIGABYTES("GBy");
+
+  private final String symbol;
+
+  OtelUnit(String symbol) {
+    this.symbol = symbol;
+  }
+
+  public String getSymbol() {
+    return symbol;
+  }
+
+  @Override
+  public String toString() {
+    return symbol;
+  }
+}
diff --git a/solr/core/src/java/org/apache/solr/update/PeerSync.java 
b/solr/core/src/java/org/apache/solr/update/PeerSync.java
index 3e201746f53..e56b996a19c 100644
--- a/solr/core/src/java/org/apache/solr/update/PeerSync.java
+++ b/solr/core/src/java/org/apache/solr/update/PeerSync.java
@@ -49,6 +49,7 @@ import org.apache.solr.handler.component.ShardRequest;
 import org.apache.solr.handler.component.ShardResponse;
 import org.apache.solr.metrics.SolrMetricProducer;
 import org.apache.solr.metrics.SolrMetricsContext;
+import org.apache.solr.metrics.otel.OtelUnit;
 import org.apache.solr.metrics.otel.instruments.AttributedLongCounter;
 import org.apache.solr.metrics.otel.instruments.AttributedLongTimer;
 import org.apache.solr.request.LocalSolrQueryRequest;
@@ -163,7 +164,8 @@ public class PeerSync implements SolrMetricProducer {
             baseAttributes);
     syncTime =
         new AttributedLongTimer(
-            solrMetricsContext.longHistogram("solr_core_peer_sync_time", "Peer 
sync times", "ms"),
+            solrMetricsContext.longHistogram(
+                "solr_core_peer_sync_time", "Peer sync times", 
OtelUnit.MILLISECONDS),
             baseAttributes);
   }
 
diff --git a/solr/core/src/java/org/apache/solr/update/PeerSyncWithLeader.java 
b/solr/core/src/java/org/apache/solr/update/PeerSyncWithLeader.java
index 79713dd1d94..e050022531d 100644
--- a/solr/core/src/java/org/apache/solr/update/PeerSyncWithLeader.java
+++ b/solr/core/src/java/org/apache/solr/update/PeerSyncWithLeader.java
@@ -41,6 +41,7 @@ import org.apache.solr.core.SolrCore;
 import org.apache.solr.core.SolrInfoBean;
 import org.apache.solr.metrics.SolrMetricProducer;
 import org.apache.solr.metrics.SolrMetricsContext;
+import org.apache.solr.metrics.otel.OtelUnit;
 import org.apache.solr.metrics.otel.instruments.AttributedLongCounter;
 import org.apache.solr.metrics.otel.instruments.AttributedLongTimer;
 import org.slf4j.Logger;
@@ -120,7 +121,7 @@ public class PeerSyncWithLeader implements 
SolrMetricProducer {
     syncTime =
         new AttributedLongTimer(
             solrMetricsContext.longHistogram(
-                "solr_core_sync_with_leader_time", "leader sync times", "ms"),
+                "solr_core_sync_with_leader_time", "leader sync times", 
OtelUnit.MILLISECONDS),
             baseAttributes);
   }
 
diff --git a/solr/core/src/java/org/apache/solr/update/UpdateLog.java 
b/solr/core/src/java/org/apache/solr/update/UpdateLog.java
index 4eee008c151..d392e992f2c 100644
--- a/solr/core/src/java/org/apache/solr/update/UpdateLog.java
+++ b/solr/core/src/java/org/apache/solr/update/UpdateLog.java
@@ -79,6 +79,7 @@ import org.apache.solr.core.SolrInfoBean;
 import org.apache.solr.core.SolrPaths;
 import org.apache.solr.metrics.SolrMetricProducer;
 import org.apache.solr.metrics.SolrMetricsContext;
+import org.apache.solr.metrics.otel.OtelUnit;
 import org.apache.solr.metrics.otel.instruments.AttributedLongCounter;
 import org.apache.solr.request.LocalSolrQueryRequest;
 import org.apache.solr.request.SolrQueryRequest;
@@ -658,7 +659,7 @@ public class UpdateLog implements PluginInfoInitialized, 
SolrMetricProducer {
         (observableLongMeasurement -> {
           observableLongMeasurement.record(getTotalLogsSize(), baseAttributes);
         }),
-        "By");
+        OtelUnit.BYTES);
 
     // NOCOMMIT: Do we want to keep this? Metric was just state with the 
numeric enum value.
     // Without context this doesn't mean anything and can be very confusing. 
Maybe keep the numeric

Reply via email to