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
