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

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

commit a6b687c8b044350e81ca0324a6f840c1495b70ac
Author: Matthew Biscocho <[email protected]>
AuthorDate: Fri Aug 29 17:08:20 2025 -0400

    SOLR-17806: OTEL Java 17 Runtime telemetry for JVM metrics (#3494)
    
    * JVM Runtime metrics
    
    * Cleanup
    
    * Log to error
    
    * Remove registry name
    
    ---------
    
    Co-authored-by: Matthew Biscocho <[email protected]>
---
 gradle/libs.versions.toml                          |   2 +
 solr/api/gradle.lockfile                           |   6 ++
 solr/benchmark/gradle.lockfile                     |   6 ++
 solr/core/build.gradle                             |   3 +
 solr/core/gradle.lockfile                          |   6 ++
 .../solr/metrics/AltBufferPoolMetricSet.java       |  46 --------
 .../solr/metrics/OperatingSystemMetricSet.java     |  49 ---------
 .../apache/solr/metrics/OtelRuntimeJvmMetrics.java |  71 +++++++++++++
 .../org/apache/solr/metrics/SolrMetricManager.java |   1 +
 .../apache/solr/servlet/CoreContainerProvider.java |  99 +++---------------
 .../org/apache/solr/metrics/JvmMetricsTest.java    | 116 ++++++---------------
 solr/cross-dc-manager/gradle.lockfile              |   6 ++
 solr/modules/analysis-extras/gradle.lockfile       |   6 ++
 solr/modules/clustering/gradle.lockfile            |   6 ++
 solr/modules/cross-dc/gradle.lockfile              |   6 ++
 solr/modules/extraction/gradle.lockfile            |   6 ++
 solr/modules/gcs-repository/gradle.lockfile        |   6 ++
 solr/modules/jwt-auth/gradle.lockfile              |   6 ++
 solr/modules/langid/gradle.lockfile                |   6 ++
 solr/modules/llm/gradle.lockfile                   |   6 ++
 solr/modules/ltr/gradle.lockfile                   |   6 ++
 solr/modules/opentelemetry/gradle.lockfile         |   6 ++
 solr/modules/s3-repository/gradle.lockfile         |   6 ++
 solr/modules/scripting/gradle.lockfile             |   6 ++
 solr/modules/sql/gradle.lockfile                   |   6 ++
 solr/prometheus-exporter/gradle.lockfile           |   6 ++
 .../exporter/SolrExporterIntegrationTest.java      |  10 --
 .../prometheus/scraper/SolrCloudScraperTest.java   |  19 ----
 solr/server/gradle.lockfile                        |   6 ++
 solr/solr-ref-guide/gradle.lockfile                |   6 ++
 solr/solrj-streaming/gradle.lockfile               |   6 ++
 solr/solrj-zookeeper/gradle.lockfile               |   6 ++
 solr/solrj/gradle.lockfile                         |   6 ++
 .../solr/common/cloud/TestNodesSysPropsCacher.java |   3 +
 solr/test-framework/gradle.lockfile                |   6 ++
 .../org/apache/solr/SolrIgnoredThreadsFilter.java  |   5 +
 .../src/java/org/apache/solr/SolrTestCaseJ4.java   |   1 +
 solr/webapp/gradle.lockfile                        |   6 ++
 38 files changed, 280 insertions(+), 295 deletions(-)

diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index 7010e88aefb..9f7d5561da4 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -176,6 +176,7 @@ openapi = "7.14.0"
 openjdk-jmh = "1.37"
 opentelemetry = "1.53.0"
 opentelemetry-prometheus = "1.50.0-alpha"
+opentelemetry-runtime-telemetry = "2.11.0-alpha"
 osgi-annotation = "8.1.0"
 oshai-logging = "7.0.13"
 # @keep for version alignment
@@ -484,6 +485,7 @@ opentelemetry-bom = { module = 
"io.opentelemetry:opentelemetry-bom", version.ref
 opentelemetry-context = { module = "io.opentelemetry:opentelemetry-context", 
version.ref = "opentelemetry" }
 opentelemetry-exporter-otlp = { module = 
"io.opentelemetry:opentelemetry-exporter-otlp", version.ref = "opentelemetry" }
 opentelemetry-exporter-prometheus = { module = 
"io.opentelemetry:opentelemetry-exporter-prometheus", version.ref = 
"opentelemetry-prometheus" }
+opentelemetry-runtime-telemetry = { module = 
"io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java17", 
version.ref = "opentelemetry-runtime-telemetry" }
 opentelemetry-sdk = { module = "io.opentelemetry:opentelemetry-sdk", 
version.ref = "opentelemetry" }
 opentelemetry-sdkextension-autoconfigure = { module = 
"io.opentelemetry:opentelemetry-sdk-extension-autoconfigure", version.ref = 
"opentelemetry" }
 opentelemetry-sdktesting = { module = 
"io.opentelemetry:opentelemetry-sdk-testing", version.ref = "opentelemetry" }
diff --git a/solr/api/gradle.lockfile b/solr/api/gradle.lockfile
index 69b2fdd9e91..a106d8086a8 100644
--- a/solr/api/gradle.lockfile
+++ b/solr/api/gradle.lockfile
@@ -58,6 +58,12 @@ 
io.netty:netty-transport-classes-epoll:4.2.6.Final=jarValidation,testCompileClas
 
io.netty:netty-transport-native-epoll:4.2.6.Final=jarValidation,testCompileClasspath,testRuntimeClasspath
 
io.netty:netty-transport-native-unix-common:4.2.6.Final=jarValidation,testCompileClasspath,testRuntimeClasspath
 
io.netty:netty-transport:4.2.6.Final=jarValidation,testCompileClasspath,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-instrumentation-api-incubator:2.11.0-alpha=jarValidation,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-instrumentation-api:2.11.0=jarValidation,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java17:2.11.0-alpha=jarValidation,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java8:2.11.0-alpha=jarValidation,testRuntimeClasspath
+io.opentelemetry.semconv:opentelemetry-semconv:1.29.0-alpha=jarValidation,testRuntimeClasspath
+io.opentelemetry:opentelemetry-api-incubator:1.45.0-alpha=jarValidation,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-api:1.53.0=jarValidation,testCompileClasspath,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-common:1.53.0=jarValidation,testCompileClasspath,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-context:1.53.0=jarValidation,testCompileClasspath,testRuntimeClasspath
diff --git a/solr/benchmark/gradle.lockfile b/solr/benchmark/gradle.lockfile
index 1e2a048bb5b..9f5ff8f297e 100644
--- a/solr/benchmark/gradle.lockfile
+++ b/solr/benchmark/gradle.lockfile
@@ -53,6 +53,12 @@ 
io.netty:netty-transport-classes-epoll:4.2.6.Final=compileClasspath,jarValidatio
 
io.netty:netty-transport-native-epoll:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
 
io.netty:netty-transport-native-unix-common:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
 
io.netty:netty-transport:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-instrumentation-api-incubator:2.11.0-alpha=jarValidation,runtimeClasspath,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-instrumentation-api:2.11.0=jarValidation,runtimeClasspath,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java17:2.11.0-alpha=jarValidation,runtimeClasspath,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java8:2.11.0-alpha=jarValidation,runtimeClasspath,testRuntimeClasspath
+io.opentelemetry.semconv:opentelemetry-semconv:1.29.0-alpha=jarValidation,runtimeClasspath,testRuntimeClasspath
+io.opentelemetry:opentelemetry-api-incubator:1.45.0-alpha=jarValidation,runtimeClasspath,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-api:1.53.0=compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-common:1.53.0=compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-context:1.53.0=compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
diff --git a/solr/core/build.gradle b/solr/core/build.gradle
index 75fe8b62f2e..12502f94c16 100644
--- a/solr/core/build.gradle
+++ b/solr/core/build.gradle
@@ -166,6 +166,9 @@ dependencies {
     exclude group: "io.opentelemetry", module: "opentelemetry-sdk-logs"
   })
 
+  // JVM Runtime Telemetry metrics
+  implementation libs.opentelemetry.runtime.telemetry
+
   implementation libs.apache.commons.exec
 
   implementation libs.apache.log4j.api
diff --git a/solr/core/gradle.lockfile b/solr/core/gradle.lockfile
index 5cb899ad1b5..199ca89b88f 100644
--- a/solr/core/gradle.lockfile
+++ b/solr/core/gradle.lockfile
@@ -58,6 +58,12 @@ 
io.netty:netty-transport-classes-epoll:4.2.6.Final=apiHelper,compileClasspath,ja
 
io.netty:netty-transport-native-epoll:4.2.6.Final=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,testCompileClasspath,testRuntimeClasspath
 
io.netty:netty-transport-native-unix-common:4.2.6.Final=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,testCompileClasspath,testRuntimeClasspath
 
io.netty:netty-transport:4.2.6.Final=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,testCompileClasspath,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-instrumentation-api-incubator:2.11.0-alpha=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,testCompileClasspath,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-instrumentation-api:2.11.0=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,testCompileClasspath,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java17:2.11.0-alpha=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,testCompileClasspath,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java8:2.11.0-alpha=jarValidation,runtimeClasspath,runtimeLibs,testRuntimeClasspath
+io.opentelemetry.semconv:opentelemetry-semconv:1.29.0-alpha=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,testCompileClasspath,testRuntimeClasspath
+io.opentelemetry:opentelemetry-api-incubator:1.45.0-alpha=jarValidation,runtimeClasspath,runtimeLibs,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-api:1.53.0=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,testCompileClasspath,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-common:1.53.0=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,testCompileClasspath,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-context:1.53.0=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,testCompileClasspath,testRuntimeClasspath
diff --git 
a/solr/core/src/java/org/apache/solr/metrics/AltBufferPoolMetricSet.java 
b/solr/core/src/java/org/apache/solr/metrics/AltBufferPoolMetricSet.java
deleted file mode 100644
index 50ed0646c52..00000000000
--- a/solr/core/src/java/org/apache/solr/metrics/AltBufferPoolMetricSet.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * 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;
-
-import com.codahale.metrics.Gauge;
-import com.codahale.metrics.Metric;
-import com.codahale.metrics.MetricSet;
-import java.lang.management.BufferPoolMXBean;
-import java.lang.management.ManagementFactory;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- * This is an alternative implementation of {@link 
com.codahale.metrics.jvm.BufferPoolMetricSet}
- * that doesn't need an MBean server.
- */
-public class AltBufferPoolMetricSet implements MetricSet {
-
-  @Override
-  public Map<String, Metric> getMetrics() {
-    final Map<String, Metric> metrics = new HashMap<>();
-    List<BufferPoolMXBean> pools = 
ManagementFactory.getPlatformMXBeans(BufferPoolMXBean.class);
-    for (final BufferPoolMXBean pool : pools) {
-      String name = pool.getName();
-      metrics.put(name + ".Count", (Gauge<Long>) () -> pool.getCount());
-      metrics.put(name + ".MemoryUsed", (Gauge<Long>) () -> 
pool.getMemoryUsed());
-      metrics.put(name + ".TotalCapacity", (Gauge<Long>) () -> 
pool.getTotalCapacity());
-    }
-    return metrics;
-  }
-}
diff --git 
a/solr/core/src/java/org/apache/solr/metrics/OperatingSystemMetricSet.java 
b/solr/core/src/java/org/apache/solr/metrics/OperatingSystemMetricSet.java
deleted file mode 100644
index 5024843fe4e..00000000000
--- a/solr/core/src/java/org/apache/solr/metrics/OperatingSystemMetricSet.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * 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;
-
-import com.codahale.metrics.Metric;
-import com.codahale.metrics.MetricSet;
-import java.lang.management.ManagementFactory;
-import java.lang.management.OperatingSystemMXBean;
-import java.util.HashMap;
-import java.util.Map;
-import org.apache.solr.util.stats.MetricUtils;
-
-/**
- * This is an extended replacement for {@link 
com.codahale.metrics.jvm.FileDescriptorRatioGauge} -
- * that class uses reflection and doesn't work under Java 9. This 
implementation tries to retrieve
- * bean properties from known implementations of {@link 
java.lang.management.OperatingSystemMXBean}.
- */
-public class OperatingSystemMetricSet implements MetricSet {
-
-  @Override
-  public Map<String, Metric> getMetrics() {
-    final Map<String, Metric> metrics = new HashMap<>();
-    OperatingSystemMXBean os = ManagementFactory.getOperatingSystemMXBean();
-    MetricUtils.addMXBeanMetrics(
-        os,
-        MetricUtils.OS_MXBEAN_CLASSES,
-        null,
-        (k, v) -> {
-          if (!metrics.containsKey(k)) {
-            metrics.put(k, v);
-          }
-        });
-    return metrics;
-  }
-}
diff --git 
a/solr/core/src/java/org/apache/solr/metrics/OtelRuntimeJvmMetrics.java 
b/solr/core/src/java/org/apache/solr/metrics/OtelRuntimeJvmMetrics.java
new file mode 100644
index 00000000000..1711142a447
--- /dev/null
+++ b/solr/core/src/java/org/apache/solr/metrics/OtelRuntimeJvmMetrics.java
@@ -0,0 +1,71 @@
+/*
+ * 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;
+
+import io.opentelemetry.instrumentation.runtimemetrics.java17.RuntimeMetrics;
+import io.opentelemetry.sdk.OpenTelemetrySdk;
+import java.lang.invoke.MethodHandles;
+import org.apache.solr.common.util.EnvUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/** Manages JVM metrics collection using OpenTelemetry Runtime Metrics with 
JFR features */
+public class OtelRuntimeJvmMetrics {
+  private static final Logger log = 
LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
+
+  // Main feature flag to enable/disable all JVM metrics
+  private static final String JVM_METRICS_ENABLED = "solr.metrics.jvm.enabled";
+
+  private RuntimeMetrics runtimeMetrics;
+  private boolean isInitialized = false;
+
+  public OtelRuntimeJvmMetrics initialize(
+      SolrMetricManager solrMetricManager, String registryName) {
+    if (!EnvUtils.getPropertyAsBool(JVM_METRICS_ENABLED, true)) {
+      log.info("JVM metrics collection is disabled");
+      return this;
+    }
+    this.runtimeMetrics =
+        RuntimeMetrics.builder(
+                OpenTelemetrySdk.builder()
+                    
.setMeterProvider(solrMetricManager.meterProvider(registryName))
+                    .build())
+            // TODO: We should have this configurable to enable/disable 
specific JVM metrics
+            .enableAllFeatures()
+            .build();
+    isInitialized = true;
+    log.info("JVM metrics collection successfully initialized");
+    return this;
+  }
+
+  public void close() {
+    if (runtimeMetrics != null && isInitialized) {
+      try {
+        runtimeMetrics.close();
+      } catch (Exception e) {
+        log.error("Failed to close JVM metrics collection", e);
+      } finally {
+        runtimeMetrics = null;
+        isInitialized = false;
+      }
+    }
+  }
+
+  public boolean isInitialized() {
+    return isInitialized && runtimeMetrics != null;
+  }
+}
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 a950e1520fb..e2dd4f75158 100644
--- a/solr/core/src/java/org/apache/solr/metrics/SolrMetricManager.java
+++ b/solr/core/src/java/org/apache/solr/metrics/SolrMetricManager.java
@@ -1080,6 +1080,7 @@ public class SolrMetricManager {
         context, registry, new GaugeWrapper<>(gauge, tag), strategy, 
metricName, metricPath);
   }
 
+  // NOCOMMIT: No longer need
   public int unregisterGauges(String registryName, String tagSegment) {
     if (tagSegment == null) {
       return 0;
diff --git 
a/solr/core/src/java/org/apache/solr/servlet/CoreContainerProvider.java 
b/solr/core/src/java/org/apache/solr/servlet/CoreContainerProvider.java
index 6624363bf40..3097f2fcb35 100644
--- a/solr/core/src/java/org/apache/solr/servlet/CoreContainerProvider.java
+++ b/solr/core/src/java/org/apache/solr/servlet/CoreContainerProvider.java
@@ -23,11 +23,6 @@ import static 
org.apache.solr.servlet.SolrDispatchFilter.SOLR_INSTALL_DIR_ATTRIB
 import static org.apache.solr.servlet.SolrDispatchFilter.SOLR_LOG_LEVEL;
 import static org.apache.solr.servlet.SolrDispatchFilter.SOLR_LOG_MUTECONSOLE;
 
-import com.codahale.metrics.jvm.CachedThreadStatesGaugeSet;
-import com.codahale.metrics.jvm.ClassLoadingGaugeSet;
-import com.codahale.metrics.jvm.GarbageCollectorMetricSet;
-import com.codahale.metrics.jvm.MemoryUsageGaugeSet;
-import com.codahale.metrics.jvm.ThreadStatesGaugeSet;
 import com.google.common.annotations.VisibleForTesting;
 import jakarta.servlet.ServletContext;
 import jakarta.servlet.ServletContextEvent;
@@ -42,7 +37,6 @@ import java.util.Arrays;
 import java.util.Locale;
 import java.util.Optional;
 import java.util.Properties;
-import java.util.concurrent.TimeUnit;
 import java.util.stream.Stream;
 import javax.naming.Context;
 import javax.naming.InitialContext;
@@ -57,16 +51,12 @@ import org.apache.solr.common.SolrException.ErrorCode;
 import org.apache.solr.common.cloud.SolrZkClient;
 import org.apache.solr.common.util.EnvUtils;
 import org.apache.solr.core.CoreContainer;
-import org.apache.solr.core.MetricsConfig;
 import org.apache.solr.core.NodeConfig;
 import org.apache.solr.core.SolrCore;
 import org.apache.solr.core.SolrInfoBean.Group;
 import org.apache.solr.core.SolrXmlConfig;
-import org.apache.solr.metrics.AltBufferPoolMetricSet;
-import org.apache.solr.metrics.MetricsMap;
-import org.apache.solr.metrics.OperatingSystemMetricSet;
+import org.apache.solr.metrics.OtelRuntimeJvmMetrics;
 import org.apache.solr.metrics.SolrMetricManager;
-import org.apache.solr.metrics.SolrMetricManager.ResolutionStrategy;
 import org.apache.solr.metrics.SolrMetricProducer;
 import org.apache.solr.servlet.RateLimitManager.Builder;
 import org.apache.solr.util.StartupLoggingUtils;
@@ -85,7 +75,7 @@ public class CoreContainerProvider implements 
ServletContextListener {
   private Properties extraProperties;
   private SolrMetricManager metricManager;
   private RateLimitManager rateLimitManager;
-  private String registryName;
+  private OtelRuntimeJvmMetrics otelRuntimeJvmMetrics;
 
   /**
    * Acquires an instance from the context. Never null.
@@ -152,23 +142,11 @@ public class CoreContainerProvider implements 
ServletContextListener {
     //    }
 
     cores = null;
-    try {
-      if (metricManager != null) {
-        try {
-          metricManager.unregisterGauges(registryName, metricTag);
-        } catch (NullPointerException e) {
-          // okay
-        } catch (Exception e) {
-          log.warn("Exception closing FileCleaningTracker", e);
-        } finally {
-          metricManager = null;
-        }
-      }
-    } finally {
-      if (cc != null) {
-        cc.shutdown();
-      }
+    if (otelRuntimeJvmMetrics != null) otelRuntimeJvmMetrics.close();
+    if (cc != null) {
+      cc.shutdown();
     }
+    metricManager = null;
   }
 
   private void init(ServletContext servletContext) {
@@ -217,7 +195,7 @@ public class CoreContainerProvider implements 
ServletContextListener {
               });
 
       coresInit = createCoreContainer(computeSolrHome(servletContext), 
extraProperties);
-      setupJvmMetrics(coresInit, coresInit.getNodeConfig().getMetricsConfig());
+      setupJvmMetrics(coresInit);
 
       SolrZkClient zkClient = null;
       ZkController zkController = coresInit.getZkController();
@@ -397,64 +375,11 @@ public class CoreContainerProvider implements 
ServletContextListener {
     return coreContainer;
   }
 
-  private void setupJvmMetrics(CoreContainer coresInit, MetricsConfig config) {
-    metricManager = coresInit.getMetricManager();
-    registryName = SolrMetricManager.getRegistryName(Group.jvm);
-    final NodeConfig nodeConfig = coresInit.getConfig();
-    try {
-      metricManager.registerAll(
-          registryName, new AltBufferPoolMetricSet(), 
ResolutionStrategy.IGNORE, "buffers");
-      metricManager.registerAll(
-          registryName, new ClassLoadingGaugeSet(), ResolutionStrategy.IGNORE, 
"classes");
-      metricManager.registerAll(
-          registryName, new OperatingSystemMetricSet(), 
ResolutionStrategy.IGNORE, "os");
-      metricManager.registerAll(
-          registryName, new GarbageCollectorMetricSet(), 
ResolutionStrategy.IGNORE, "gc");
-      metricManager.registerAll(
-          registryName, new MemoryUsageGaugeSet(), ResolutionStrategy.IGNORE, 
"memory");
-
-      if (config.getCacheConfig() != null
-          && config.getCacheConfig().threadsIntervalSeconds != null) {
-        if (log.isInfoEnabled()) {
-          log.info(
-              "Threads metrics will be cached for {} seconds",
-              config.getCacheConfig().threadsIntervalSeconds);
-        }
-        metricManager.registerAll(
-            registryName,
-            new CachedThreadStatesGaugeSet(
-                config.getCacheConfig().threadsIntervalSeconds, 
TimeUnit.SECONDS),
-            SolrMetricManager.ResolutionStrategy.IGNORE,
-            "threads");
-      } else {
-        metricManager.registerAll(
-            registryName,
-            new ThreadStatesGaugeSet(),
-            SolrMetricManager.ResolutionStrategy.IGNORE,
-            "threads");
-      }
-
-      MetricsMap sysprops =
-          new MetricsMap(
-              map ->
-                  System.getProperties()
-                      .forEach(
-                          (k, v) -> {
-                            if 
(!nodeConfig.isSysPropHidden(String.valueOf(k))) {
-                              map.putNoEx(String.valueOf(k), v);
-                            }
-                          }));
-      metricManager.registerGauge(
-          null,
-          registryName,
-          sysprops,
-          metricTag,
-          ResolutionStrategy.IGNORE,
-          "properties",
-          "system");
-    } catch (Exception e) {
-      log.warn("Error registering JVM metrics", e);
-    }
+  private void setupJvmMetrics(CoreContainer coresInit) {
+    this.metricManager = coresInit.getMetricManager();
+    this.otelRuntimeJvmMetrics =
+        new OtelRuntimeJvmMetrics()
+            .initialize(metricManager, 
SolrMetricManager.getRegistryName(Group.jvm));
   }
 
   public RateLimitManager getRateLimitManager() {
diff --git a/solr/core/src/test/org/apache/solr/metrics/JvmMetricsTest.java 
b/solr/core/src/test/org/apache/solr/metrics/JvmMetricsTest.java
index 014ea19e6f5..5bc20b0d09e 100644
--- a/solr/core/src/test/org/apache/solr/metrics/JvmMetricsTest.java
+++ b/solr/core/src/test/org/apache/solr/metrics/JvmMetricsTest.java
@@ -16,20 +16,20 @@
  */
 package org.apache.solr.metrics;
 
-import com.codahale.metrics.Gauge;
-import com.codahale.metrics.Metric;
+import io.opentelemetry.exporter.prometheus.PrometheusMetricReader;
+import io.prometheus.metrics.model.snapshots.MetricSnapshots;
 import java.nio.charset.StandardCharsets;
 import java.nio.file.Files;
 import java.nio.file.Path;
 import java.util.Arrays;
-import java.util.Map;
+import java.util.Set;
+import java.util.stream.Collectors;
 import org.apache.solr.SolrJettyTestBase;
 import org.apache.solr.core.NodeConfig;
 import org.apache.solr.core.SolrXmlConfig;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
-/** Test {@link OperatingSystemMetricSet} and proper JVM metrics registration. 
*/
 public class JvmMetricsTest extends SolrJettyTestBase {
   static final String[] STRING_OS_METRICS = {"arch", "name", "version"};
   static final String[] NUMERIC_OS_METRICS = {"availableProcessors", 
"systemLoadAverage"};
@@ -45,71 +45,10 @@ public class JvmMetricsTest extends SolrJettyTestBase {
 
   @BeforeClass
   public static void beforeTest() throws Exception {
+    System.setProperty("solr.metrics.jvm.enabled", "true");
     createAndStartJetty(legacyExampleCollection1SolrHome());
   }
 
-  @Test
-  public void testOperatingSystemMetricSet() {
-    OperatingSystemMetricSet set = new OperatingSystemMetricSet();
-    Map<String, Metric> metrics = set.getMetrics();
-    assertTrue(metrics.size() > 0);
-    for (String metric : NUMERIC_OS_METRICS) {
-      Gauge<?> gauge = (Gauge<?>) metrics.get(metric);
-      assertNotNull(metric, gauge);
-      double value = ((Number) gauge.getValue()).doubleValue();
-      // SystemLoadAverage on Windows may be -1.0
-      assertTrue("unexpected value of " + metric + ": " + value, value >= 0 || 
value == -1.0);
-    }
-    for (String metric : STRING_OS_METRICS) {
-      Gauge<?> gauge = (Gauge<?>) metrics.get(metric);
-      assertNotNull(metric, gauge);
-      String value = (String) gauge.getValue();
-      assertNotNull(value);
-      assertFalse(value.isEmpty());
-    }
-  }
-
-  @Test
-  public void testAltBufferPoolMetricSet() {
-    AltBufferPoolMetricSet set = new AltBufferPoolMetricSet();
-    Map<String, Metric> metrics = set.getMetrics();
-    assertTrue(metrics.size() > 0);
-    for (String name : BUFFER_METRICS) {
-      assertNotNull(name, metrics.get(name));
-      Object g = metrics.get(name);
-      assertTrue(g instanceof Gauge);
-      Object v = ((Gauge<?>) g).getValue();
-      assertTrue(v instanceof Long);
-    }
-  }
-
-  @Test
-  public void testSystemProperties() {
-    if (System.getProperty("solr.security.auth.basicauth.credentials") == 
null) {
-      // make sure it's set
-      System.setProperty("solr.security.auth.basicauth.credentials", 
"foo:bar");
-    }
-    SolrMetricManager metricManager = 
getJetty().getCoreContainer().getMetricManager();
-    Map<String, Metric> metrics = 
metricManager.registry("solr.jvm").getMetrics();
-    Metric metric = metrics.get("system.properties");
-    assertNotNull(metrics.toString(), metric);
-    MetricsMap map = (MetricsMap) ((SolrMetricManager.GaugeWrapper<?>) 
metric).getGauge();
-    assertNotNull(metrics.toString(), map);
-    Map<String, Object> values = map.getValue();
-    System.getProperties()
-        .forEach(
-            (k, v) -> {
-              if 
(NodeConfig.NodeConfigBuilder.DEFAULT_HIDDEN_SYS_PROPS.contains(k)) {
-                assertNull("hidden property " + k + " present!", 
values.get(k));
-              } else if (k == "solr.security.auth.basicauth.credentials") {
-                // DEFAULT_HIDDEN_SYS_PROPS.contains doesn't match a partial 
pattern.
-                assertNull("hidden property " + k + " present!", 
values.get(k));
-              } else {
-                assertEquals(v, values.get(String.valueOf(k)));
-              }
-            });
-  }
-
   @Test
   public void testHiddenSysProps() throws Exception {
     Path home = TEST_PATH();
@@ -128,29 +67,38 @@ public class JvmMetricsTest extends SolrJettyTestBase {
 
   @Test
   public void testSetupJvmMetrics() {
-    SolrMetricManager metricManager = 
getJetty().getCoreContainer().getMetricManager();
-    Map<String, Metric> metrics = 
metricManager.registry("solr.jvm").getMetrics();
-    assertTrue(metrics.size() > 0);
-    assertTrue(
-        metrics.toString(),
-        metrics.entrySet().stream().anyMatch(e -> 
e.getKey().startsWith("buffers.")));
+    PrometheusMetricReader reader =
+        
getJetty().getCoreContainer().getMetricManager().getPrometheusMetricReader("solr.jvm");
+    MetricSnapshots snapshots = reader.collect();
+    assertTrue("Should have metric snapshots", snapshots.size() > 0);
+
+    Set<String> metricNames =
+        snapshots.stream()
+            .map(metric -> metric.getMetadata().getPrometheusName())
+            .collect(Collectors.toSet());
+
     assertTrue(
-        metrics.toString(),
-        metrics.entrySet().stream().anyMatch(e -> 
e.getKey().startsWith("classes.")));
+        "Should have JVM memory metrics",
+        metricNames.stream().anyMatch(name -> name.startsWith("jvm_memory")));
+
     assertTrue(
-        metrics.toString(),
-        metrics.entrySet().stream().anyMatch(e -> 
e.getKey().startsWith("os.")));
+        "Should have JVM thread metrics",
+        metricNames.stream().anyMatch(name -> name.startsWith("jvm_thread")));
+
     assertTrue(
-        metrics.toString(),
-        metrics.entrySet().stream().anyMatch(e -> 
e.getKey().startsWith("gc.")));
+        "Should have JVM class metrics",
+        metricNames.stream().anyMatch(name -> name.startsWith("jvm_class")));
+
     assertTrue(
-        metrics.toString(),
-        metrics.entrySet().stream().anyMatch(e -> 
e.getKey().startsWith("memory.")));
+        "Should have JVM CPU metrics",
+        metricNames.stream().anyMatch(name -> name.startsWith("jvm_cpu")));
+
     assertTrue(
-        metrics.toString(),
-        metrics.entrySet().stream().anyMatch(e -> 
e.getKey().startsWith("threads.")));
+        "Should have JVM GC metrics",
+        metricNames.stream().anyMatch(name -> name.startsWith("jvm_gc")));
+
     assertTrue(
-        metrics.toString(),
-        metrics.entrySet().stream().anyMatch(e -> 
e.getKey().startsWith("system.")));
+        "Should have JVM buffer metrics",
+        metricNames.stream().anyMatch(name -> name.startsWith("jvm_buffer")));
   }
 }
diff --git a/solr/cross-dc-manager/gradle.lockfile 
b/solr/cross-dc-manager/gradle.lockfile
index ad7df219e1d..9f2a5c5cb62 100644
--- a/solr/cross-dc-manager/gradle.lockfile
+++ b/solr/cross-dc-manager/gradle.lockfile
@@ -70,6 +70,12 @@ 
io.netty:netty-transport-classes-epoll:4.2.6.Final=compileClasspath,jarValidatio
 
io.netty:netty-transport-native-epoll:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
 
io.netty:netty-transport-native-unix-common:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
 
io.netty:netty-transport:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-instrumentation-api-incubator:2.11.0-alpha=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-instrumentation-api:2.11.0=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java17:2.11.0-alpha=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java8:2.11.0-alpha=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.semconv:opentelemetry-semconv:1.29.0-alpha=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry:opentelemetry-api-incubator:1.45.0-alpha=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-api:1.53.0=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-common:1.53.0=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-context:1.53.0=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
diff --git a/solr/modules/analysis-extras/gradle.lockfile 
b/solr/modules/analysis-extras/gradle.lockfile
index 0e367394f21..ddf54fa8334 100644
--- a/solr/modules/analysis-extras/gradle.lockfile
+++ b/solr/modules/analysis-extras/gradle.lockfile
@@ -55,6 +55,12 @@ 
io.netty:netty-transport-classes-epoll:4.2.6.Final=apiHelper,compileClasspath,ja
 
io.netty:netty-transport-native-epoll:4.2.6.Final=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
 
io.netty:netty-transport-native-unix-common:4.2.6.Final=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
 
io.netty:netty-transport:4.2.6.Final=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-instrumentation-api-incubator:2.11.0-alpha=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-instrumentation-api:2.11.0=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java17:2.11.0-alpha=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java8:2.11.0-alpha=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.semconv:opentelemetry-semconv:1.29.0-alpha=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry:opentelemetry-api-incubator:1.45.0-alpha=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-api:1.53.0=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-common:1.53.0=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-context:1.53.0=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
diff --git a/solr/modules/clustering/gradle.lockfile 
b/solr/modules/clustering/gradle.lockfile
index 373d5ebb9fa..1cdd529ed37 100644
--- a/solr/modules/clustering/gradle.lockfile
+++ b/solr/modules/clustering/gradle.lockfile
@@ -53,6 +53,12 @@ 
io.netty:netty-transport-classes-epoll:4.2.6.Final=compileClasspath,jarValidatio
 
io.netty:netty-transport-native-epoll:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
 
io.netty:netty-transport-native-unix-common:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
 
io.netty:netty-transport:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-instrumentation-api-incubator:2.11.0-alpha=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-instrumentation-api:2.11.0=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java17:2.11.0-alpha=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java8:2.11.0-alpha=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.semconv:opentelemetry-semconv:1.29.0-alpha=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry:opentelemetry-api-incubator:1.45.0-alpha=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-api:1.53.0=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-common:1.53.0=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-context:1.53.0=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
diff --git a/solr/modules/cross-dc/gradle.lockfile 
b/solr/modules/cross-dc/gradle.lockfile
index 631a766e08e..5388ff79f4f 100644
--- a/solr/modules/cross-dc/gradle.lockfile
+++ b/solr/modules/cross-dc/gradle.lockfile
@@ -54,6 +54,12 @@ 
io.netty:netty-transport-classes-epoll:4.2.6.Final=apiHelper,compileClasspath,ja
 
io.netty:netty-transport-native-epoll:4.2.6.Final=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
 
io.netty:netty-transport-native-unix-common:4.2.6.Final=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
 
io.netty:netty-transport:4.2.6.Final=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-instrumentation-api-incubator:2.11.0-alpha=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-instrumentation-api:2.11.0=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java17:2.11.0-alpha=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java8:2.11.0-alpha=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.semconv:opentelemetry-semconv:1.29.0-alpha=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry:opentelemetry-api-incubator:1.45.0-alpha=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-api:1.53.0=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-common:1.53.0=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-context:1.53.0=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
diff --git a/solr/modules/extraction/gradle.lockfile 
b/solr/modules/extraction/gradle.lockfile
index 27722aff9a7..b8f5d733a27 100644
--- a/solr/modules/extraction/gradle.lockfile
+++ b/solr/modules/extraction/gradle.lockfile
@@ -81,6 +81,12 @@ 
io.netty:netty-transport-classes-epoll:4.2.6.Final=compileClasspath,jarValidatio
 
io.netty:netty-transport-native-epoll:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
 
io.netty:netty-transport-native-unix-common:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
 
io.netty:netty-transport:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-instrumentation-api-incubator:2.11.0-alpha=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-instrumentation-api:2.11.0=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java17:2.11.0-alpha=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java8:2.11.0-alpha=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.semconv:opentelemetry-semconv:1.29.0-alpha=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry:opentelemetry-api-incubator:1.45.0-alpha=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-api:1.53.0=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-common:1.53.0=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-context:1.53.0=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
diff --git a/solr/modules/gcs-repository/gradle.lockfile 
b/solr/modules/gcs-repository/gradle.lockfile
index 1ab934dabc1..e22fe9840ac 100644
--- a/solr/modules/gcs-repository/gradle.lockfile
+++ b/solr/modules/gcs-repository/gradle.lockfile
@@ -103,6 +103,12 @@ 
io.netty:netty-transport:4.2.6.Final=apiHelper,compileClasspath,jarValidation,ru
 
io.opencensus:opencensus-api:0.31.1=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,testCompileClasspath,testRuntimeClasspath
 
io.opencensus:opencensus-contrib-http-util:0.31.1=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,testCompileClasspath,testRuntimeClasspath
 
io.opencensus:opencensus-proto:0.2.0=jarValidation,runtimeClasspath,runtimeLibs,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-instrumentation-api-incubator:2.11.0-alpha=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-instrumentation-api:2.11.0=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java17:2.11.0-alpha=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java8:2.11.0-alpha=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.semconv:opentelemetry-semconv:1.29.0-alpha=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry:opentelemetry-api-incubator:1.45.0-alpha=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-api:1.53.0=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-common:1.53.0=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-context:1.53.0=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
diff --git a/solr/modules/jwt-auth/gradle.lockfile 
b/solr/modules/jwt-auth/gradle.lockfile
index dd6f9dc774e..e44398aeeba 100644
--- a/solr/modules/jwt-auth/gradle.lockfile
+++ b/solr/modules/jwt-auth/gradle.lockfile
@@ -67,6 +67,12 @@ 
io.netty:netty-transport-classes-epoll:4.2.6.Final=compileClasspath,jarValidatio
 
io.netty:netty-transport-native-epoll:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
 
io.netty:netty-transport-native-unix-common:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
 
io.netty:netty-transport:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-instrumentation-api-incubator:2.11.0-alpha=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-instrumentation-api:2.11.0=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java17:2.11.0-alpha=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java8:2.11.0-alpha=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.semconv:opentelemetry-semconv:1.29.0-alpha=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry:opentelemetry-api-incubator:1.45.0-alpha=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-api:1.53.0=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-common:1.53.0=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-context:1.53.0=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
diff --git a/solr/modules/langid/gradle.lockfile 
b/solr/modules/langid/gradle.lockfile
index 8144d8517fb..ec261f84302 100644
--- a/solr/modules/langid/gradle.lockfile
+++ b/solr/modules/langid/gradle.lockfile
@@ -54,6 +54,12 @@ 
io.netty:netty-transport-classes-epoll:4.2.6.Final=compileClasspath,jarValidatio
 
io.netty:netty-transport-native-epoll:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
 
io.netty:netty-transport-native-unix-common:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
 
io.netty:netty-transport:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-instrumentation-api-incubator:2.11.0-alpha=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-instrumentation-api:2.11.0=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java17:2.11.0-alpha=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java8:2.11.0-alpha=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.semconv:opentelemetry-semconv:1.29.0-alpha=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry:opentelemetry-api-incubator:1.45.0-alpha=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-api:1.53.0=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-common:1.53.0=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-context:1.53.0=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
diff --git a/solr/modules/llm/gradle.lockfile b/solr/modules/llm/gradle.lockfile
index 74861b226f9..5f301fcb1d5 100644
--- a/solr/modules/llm/gradle.lockfile
+++ b/solr/modules/llm/gradle.lockfile
@@ -68,6 +68,12 @@ 
io.netty:netty-transport-classes-epoll:4.2.6.Final=compileClasspath,jarValidatio
 
io.netty:netty-transport-native-epoll:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
 
io.netty:netty-transport-native-unix-common:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
 
io.netty:netty-transport:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-instrumentation-api-incubator:2.11.0-alpha=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-instrumentation-api:2.11.0=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java17:2.11.0-alpha=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java8:2.11.0-alpha=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.semconv:opentelemetry-semconv:1.29.0-alpha=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry:opentelemetry-api-incubator:1.45.0-alpha=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-api:1.53.0=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-common:1.53.0=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-context:1.53.0=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
diff --git a/solr/modules/ltr/gradle.lockfile b/solr/modules/ltr/gradle.lockfile
index 6fa8ed49485..1c05c0fdc00 100644
--- a/solr/modules/ltr/gradle.lockfile
+++ b/solr/modules/ltr/gradle.lockfile
@@ -53,6 +53,12 @@ 
io.netty:netty-transport-classes-epoll:4.2.6.Final=compileClasspath,jarValidatio
 
io.netty:netty-transport-native-epoll:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
 
io.netty:netty-transport-native-unix-common:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
 
io.netty:netty-transport:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-instrumentation-api-incubator:2.11.0-alpha=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-instrumentation-api:2.11.0=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java17:2.11.0-alpha=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java8:2.11.0-alpha=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.semconv:opentelemetry-semconv:1.29.0-alpha=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry:opentelemetry-api-incubator:1.45.0-alpha=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-api:1.53.0=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-common:1.53.0=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-context:1.53.0=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
diff --git a/solr/modules/opentelemetry/gradle.lockfile 
b/solr/modules/opentelemetry/gradle.lockfile
index ca7e5eb6f9f..182700eea53 100644
--- a/solr/modules/opentelemetry/gradle.lockfile
+++ b/solr/modules/opentelemetry/gradle.lockfile
@@ -75,6 +75,12 @@ 
io.netty:netty-transport-classes-epoll:4.2.6.Final=compileClasspath,jarValidatio
 
io.netty:netty-transport-native-epoll:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
 
io.netty:netty-transport-native-unix-common:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
 
io.netty:netty-transport:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-instrumentation-api-incubator:2.11.0-alpha=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-instrumentation-api:2.11.0=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java17:2.11.0-alpha=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java8:2.11.0-alpha=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.semconv:opentelemetry-semconv:1.29.0-alpha=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry:opentelemetry-api-incubator:1.45.0-alpha=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-api:1.53.0=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-bom:1.53.0=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,testCompileClasspath,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-common:1.53.0=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
diff --git a/solr/modules/s3-repository/gradle.lockfile 
b/solr/modules/s3-repository/gradle.lockfile
index 714f2e35b96..2f0dbdb4b09 100644
--- a/solr/modules/s3-repository/gradle.lockfile
+++ b/solr/modules/s3-repository/gradle.lockfile
@@ -70,6 +70,12 @@ 
io.netty:netty-transport-classes-epoll:4.2.6.Final=apiHelper,compileClasspath,ja
 
io.netty:netty-transport-native-epoll:4.2.6.Final=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
 
io.netty:netty-transport-native-unix-common:4.2.6.Final=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
 
io.netty:netty-transport:4.2.6.Final=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-instrumentation-api-incubator:2.11.0-alpha=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-instrumentation-api:2.11.0=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java17:2.11.0-alpha=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java8:2.11.0-alpha=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.semconv:opentelemetry-semconv:1.29.0-alpha=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry:opentelemetry-api-incubator:1.45.0-alpha=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-api:1.53.0=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-common:1.53.0=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-context:1.53.0=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
diff --git a/solr/modules/scripting/gradle.lockfile 
b/solr/modules/scripting/gradle.lockfile
index 55897192931..5ad8e1ed9af 100644
--- a/solr/modules/scripting/gradle.lockfile
+++ b/solr/modules/scripting/gradle.lockfile
@@ -53,6 +53,12 @@ 
io.netty:netty-transport-classes-epoll:4.2.6.Final=compileClasspath,jarValidatio
 
io.netty:netty-transport-native-epoll:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
 
io.netty:netty-transport-native-unix-common:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
 
io.netty:netty-transport:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-instrumentation-api-incubator:2.11.0-alpha=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-instrumentation-api:2.11.0=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java17:2.11.0-alpha=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java8:2.11.0-alpha=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.semconv:opentelemetry-semconv:1.29.0-alpha=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry:opentelemetry-api-incubator:1.45.0-alpha=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-api:1.53.0=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-common:1.53.0=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-context:1.53.0=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
diff --git a/solr/modules/sql/gradle.lockfile b/solr/modules/sql/gradle.lockfile
index baf17e02dd0..f7d2ba572f6 100644
--- a/solr/modules/sql/gradle.lockfile
+++ b/solr/modules/sql/gradle.lockfile
@@ -56,6 +56,12 @@ 
io.netty:netty-transport-classes-epoll:4.2.6.Final=compileClasspath,jarValidatio
 
io.netty:netty-transport-native-epoll:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
 
io.netty:netty-transport-native-unix-common:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
 
io.netty:netty-transport:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-instrumentation-api-incubator:2.11.0-alpha=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-instrumentation-api:2.11.0=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java17:2.11.0-alpha=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java8:2.11.0-alpha=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.semconv:opentelemetry-semconv:1.29.0-alpha=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry:opentelemetry-api-incubator:1.45.0-alpha=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-api:1.53.0=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-common:1.53.0=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-context:1.53.0=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
diff --git a/solr/prometheus-exporter/gradle.lockfile 
b/solr/prometheus-exporter/gradle.lockfile
index 0fd347ff573..1549a84a17a 100644
--- a/solr/prometheus-exporter/gradle.lockfile
+++ b/solr/prometheus-exporter/gradle.lockfile
@@ -53,6 +53,12 @@ 
io.netty:netty-transport-classes-epoll:4.2.6.Final=compileClasspath,jarValidatio
 
io.netty:netty-transport-native-epoll:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
 
io.netty:netty-transport-native-unix-common:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
 
io.netty:netty-transport:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-instrumentation-api-incubator:2.11.0-alpha=jarValidation,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-instrumentation-api:2.11.0=jarValidation,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java17:2.11.0-alpha=jarValidation,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java8:2.11.0-alpha=jarValidation,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry.semconv:opentelemetry-semconv:1.29.0-alpha=jarValidation,solrPlatformLibs,testRuntimeClasspath
+io.opentelemetry:opentelemetry-api-incubator:1.45.0-alpha=jarValidation,solrPlatformLibs,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-api:1.53.0=jarValidation,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-common:1.53.0=jarValidation,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-context:1.53.0=jarValidation,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
diff --git 
a/solr/prometheus-exporter/src/test/org/apache/solr/prometheus/exporter/SolrExporterIntegrationTest.java
 
b/solr/prometheus-exporter/src/test/org/apache/solr/prometheus/exporter/SolrExporterIntegrationTest.java
index 4620a08eae1..08b9e62d144 100644
--- 
a/solr/prometheus-exporter/src/test/org/apache/solr/prometheus/exporter/SolrExporterIntegrationTest.java
+++ 
b/solr/prometheus-exporter/src/test/org/apache/solr/prometheus/exporter/SolrExporterIntegrationTest.java
@@ -61,16 +61,6 @@ public class SolrExporterIntegrationTest extends 
SolrExporterTestBase {
     assertEquals(18, durationHistogram.size());
   }
 
-  @Test
-  public void jvmMetrics() throws Exception {
-    Map<String, Double> jvmMetrics = metricsWithName(getAllMetrics(), 
"solr_metrics_jvm_threads");
-
-    // exact set of metrics can vary based on JVM impl (ie: windows)
-    // but there should always be at least one per known thread state per 
node...
-    assertTrue(
-        jvmMetrics.toString(), (NUM_NODES * Thread.State.values().length) < 
jvmMetrics.size());
-  }
-
   @Test
   public void jsonFacetMetrics() throws Exception {
     Map<String, Double> facetMetrics = metricsWithName(getAllMetrics(), 
"solr_facets_category");
diff --git 
a/solr/prometheus-exporter/src/test/org/apache/solr/prometheus/scraper/SolrCloudScraperTest.java
 
b/solr/prometheus-exporter/src/test/org/apache/solr/prometheus/scraper/SolrCloudScraperTest.java
index 386b1252e04..1265314fb9e 100644
--- 
a/solr/prometheus-exporter/src/test/org/apache/solr/prometheus/scraper/SolrCloudScraperTest.java
+++ 
b/solr/prometheus-exporter/src/test/org/apache/solr/prometheus/scraper/SolrCloudScraperTest.java
@@ -172,25 +172,6 @@ public class SolrCloudScraperTest extends 
PrometheusExporterTestBase {
     }
   }
 
-  @Test
-  public void metricsForEachHost() throws Exception {
-    Map<String, MetricSamples> metricsByHost =
-        
solrCloudScraper.metricsForAllHosts(configuration.getMetricsConfiguration().get(0));
-
-    List<Replica> replicas = getCollectionState().getReplicas();
-    assertEquals(replicas.size(), metricsByHost.size());
-
-    for (Replica replica : replicas) {
-      List<Collector.MetricFamilySamples> replicaSamples =
-          metricsByHost.get(replica.getBaseUrl()).asList();
-      assertEquals(1, replicaSamples.size());
-      assertEquals("solr_metrics_jvm_buffers", replicaSamples.get(0).name);
-
-      assertEquals("cluster_id", 
replicaSamples.get(0).samples.get(0).labelNames.get(2));
-      assertEquals("test", 
replicaSamples.get(0).samples.get(0).labelValues.get(2));
-    }
-  }
-
   @Test
   public void search() throws Exception {
     List<Collector.MetricFamilySamples> samples =
diff --git a/solr/server/gradle.lockfile b/solr/server/gradle.lockfile
index 64ba9349292..98f5c97cb24 100644
--- a/solr/server/gradle.lockfile
+++ b/solr/server/gradle.lockfile
@@ -52,6 +52,12 @@ 
io.netty:netty-transport-classes-epoll:4.2.6.Final=jarValidation,runtimeClasspat
 
io.netty:netty-transport-native-epoll:4.2.6.Final=jarValidation,runtimeClasspath,solrCore
 
io.netty:netty-transport-native-unix-common:4.2.6.Final=jarValidation,runtimeClasspath,solrCore
 io.netty:netty-transport:4.2.6.Final=jarValidation,runtimeClasspath,solrCore
+io.opentelemetry.instrumentation:opentelemetry-instrumentation-api-incubator:2.11.0-alpha=jarValidation,runtimeClasspath,solrCore
+io.opentelemetry.instrumentation:opentelemetry-instrumentation-api:2.11.0=jarValidation,runtimeClasspath,solrCore
+io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java17:2.11.0-alpha=jarValidation,runtimeClasspath,solrCore
+io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java8:2.11.0-alpha=jarValidation,runtimeClasspath,solrCore
+io.opentelemetry.semconv:opentelemetry-semconv:1.29.0-alpha=jarValidation,runtimeClasspath,solrCore
+io.opentelemetry:opentelemetry-api-incubator:1.45.0-alpha=jarValidation,runtimeClasspath,solrCore
 
io.opentelemetry:opentelemetry-api:1.53.0=jarValidation,runtimeClasspath,solrCore
 
io.opentelemetry:opentelemetry-common:1.53.0=jarValidation,runtimeClasspath,solrCore
 
io.opentelemetry:opentelemetry-context:1.53.0=jarValidation,runtimeClasspath,solrCore
diff --git a/solr/solr-ref-guide/gradle.lockfile 
b/solr/solr-ref-guide/gradle.lockfile
index 633346d95ec..ea526d855d7 100644
--- a/solr/solr-ref-guide/gradle.lockfile
+++ b/solr/solr-ref-guide/gradle.lockfile
@@ -52,6 +52,12 @@ 
io.netty:netty-transport-classes-epoll:4.2.6.Final=testCompileClasspath,testRunt
 
io.netty:netty-transport-native-epoll:4.2.6.Final=testCompileClasspath,testRuntimeClasspath
 
io.netty:netty-transport-native-unix-common:4.2.6.Final=testCompileClasspath,testRuntimeClasspath
 io.netty:netty-transport:4.2.6.Final=testCompileClasspath,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-instrumentation-api-incubator:2.11.0-alpha=testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-instrumentation-api:2.11.0=testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java17:2.11.0-alpha=testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java8:2.11.0-alpha=testRuntimeClasspath
+io.opentelemetry.semconv:opentelemetry-semconv:1.29.0-alpha=testRuntimeClasspath
+io.opentelemetry:opentelemetry-api-incubator:1.45.0-alpha=testRuntimeClasspath
 
io.opentelemetry:opentelemetry-api:1.53.0=testCompileClasspath,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-common:1.53.0=testCompileClasspath,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-context:1.53.0=testCompileClasspath,testRuntimeClasspath
diff --git a/solr/solrj-streaming/gradle.lockfile 
b/solr/solrj-streaming/gradle.lockfile
index 4e558d1d9b8..51cd7f859cf 100644
--- a/solr/solrj-streaming/gradle.lockfile
+++ b/solr/solrj-streaming/gradle.lockfile
@@ -62,6 +62,12 @@ 
io.netty:netty-transport-native-unix-common:4.1.119.Final=permitTestUnusedDeclar
 
io.netty:netty-transport-native-unix-common:4.2.6.Final=jarValidation,testCompileClasspath,testRuntimeClasspath
 io.netty:netty-transport:4.1.119.Final=permitTestUnusedDeclared
 
io.netty:netty-transport:4.2.6.Final=jarValidation,testCompileClasspath,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-instrumentation-api-incubator:2.11.0-alpha=jarValidation,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-instrumentation-api:2.11.0=jarValidation,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java17:2.11.0-alpha=jarValidation,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java8:2.11.0-alpha=jarValidation,testRuntimeClasspath
+io.opentelemetry.semconv:opentelemetry-semconv:1.29.0-alpha=jarValidation,testRuntimeClasspath
+io.opentelemetry:opentelemetry-api-incubator:1.45.0-alpha=jarValidation,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-api:1.53.0=jarValidation,testCompileClasspath,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-common:1.53.0=jarValidation,testCompileClasspath,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-context:1.53.0=jarValidation,testCompileClasspath,testRuntimeClasspath
diff --git a/solr/solrj-zookeeper/gradle.lockfile 
b/solr/solrj-zookeeper/gradle.lockfile
index 1d8f75cde5a..e9d944d9340 100644
--- a/solr/solrj-zookeeper/gradle.lockfile
+++ b/solr/solrj-zookeeper/gradle.lockfile
@@ -67,6 +67,12 @@ 
io.netty:netty-transport-native-unix-common:4.1.119.Final=apiHelper
 
io.netty:netty-transport-native-unix-common:4.2.6.Final=compileClasspath,jarValidation,permitTestUsedUndeclared,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
 io.netty:netty-transport:4.1.119.Final=apiHelper
 
io.netty:netty-transport:4.2.6.Final=compileClasspath,jarValidation,permitTestUsedUndeclared,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-instrumentation-api-incubator:2.11.0-alpha=jarValidation,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-instrumentation-api:2.11.0=jarValidation,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java17:2.11.0-alpha=jarValidation,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java8:2.11.0-alpha=jarValidation,testRuntimeClasspath
+io.opentelemetry.semconv:opentelemetry-semconv:1.29.0-alpha=jarValidation,testRuntimeClasspath
+io.opentelemetry:opentelemetry-api-incubator:1.45.0-alpha=jarValidation,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-api:1.53.0=jarValidation,testCompileClasspath,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-common:1.53.0=jarValidation,testCompileClasspath,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-context:1.53.0=jarValidation,testCompileClasspath,testRuntimeClasspath
diff --git a/solr/solrj/gradle.lockfile b/solr/solrj/gradle.lockfile
index 904c15c7034..56efd7d9a9c 100644
--- a/solr/solrj/gradle.lockfile
+++ b/solr/solrj/gradle.lockfile
@@ -62,6 +62,12 @@ 
io.netty:netty-transport-native-unix-common:4.1.119.Final=permitTestUnusedDeclar
 
io.netty:netty-transport-native-unix-common:4.2.6.Final=jarValidation,testCompileClasspath,testRuntimeClasspath
 io.netty:netty-transport:4.1.119.Final=permitTestUnusedDeclared
 
io.netty:netty-transport:4.2.6.Final=jarValidation,testCompileClasspath,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-instrumentation-api-incubator:2.11.0-alpha=jarValidation,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-instrumentation-api:2.11.0=jarValidation,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java17:2.11.0-alpha=jarValidation,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java8:2.11.0-alpha=jarValidation,testRuntimeClasspath
+io.opentelemetry.semconv:opentelemetry-semconv:1.29.0-alpha=jarValidation,testRuntimeClasspath
+io.opentelemetry:opentelemetry-api-incubator:1.45.0-alpha=jarValidation,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-api:1.53.0=jarValidation,testCompileClasspath,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-common:1.53.0=jarValidation,testCompileClasspath,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-context:1.53.0=jarValidation,testCompileClasspath,testRuntimeClasspath
diff --git 
a/solr/solrj/src/test/org/apache/solr/common/cloud/TestNodesSysPropsCacher.java 
b/solr/solrj/src/test/org/apache/solr/common/cloud/TestNodesSysPropsCacher.java
index 489de336a89..fbdfe7c002b 100644
--- 
a/solr/solrj/src/test/org/apache/solr/common/cloud/TestNodesSysPropsCacher.java
+++ 
b/solr/solrj/src/test/org/apache/solr/common/cloud/TestNodesSysPropsCacher.java
@@ -28,6 +28,9 @@ import org.junit.Test;
 public class TestNodesSysPropsCacher extends SolrCloudTestCase {
 
   @Test
+  // NOCOMMIT: These metrics were system properties that must be retrieved 
somewhere else that isn't
+  // the /admin/metrics endpoint
+  @AwaitsFix(bugUrl = "https://issues.apache.org/jira/browse/SOLR-17458";)
   public void testSysProps() throws Exception {
     System.setProperty("metricsEnabled", "true");
     MiniSolrCloudCluster cluster =
diff --git a/solr/test-framework/gradle.lockfile 
b/solr/test-framework/gradle.lockfile
index 7c581367523..1c87cc8e6db 100644
--- a/solr/test-framework/gradle.lockfile
+++ b/solr/test-framework/gradle.lockfile
@@ -54,6 +54,12 @@ 
io.netty:netty-transport-classes-epoll:4.2.6.Final=apiHelper,compileClasspath,ja
 
io.netty:netty-transport-native-epoll:4.2.6.Final=apiHelper,compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
 
io.netty:netty-transport-native-unix-common:4.2.6.Final=apiHelper,compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
 
io.netty:netty-transport:4.2.6.Final=apiHelper,compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-instrumentation-api-incubator:2.11.0-alpha=apiHelper,jarValidation,runtimeClasspath,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-instrumentation-api:2.11.0=apiHelper,jarValidation,runtimeClasspath,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java17:2.11.0-alpha=apiHelper,jarValidation,runtimeClasspath,testRuntimeClasspath
+io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java8:2.11.0-alpha=apiHelper,jarValidation,runtimeClasspath,testRuntimeClasspath
+io.opentelemetry.semconv:opentelemetry-semconv:1.29.0-alpha=apiHelper,jarValidation,runtimeClasspath,testRuntimeClasspath
+io.opentelemetry:opentelemetry-api-incubator:1.45.0-alpha=apiHelper,jarValidation,runtimeClasspath,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-api:1.53.0=apiHelper,compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-common:1.53.0=apiHelper,compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
 
io.opentelemetry:opentelemetry-context:1.53.0=apiHelper,compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
diff --git 
a/solr/test-framework/src/java/org/apache/solr/SolrIgnoredThreadsFilter.java 
b/solr/test-framework/src/java/org/apache/solr/SolrIgnoredThreadsFilter.java
index b9d31b8b604..153bacba9ac 100644
--- a/solr/test-framework/src/java/org/apache/solr/SolrIgnoredThreadsFilter.java
+++ b/solr/test-framework/src/java/org/apache/solr/SolrIgnoredThreadsFilter.java
@@ -83,6 +83,11 @@ public class SolrIgnoredThreadsFilter implements 
ThreadFilter {
       return true;
     }
 
+    // JVM JFR (Java Flight Recorder) periodic tasks thread
+    if (threadName.equals("JFR Periodic Tasks")) {
+      return true;
+    }
+
     return threadName.startsWith("closeThreadPool");
   }
 }
diff --git a/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java 
b/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java
index 53e1915f7c2..769c7d7bf13 100644
--- a/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java
+++ b/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java
@@ -282,6 +282,7 @@ public abstract class SolrTestCaseJ4 extends SolrTestCase {
     System.setProperty("solr.cloud.wait-for-updates-with-stale-state-pause", 
"500");
     System.setProperty("solr.filterCache.async", 
String.valueOf(random().nextBoolean()));
     System.setProperty("solr.http.disableCookies", Boolean.toString(rarely()));
+    System.setProperty("solr.metrics.jvm.enabled", "false");
 
     startTrackingSearchers();
     ignoreException("ignore_exception");
diff --git a/solr/webapp/gradle.lockfile b/solr/webapp/gradle.lockfile
index 5c45b55f9c7..2358a1e548d 100644
--- a/solr/webapp/gradle.lockfile
+++ b/solr/webapp/gradle.lockfile
@@ -52,6 +52,12 @@ 
io.netty:netty-transport-classes-epoll:4.2.6.Final=permitUnusedDeclared,solrCore
 io.netty:netty-transport-native-epoll:4.2.6.Final=permitUnusedDeclared,solrCore
 
io.netty:netty-transport-native-unix-common:4.2.6.Final=permitUnusedDeclared,solrCore
 io.netty:netty-transport:4.2.6.Final=permitUnusedDeclared,solrCore
+io.opentelemetry.instrumentation:opentelemetry-instrumentation-api-incubator:2.11.0-alpha=permitUnusedDeclared,solrCore
+io.opentelemetry.instrumentation:opentelemetry-instrumentation-api:2.11.0=permitUnusedDeclared,solrCore
+io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java17:2.11.0-alpha=permitUnusedDeclared,solrCore
+io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java8:2.11.0-alpha=permitUnusedDeclared,solrCore
+io.opentelemetry.semconv:opentelemetry-semconv:1.29.0-alpha=permitUnusedDeclared,solrCore
+io.opentelemetry:opentelemetry-api-incubator:1.45.0-alpha=permitUnusedDeclared,solrCore
 io.opentelemetry:opentelemetry-api:1.53.0=permitUnusedDeclared,solrCore
 io.opentelemetry:opentelemetry-common:1.53.0=permitUnusedDeclared,solrCore
 io.opentelemetry:opentelemetry-context:1.53.0=permitUnusedDeclared,solrCore

Reply via email to