From 8aefee9a2c36771fd3137709273b9235571961cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Onur=20Karacal=C4=B1?= Date: Wed, 17 Jun 2026 23:48:17 +0200 Subject: [PATCH] =?UTF-8?q?Revert=20"Revert=20"Revert=20"Add=20OpenTelemet?= =?UTF-8?q?ry=20tracing=20provider=20to=20the=20container=20(=E2=80=A6"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit b729af7b91ba51f29912aada384e4f2ea922d9ce. --- CMakeLists.txt | 1 - config-model-api/abi-spec.json | 1 - .../yahoo/config/model/api/ModelContext.java | 2 - .../model/container/ContainerCluster.java | 39 +--- .../provision/OpenTelemetryConfiguration.java | 25 --- .../java/ai/vespa/telemetry/package-info.java | 5 - configdefinitions/src/vespa/telemetry.def | 12 -- .../server/deploy/ModelContextImpl.java | 2 - container-dependency-versions/pom.xml | 7 - container-dev/pom.xml | 8 - container-disc/pom.xml | 24 --- .../telemetry/OpenTelemetryProvider.java | 51 ------ .../telemetry/OpenTelemetrySdkBuilder.java | 48 ----- container-opentelemetry/CMakeLists.txt | 2 - container-opentelemetry/pom.xml | 168 ------------------ .../main/assembly/jar-with-dependencies.xml | 26 --- container/pom.xml | 6 - dependency-versions/pom.xml | 1 - dist/vespa.spec | 1 - .../java/com/yahoo/vespa/flags/Flags.java | 9 - .../flags/custom/OpenTelemetrySettings.java | 43 ----- pom.xml | 1 - .../allowed-maven-dependencies.txt | 12 -- 23 files changed, 2 insertions(+), 492 deletions(-) delete mode 100644 config-provisioning/src/main/java/com/yahoo/config/provision/OpenTelemetryConfiguration.java delete mode 100644 configdefinitions/src/main/java/ai/vespa/telemetry/package-info.java delete mode 100644 configdefinitions/src/vespa/telemetry.def delete mode 100644 container-disc/src/main/java/com/yahoo/container/jdisc/telemetry/OpenTelemetryProvider.java delete mode 100644 container-disc/src/main/java/com/yahoo/container/jdisc/telemetry/OpenTelemetrySdkBuilder.java delete mode 100644 container-opentelemetry/CMakeLists.txt delete mode 100644 container-opentelemetry/pom.xml delete mode 100644 container-opentelemetry/src/main/assembly/jar-with-dependencies.xml delete mode 100644 flags/src/main/java/com/yahoo/vespa/flags/custom/OpenTelemetrySettings.java diff --git a/CMakeLists.txt b/CMakeLists.txt index e6dce7e85cfb..e74db69b767d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -117,7 +117,6 @@ add_subdirectory(container-apache-http-client-bundle) add_subdirectory(container-disc) add_subdirectory(container-messagebus) add_subdirectory(container-onnxruntime) -add_subdirectory(container-opentelemetry) add_subdirectory(container-llama) add_subdirectory(container-search) add_subdirectory(container-search-and-docproc) diff --git a/config-model-api/abi-spec.json b/config-model-api/abi-spec.json index 7174214562f0..16c5556dfa89 100644 --- a/config-model-api/abi-spec.json +++ b/config-model-api/abi-spec.json @@ -1415,7 +1415,6 @@ "public double feedNiceness()", "public int maxUnCommittedMemory()", "public boolean containerDumpHeapOnShutdownTimeout()", - "public com.yahoo.config.provision.OpenTelemetryConfiguration opentelemetrySdk()", "public int heapSizePercentage(java.util.Optional)", "public java.util.List allowedAthenzProxyIdentities()", "public int maxActivationInhibitedOutOfSyncGroups()", diff --git a/config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java b/config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java index c76f52c9082d..dc21c8a83229 100644 --- a/config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java +++ b/config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java @@ -14,7 +14,6 @@ import com.yahoo.config.provision.DockerImage; import com.yahoo.config.provision.HostName; import com.yahoo.config.provision.NodeResources.Architecture; -import com.yahoo.config.provision.OpenTelemetryConfiguration; import com.yahoo.config.provision.SharedHosts; import java.io.File; @@ -97,7 +96,6 @@ interface FeatureFlags { @ModelFeatureFlag(owners = {"hmusum"}) default double feedNiceness() { return 0.0; } @ModelFeatureFlag(owners = {"hmusum"}) default int maxUnCommittedMemory() { return 130000; } @ModelFeatureFlag(owners = {"bjorncs"}) default boolean containerDumpHeapOnShutdownTimeout() { return false; } - @ModelFeatureFlag(owners = {"onur"}) default OpenTelemetryConfiguration opentelemetrySdk() { return OpenTelemetryConfiguration.disabled(); } @ModelFeatureFlag(owners = {"hmusum"}) default int heapSizePercentage(Optional clusterId) { return 0;} @ModelFeatureFlag(owners = {"bjorncs"}) default List allowedAthenzProxyIdentities() { return List.of(); } @ModelFeatureFlag(owners = {"vekterli"}) default int maxActivationInhibitedOutOfSyncGroups() { return 0; } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java index 03d464335b8d..d455fd9e04cf 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java @@ -1,7 +1,6 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.model.container; -import ai.vespa.telemetry.TelemetryConfig; import com.yahoo.cloud.config.ClusterInfoConfig; import com.yahoo.cloud.config.ConfigserverConfig; import com.yahoo.cloud.config.CuratorConfig; @@ -14,7 +13,6 @@ import com.yahoo.config.model.producer.AnyConfigProducer; import com.yahoo.config.model.producer.TreeConfigProducer; import com.yahoo.config.provision.ClusterSpec; -import com.yahoo.config.provision.OpenTelemetryConfiguration; import com.yahoo.config.provision.Zone; import com.yahoo.container.ComponentsConfig; import com.yahoo.container.QrSearchersConfig; @@ -111,8 +109,7 @@ public abstract class ContainerCluster ClusterInfoConfig.Producer, ConfigserverConfig.Producer, CuratorConfig.Producer, - SchemaInfoConfig.Producer, - TelemetryConfig.Producer + SchemaInfoConfig.Producer { /** @@ -171,8 +168,6 @@ public abstract class ContainerCluster private volatile boolean deferChangesUntilRestart = false; private final boolean applyOnRestartForApplicationMetadataConfigEnabled; - private final OpenTelemetryConfiguration opentelemetrySdk; - private final Map telemetryResourceAttributes; private boolean clientsLegacyMode; private List clients = List.of(); @@ -184,9 +179,7 @@ public ContainerCluster(TreeConfigProducer parent, String configSubId, String this.zooKeeperLocalhostAffinity = zooKeeperLocalhostAffinity; this.compressionType = "zstd"; applyOnRestartForApplicationMetadataConfigEnabled = deployState.featureFlags().applyOnRestartForApplicationMetadataConfig(); - opentelemetrySdk = deployState.featureFlags().opentelemetrySdk(); - telemetryResourceAttributes = telemetryResourceAttributes(deployState, clusterId); - + componentGroup = new ComponentGroup<>(this, "component"); addCommonVespaBundles(); @@ -206,8 +199,6 @@ public ContainerCluster(TreeConfigProducer parent, String configSubId, String addSimpleComponent(com.yahoo.container.handler.ClustersStatus.class.getName()); addSimpleComponent("com.yahoo.container.jdisc.DisabledConnectionLogProvider"); addSimpleComponent(com.yahoo.jdisc.http.server.jetty.Janitor.class); - // OpenTelemetry tracing provider: present in all container types; hands out a no-op instance unless enabled. - addSimpleComponent("com.yahoo.container.jdisc.telemetry.OpenTelemetryProvider"); } protected abstract boolean messageBusEnabled(); @@ -575,32 +566,6 @@ public void getConfig(QrSearchersConfig.Builder builder) { if (containerSearch != null) containerSearch.getConfig(builder); } - @Override - public void getConfig(TelemetryConfig.Builder builder) { - builder.enabled(opentelemetrySdk.enabled()) - .endpoint(opentelemetrySdk.endpoint()) - .samplingRatio(opentelemetrySdk.samplingRatio()); - builder.resourceAttribute.putAll(telemetryResourceAttributes); - } - - /** - * Resource attributes describing this container service, filled from the deployment identity available - * in the model. Used by the OpenTelemetry provider to build the OTel {@code Resource}. - */ - private Map telemetryResourceAttributes(DeployState deployState, String clusterId) { - var applicationId = deployState.getProperties().applicationId(); - - Map attributes = new LinkedHashMap<>(); - attributes.put("application", applicationId.application().value()); - attributes.put("tenant", applicationId.tenant().value()); - attributes.put("zone", this.zone.systemLocalValue()); - attributes.put("environment", this.zone.environment().value()); - attributes.put("cloud", this.zone.cloud().toString()); - attributes.put("cluster.type", "container"); - attributes.put("cluster.id", clusterId); - return attributes; - } - @Override public void getConfig(QrStartConfig.Builder builder) { builder.jvm diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/OpenTelemetryConfiguration.java b/config-provisioning/src/main/java/com/yahoo/config/provision/OpenTelemetryConfiguration.java deleted file mode 100644 index 80f1a3ea2658..000000000000 --- a/config-provisioning/src/main/java/com/yahoo/config/provision/OpenTelemetryConfiguration.java +++ /dev/null @@ -1,25 +0,0 @@ -// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package com.yahoo.config.provision; - -/** - * Settings for Vespa's OpenTelemetry SDK (tracing), controlled by the {@code opentelemetry-sdk} - * feature flag and produced into the container's telemetry config. - * - * @author onur - */ -public interface OpenTelemetryConfiguration { - - boolean enabled(); - String endpoint(); - double samplingRatio(); - - /** The default, disabled configuration: produces a no-op OpenTelemetry. */ - static OpenTelemetryConfiguration disabled() { - return new OpenTelemetryConfiguration() { - @Override public boolean enabled() { return false; } - @Override public String endpoint() { return ""; } - @Override public double samplingRatio() { return 1.0; } - }; - } - -} diff --git a/configdefinitions/src/main/java/ai/vespa/telemetry/package-info.java b/configdefinitions/src/main/java/ai/vespa/telemetry/package-info.java deleted file mode 100644 index ffccb4c8eca7..000000000000 --- a/configdefinitions/src/main/java/ai/vespa/telemetry/package-info.java +++ /dev/null @@ -1,5 +0,0 @@ -// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -@ExportPackage -package ai.vespa.telemetry; - -import com.yahoo.osgi.annotation.ExportPackage; diff --git a/configdefinitions/src/vespa/telemetry.def b/configdefinitions/src/vespa/telemetry.def deleted file mode 100644 index 18f8d606cfe3..000000000000 --- a/configdefinitions/src/vespa/telemetry.def +++ /dev/null @@ -1,12 +0,0 @@ -# Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -# Configuration for the container OpenTelemetry tracing provider. -# Disabled by default: when enabled=false the provider hands out a no-op OpenTelemetry that produces nothing. -package=ai.vespa.telemetry - -enabled bool -endpoint string -samplingRatio double - -# Resource attributes describing the emitting service, filled by the config-model -# from whatever deployment identity is available (application, tenant, cluster type, cluster id). -resourceAttribute{} string diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java b/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java index 5e955608fd78..7bfee98cc42d 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java @@ -28,7 +28,6 @@ import com.yahoo.config.provision.DockerImage; import com.yahoo.config.provision.HostName; import com.yahoo.config.provision.NodeResources.Architecture; -import com.yahoo.config.provision.OpenTelemetryConfiguration; import com.yahoo.config.provision.SharedHosts; import com.yahoo.vespa.flags.Flag; import com.yahoo.vespa.flags.FlagSource; @@ -224,7 +223,6 @@ private , U extends UnboundFlag> ModelContext.F @Override public double feedConcurrency() { return flag(PermanentFlags.FEED_CONCURRENCY).value(); } @Override public double feedNiceness() { return flag(PermanentFlags.FEED_NICENESS).value(); } @Override public int mbusNetworkThreads() { return flag(Flags.MBUS_NUM_NETWORK_THREADS).value(); } - @Override public OpenTelemetryConfiguration opentelemetrySdk() { return flag(Flags.OPENTELEMETRY_SDK).value(); } @Override public List allowedAthenzProxyIdentities() { return flag(PermanentFlags.ALLOWED_ATHENZ_PROXY_IDENTITIES).value(); } @Override public int maxActivationInhibitedOutOfSyncGroups() { return flag(PermanentFlags.MAX_ACTIVATION_INHIBITED_OUT_OF_SYNC_GROUPS).value(); } @Override public double resourceLimitDisk() { return flag(PermanentFlags.RESOURCE_LIMIT_DISK).value(); } diff --git a/container-dependency-versions/pom.xml b/container-dependency-versions/pom.xml index 9a2a3c01f346..13b6fb6bf1be 100644 --- a/container-dependency-versions/pom.xml +++ b/container-dependency-versions/pom.xml @@ -36,13 +36,6 @@ - - io.opentelemetry - opentelemetry-bom - ${opentelemetry.vespa.version} - pom - import - aopalliance aopalliance diff --git a/container-dev/pom.xml b/container-dev/pom.xml index 6f0be227cdff..cf3bef998532 100644 --- a/container-dev/pom.xml +++ b/container-dev/pom.xml @@ -187,14 +187,6 @@ ${project.version} pom - - - io.opentelemetry - opentelemetry-api - com.yahoo.vespa vespajlib diff --git a/container-disc/pom.xml b/container-disc/pom.xml index 56d426d92e9d..68b05d37f54c 100644 --- a/container-disc/pom.xml +++ b/container-disc/pom.xml @@ -285,29 +285,6 @@ - - - io.opentelemetry - opentelemetry-api - provided - - - io.opentelemetry - opentelemetry-sdk - provided - - - io.opentelemetry - opentelemetry-exporter-otlp - provided - - - - io.opentelemetry - opentelemetry-exporter-sender-okhttp - - - com.yahoo.vespa annotations @@ -515,7 +492,6 @@ configdefinitions-jar-with-dependencies.jar, hosted-zone-api-jar-with-dependencies.jar, container-apache-http-client-bundle-jar-with-dependencies.jar, - container-opentelemetry-jar-with-dependencies.jar, security-utils.jar, bcprov-jdk18on-${bouncycastle.vespa.version}.jar, bcpkix-jdk18on-${bouncycastle.vespa.version}.jar, diff --git a/container-disc/src/main/java/com/yahoo/container/jdisc/telemetry/OpenTelemetryProvider.java b/container-disc/src/main/java/com/yahoo/container/jdisc/telemetry/OpenTelemetryProvider.java deleted file mode 100644 index 4c724eebe4a0..000000000000 --- a/container-disc/src/main/java/com/yahoo/container/jdisc/telemetry/OpenTelemetryProvider.java +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package com.yahoo.container.jdisc.telemetry; - -import ai.vespa.telemetry.TelemetryConfig; -import com.yahoo.component.annotation.Inject; -import com.yahoo.container.di.componentgraph.Provider; -import io.opentelemetry.api.OpenTelemetry; - -/** - * Provides the container's {@link OpenTelemetry} instance as an injectable component. - * - *

Disabled by default: when {@code telemetry.enabled=false} this hands out {@link OpenTelemetry#noop()}, - * which constructs no SDK, starts no exporter threads, opens no connections and produces no telemetry. - * The real SDK is built only when explicitly enabled, so the component is safe to ship disabled and roll - * out gradually via config.

- * - *

This class deliberately references only the OpenTelemetry API. The SDK is built in - * {@link OpenTelemetrySdkBuilder}, which is loaded only when tracing is enabled. That keeps the SDK classes - * off the (public) container classpath: the in-process container only needs the OTel API to instantiate this - * provider in its disabled, no-op form.

- * - * @author onur - */ -public class OpenTelemetryProvider implements Provider { - - private final OpenTelemetry openTelemetry; - - @Inject - public OpenTelemetryProvider(TelemetryConfig config) { - this.openTelemetry = config.enabled() - ? OpenTelemetrySdkBuilder.build(config) // loads SDK classes only when enabled - : OpenTelemetry.noop(); - } - - @Override - public OpenTelemetry get() { return openTelemetry; } - - @Override - public void deconstruct() { - // The real SDK implements AutoCloseable; closing flushes queued spans and stops exporter threads on - // reconfiguration. The no-op instance is not AutoCloseable, so nothing happens when disabled. - if (openTelemetry instanceof AutoCloseable closeable) { - try { - closeable.close(); - } catch (Exception ignored) { - // best-effort shutdown - } - } - } - -} diff --git a/container-disc/src/main/java/com/yahoo/container/jdisc/telemetry/OpenTelemetrySdkBuilder.java b/container-disc/src/main/java/com/yahoo/container/jdisc/telemetry/OpenTelemetrySdkBuilder.java deleted file mode 100644 index 16d4ff9d481e..000000000000 --- a/container-disc/src/main/java/com/yahoo/container/jdisc/telemetry/OpenTelemetrySdkBuilder.java +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package com.yahoo.container.jdisc.telemetry; - -import ai.vespa.telemetry.TelemetryConfig; -import io.opentelemetry.api.OpenTelemetry; -import io.opentelemetry.api.common.Attributes; -import io.opentelemetry.api.common.AttributesBuilder; -import io.opentelemetry.api.trace.propagation.W3CTraceContextPropagator; -import io.opentelemetry.context.propagation.ContextPropagators; -import io.opentelemetry.exporter.otlp.http.trace.OtlpHttpSpanExporter; -import io.opentelemetry.sdk.OpenTelemetrySdk; -import io.opentelemetry.sdk.resources.Resource; -import io.opentelemetry.sdk.trace.SdkTracerProvider; -import io.opentelemetry.sdk.trace.export.BatchSpanProcessor; -import io.opentelemetry.sdk.trace.samplers.Sampler; - -/** - * Builds the real OpenTelemetry SDK (OTLP/HTTP exporter, batching, parent-based ratio sampling, W3C trace - * context propagation) from {@link TelemetryConfig}. - * - *

Kept separate from {@link OpenTelemetryProvider} on purpose: the JVM loads this class only when the - * provider takes its enabled branch, so the OTel SDK classes are needed on the classpath only when tracing - * is actually enabled. When disabled, the provider references only the OTel API.

- * - * @author onur - */ -class OpenTelemetrySdkBuilder { - - private OpenTelemetrySdkBuilder() {} - - /** Returns the configured SDK as an {@link OpenTelemetry}; the concrete type also implements AutoCloseable. */ - static OpenTelemetry build(TelemetryConfig config) { - AttributesBuilder attributes = Attributes.builder(); - config.resourceAttribute().forEach(attributes::put); - Resource resource = Resource.getDefault().merge(Resource.create(attributes.build())); - - return OpenTelemetrySdk.builder() - .setTracerProvider(SdkTracerProvider.builder() - .setResource(resource) - .setSampler(Sampler.parentBased(Sampler.traceIdRatioBased(config.samplingRatio()))) - .addSpanProcessor(BatchSpanProcessor.builder( - OtlpHttpSpanExporter.builder().setEndpoint(config.endpoint()).build()).build()) - .build()) - .setPropagators(ContextPropagators.create(W3CTraceContextPropagator.getInstance())) - .build(); - } - -} diff --git a/container-opentelemetry/CMakeLists.txt b/container-opentelemetry/CMakeLists.txt deleted file mode 100644 index 062134caab2c..000000000000 --- a/container-opentelemetry/CMakeLists.txt +++ /dev/null @@ -1,2 +0,0 @@ -# Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -install_jar(container-opentelemetry-jar-with-dependencies.jar) diff --git a/container-opentelemetry/pom.xml b/container-opentelemetry/pom.xml deleted file mode 100644 index 2bd3faea196a..000000000000 --- a/container-opentelemetry/pom.xml +++ /dev/null @@ -1,168 +0,0 @@ - - - - 4.0.0 - - - com.yahoo.vespa - parent - 8-SNAPSHOT - ../parent/pom.xml - - - container-opentelemetry - jar - 8-SNAPSHOT - ${project.artifactId} - OSGi bundle embedding the OpenTelemetry SDK + API and exporting them to the Vespa container. - - - true - - - - - - io.opentelemetry - opentelemetry-api - - - io.opentelemetry - opentelemetry-context - - - io.opentelemetry - opentelemetry-common - - - io.opentelemetry - opentelemetry-sdk - - - io.opentelemetry - opentelemetry-sdk-common - - - io.opentelemetry - opentelemetry-sdk-trace - - - io.opentelemetry - opentelemetry-sdk-metrics - - - io.opentelemetry - opentelemetry-sdk-logs - - - io.opentelemetry - opentelemetry-exporter-common - - - io.opentelemetry - opentelemetry-exporter-otlp-common - - - io.opentelemetry - opentelemetry-exporter-otlp - - - - io.opentelemetry - opentelemetry-exporter-sender-okhttp - - - - - io.opentelemetry - opentelemetry-exporter-sender-jdk - - - - - - - org.apache.felix - maven-bundle-plugin - true - - - ${project.artifactId} - ${opentelemetry.vespa.version} - - - io.opentelemetry.api.*;version=${opentelemetry.vespa.version};-noimport:=true, - io.opentelemetry.context.*;version=${opentelemetry.vespa.version};-noimport:=true, - io.opentelemetry.sdk.*;version=${opentelemetry.vespa.version};-noimport:=true, - io.opentelemetry.exporter.otlp.*;version=${opentelemetry.vespa.version};-noimport:=true - - - *;scope=compile|runtime;type=!pom;inline=true - true - - - com.fasterxml.jackson.core - - <_nouses>true - - - - - bundle-manifest - process-classes - - manifest - - - - - - org.apache.maven.plugins - maven-jar-plugin - - - ${project.build.outputDirectory}/META-INF/MANIFEST.MF - - - - - org.apache.maven.plugins - maven-assembly-plugin - - - ${project.build.outputDirectory}/META-INF/MANIFEST.MF - - false - - src/main/assembly/jar-with-dependencies.xml - - - - - make-assembly - package - - single - - - - - - org.apache.maven.plugins - maven-compiler-plugin - - - - - diff --git a/container-opentelemetry/src/main/assembly/jar-with-dependencies.xml b/container-opentelemetry/src/main/assembly/jar-with-dependencies.xml deleted file mode 100644 index 97eb69ee5b61..000000000000 --- a/container-opentelemetry/src/main/assembly/jar-with-dependencies.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - jar-with-dependencies - - jar - - false - - - / - true - true - runtime - - - - OSGI-INF/MANIFEST.MF - META-INF/versions/*/OSGI-INF/MANIFEST.MF - - - - - diff --git a/container/pom.xml b/container/pom.xml index 7ef0ce3e4952..30b02e2905ee 100644 --- a/container/pom.xml +++ b/container/pom.xml @@ -23,12 +23,6 @@ container-dev ${project.version} - - - io.opentelemetry - * - com.yahoo.vespa http-utils diff --git a/dependency-versions/pom.xml b/dependency-versions/pom.xml index 0f94ce58aa6f..221a42302614 100644 --- a/dependency-versions/pom.xml +++ b/dependency-versions/pom.xml @@ -135,7 +135,6 @@ 4.12.0 1.26.0 1.6.1 - 1.63.0 2.5.9 1.3.0 7.0.1 diff --git a/dist/vespa.spec b/dist/vespa.spec index 215deacea12b..0410caccf647 100644 --- a/dist/vespa.spec +++ b/dist/vespa.spec @@ -723,7 +723,6 @@ fi %{_prefix}/lib/jars/container-disc-jar-with-dependencies.jar %{_prefix}/lib/jars/container-llama.jar %{_prefix}/lib/jars/container-onnxruntime.jar -%{_prefix}/lib/jars/container-opentelemetry-jar-with-dependencies.jar %{_prefix}/lib/jars/container-search-and-docproc-jar-with-dependencies.jar %{_prefix}/lib/jars/container-spifly.jar %{_prefix}/lib/jars/docprocs-jar-with-dependencies.jar diff --git a/flags/src/main/java/com/yahoo/vespa/flags/Flags.java b/flags/src/main/java/com/yahoo/vespa/flags/Flags.java index ae4c71622a63..bc5f3b80a28c 100644 --- a/flags/src/main/java/com/yahoo/vespa/flags/Flags.java +++ b/flags/src/main/java/com/yahoo/vespa/flags/Flags.java @@ -3,7 +3,6 @@ import com.yahoo.component.Vtag; import com.yahoo.vespa.defaults.Defaults; -import com.yahoo.vespa.flags.custom.OpenTelemetrySettings; import com.yahoo.vespa.flags.custom.Sidecars; import java.time.Instant; @@ -148,14 +147,6 @@ public class Flags { "Takes effect at redeployment", APPLICATION, INSTANCE_ID, TENANT_ID); - public static final UnboundJacksonFlag OPENTELEMETRY_SDK = defineJacksonFlag( - "opentelemetry-sdk", OpenTelemetrySettings.createDisabled(), OpenTelemetrySettings.class, - List.of("onur"), "2026-06-16", "2026-12-31", - "Configuration for Vespa's OpenTelemetry SDK (tracing) in the container: enabled, endpoint, samplingRatio. When disabled the provider hands out a no-op OpenTelemetry that produces nothing", - "Takes effect at redeployment", - __ -> true, - APPLICATION, INSTANCE_ID); - public static UnboundBooleanFlag LOGSERVER_OTELCOL_AGENT = defineFeatureFlag( "logserver-otelcol-agent", false, List.of("olaa"), "2024-04-03", "2026-08-01", diff --git a/flags/src/main/java/com/yahoo/vespa/flags/custom/OpenTelemetrySettings.java b/flags/src/main/java/com/yahoo/vespa/flags/custom/OpenTelemetrySettings.java deleted file mode 100644 index 04a971856317..000000000000 --- a/flags/src/main/java/com/yahoo/vespa/flags/custom/OpenTelemetrySettings.java +++ /dev/null @@ -1,43 +0,0 @@ -// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package com.yahoo.vespa.flags.custom; - -import com.fasterxml.jackson.annotation.JsonCreator; -import com.fasterxml.jackson.annotation.JsonGetter; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.yahoo.config.provision.OpenTelemetryConfiguration; - -/** - * JSON value of the {@code opentelemetry-sdk} feature flag - * (see {@link com.yahoo.vespa.flags.Flags#OPENTELEMETRY_SDK}). - * Missing fields fall back to the disabled defaults. - * - * @author onur - */ -@JsonIgnoreProperties(ignoreUnknown = true) -@JsonInclude(JsonInclude.Include.NON_NULL) -public class OpenTelemetrySettings implements OpenTelemetryConfiguration { - - private final boolean enabled; - private final String endpoint; - private final double samplingRatio; - - public static OpenTelemetrySettings createDisabled() { - return new OpenTelemetrySettings(false, null, null); - } - - @JsonCreator - public OpenTelemetrySettings(@JsonProperty("enabled") Boolean enabled, - @JsonProperty("endpoint") String endpoint, - @JsonProperty("samplingRatio") Double samplingRatio) { - this.enabled = enabled != null && enabled; - this.endpoint = endpoint != null ? endpoint : ""; - this.samplingRatio = samplingRatio != null ? samplingRatio : 1.0; - } - - @JsonGetter("enabled") @Override public boolean enabled() { return enabled; } - @JsonGetter("endpoint") @Override public String endpoint() { return endpoint; } - @JsonGetter("samplingRatio") @Override public double samplingRatio() { return samplingRatio; } - -} diff --git a/pom.xml b/pom.xml index b187da427d18..4d95264b0012 100644 --- a/pom.xml +++ b/pom.xml @@ -56,7 +56,6 @@ container-llama container-messagebus container-onnxruntime - container-opentelemetry container-search-and-docproc container-search container-spifly diff --git a/vespa-dependencies-enforcer/allowed-maven-dependencies.txt b/vespa-dependencies-enforcer/allowed-maven-dependencies.txt index faf35e6963f5..4c6a490b6a64 100644 --- a/vespa-dependencies-enforcer/allowed-maven-dependencies.txt +++ b/vespa-dependencies-enforcer/allowed-maven-dependencies.txt @@ -87,18 +87,6 @@ io.netty:netty-transport-classes-epoll:${netty.vespa.version} io.netty:netty-transport-native-epoll:${netty.vespa.version}:linux-x86_64 io.netty:netty-transport-native-unix-common:${netty.vespa.version} io.netty:netty-transport:${netty.vespa.version} -io.opentelemetry:opentelemetry-api:${opentelemetry.vespa.version} -io.opentelemetry:opentelemetry-common:${opentelemetry.vespa.version} -io.opentelemetry:opentelemetry-context:${opentelemetry.vespa.version} -io.opentelemetry:opentelemetry-exporter-common:${opentelemetry.vespa.version} -io.opentelemetry:opentelemetry-exporter-otlp-common:${opentelemetry.vespa.version} -io.opentelemetry:opentelemetry-exporter-otlp:${opentelemetry.vespa.version} -io.opentelemetry:opentelemetry-exporter-sender-jdk:${opentelemetry.vespa.version} -io.opentelemetry:opentelemetry-sdk-common:${opentelemetry.vespa.version} -io.opentelemetry:opentelemetry-sdk-logs:${opentelemetry.vespa.version} -io.opentelemetry:opentelemetry-sdk-metrics:${opentelemetry.vespa.version} -io.opentelemetry:opentelemetry-sdk-trace:${opentelemetry.vespa.version} -io.opentelemetry:opentelemetry-sdk:${opentelemetry.vespa.version} io.perfmark:perfmark-api:0.27.0 io.projectreactor:reactor-core:${reactor-core.vespa.version} io.prometheus:simpleclient:${prometheus.client.vespa.version}