From 940e749dbca21a7b4cc801f8f7179c8798d94745 Mon Sep 17 00:00:00 2001 From: Scott Fleener Date: Fri, 3 Oct 2025 14:43:02 -0400 Subject: [PATCH] chore(tracing): Remove OpenCensus remnants There were a few abstractions over the trace backend (enums, etc.) that can be removed now that OpenCensus has been removed in https://github.com/linkerd/linkerd2-proxy/pull/4216. Signed-off-by: Scott Fleener --- Cargo.lock | 7 ---- linkerd/app/core/src/http_tracing.rs | 20 +--------- linkerd/app/src/env.rs | 10 ----- linkerd/app/src/trace_collector.rs | 40 +++++++------------ .../app/src/trace_collector/otel_collector.rs | 5 +-- 5 files changed, 17 insertions(+), 65 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 69a6e6a89b..074f8dcf34 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4019,13 +4019,6 @@ dependencies = [ "syn", ] -[[package]] -name = "tools" -version = "0.1.0" -dependencies = [ - "tonic-build", -] - [[package]] name = "tower" version = "0.5.2" diff --git a/linkerd/app/core/src/http_tracing.rs b/linkerd/app/core/src/http_tracing.rs index ba9629d4cc..960899dc64 100644 --- a/linkerd/app/core/src/http_tracing.rs +++ b/linkerd/app/core/src/http_tracing.rs @@ -5,27 +5,9 @@ use linkerd_trace_context::{ export::{ExportSpan, SpanKind, SpanLabels}, Span, TraceContext, }; -use std::{str::FromStr, sync::Arc}; +use std::sync::Arc; use tokio::sync::mpsc; -#[derive(Debug, Copy, Clone, Default)] -pub enum CollectorProtocol { - #[default] - OpenTelemetry, -} - -impl FromStr for CollectorProtocol { - type Err = (); - - fn from_str(s: &str) -> Result { - if s.eq_ignore_ascii_case("opentelemetry") { - Ok(Self::OpenTelemetry) - } else { - Err(()) - } - } -} - pub type SpanSink = mpsc::Sender; pub fn server( diff --git a/linkerd/app/src/env.rs b/linkerd/app/src/env.rs index 3d8beec813..5270760008 100644 --- a/linkerd/app/src/env.rs +++ b/linkerd/app/src/env.rs @@ -3,7 +3,6 @@ use linkerd_app_core::{ addr, config::*, control::{Config as ControlConfig, ControlAddr}, - http_tracing::CollectorProtocol, proxy::http::{h1, h2}, tls, transport::{DualListenAddr, Keepalive, ListenAddr, UserTimeout}, @@ -155,7 +154,6 @@ const ENV_INBOUND_METRICS_AUTHORITY_LABELS: &str = "LINKERD2_PROXY_INBOUND_METRICS_AUTHORITY_LABELS"; const ENV_TRACE_ATTRIBUTES_PATH: &str = "LINKERD2_PROXY_TRACE_ATTRIBUTES_PATH"; -const ENV_TRACE_PROTOCOL: &str = "LINKERD2_PROXY_TRACE_PROTOCOL"; const ENV_TRACE_SERVICE_NAME: &str = "LINKERD2_PROXY_TRACE_SERVICE_NAME"; const ENV_TRACE_EXTRA_ATTRIBUTES: &str = "LINKERD2_PROXY_TRACE_EXTRA_ATTRIBUTES"; // This doesn't have the LINKERD2_ prefix because it is a conventional env var from OpenTelemetry: @@ -445,7 +443,6 @@ pub fn parse_config(strings: &S) -> Result let trace_attributes_file_path = strings.get(ENV_TRACE_ATTRIBUTES_PATH); let trace_extra_attributes = strings.get(ENV_TRACE_EXTRA_ATTRIBUTES); let trace_otel_attributes = strings.get(ENV_OTEL_TRACE_ATTRIBUTES); - let trace_protocol = strings.get(ENV_TRACE_PROTOCOL); let trace_service_name = strings.get(ENV_TRACE_SERVICE_NAME); let trace_collector_addr = parse_control_addr(strings, ENV_TRACE_COLLECTOR_SVC_BASE); @@ -873,12 +870,6 @@ pub fn parse_config(strings: &S) -> Result } } - let trace_protocol = trace_protocol - .map(|proto| proto.and_then(|p| p.parse::().ok())) - .ok() - .flatten() - .unwrap_or_default(); - let trace_service_name = trace_service_name.ok().flatten(); trace_collector::Config::Enabled(Box::new(trace_collector::EnabledConfig { @@ -893,7 +884,6 @@ pub fn parse_config(strings: &S) -> Result failfast_timeout, }, }, - kind: trace_protocol, })) } }; diff --git a/linkerd/app/src/trace_collector.rs b/linkerd/app/src/trace_collector.rs index 61e01d5397..4af0e15dca 100644 --- a/linkerd/app/src/trace_collector.rs +++ b/linkerd/app/src/trace_collector.rs @@ -1,10 +1,6 @@ use linkerd_app_core::{ - control, dns, - http_tracing::{CollectorProtocol, SpanSink}, - identity, - metrics::ControlHttp as HttpMetrics, - opentelemetry, - svc::NewService, + control, dns, http_tracing::SpanSink, identity, metrics::ControlHttp as HttpMetrics, + opentelemetry, svc::NewService, }; use linkerd_error::Error; use otel_collector::OtelCollectorAttributes; @@ -27,7 +23,6 @@ pub struct EnabledConfig { pub attributes: HashMap, pub hostname: Option, pub service_name: Option, - pub kind: CollectorProtocol, } pub type Task = Pin + Send + 'static>>; @@ -39,7 +34,6 @@ pub enum TraceCollector { pub struct EnabledCollector { pub addr: control::ControlAddr, - pub kind: CollectorProtocol, pub span_sink: SpanSink, pub task: Task, } @@ -57,9 +51,7 @@ impl Config { pub fn metrics_prefix(&self) -> Option<&'static str> { match self { Config::Disabled => None, - Config::Enabled(config) => match config.kind { - CollectorProtocol::OpenTelemetry => Some("opentelemetry"), - }, + Config::Enabled(_) => Some("opentelemetry"), } } @@ -83,20 +75,18 @@ impl Config { .service_name .unwrap_or_else(|| SERVICE_NAME.to_string()); - let collector = match inner.kind { - CollectorProtocol::OpenTelemetry => { - let attributes = OtelCollectorAttributes { - hostname: inner.hostname, - service_name: svc_name, - extra: inner.attributes, - }; - otel_collector::create_collector( - addr.clone(), - attributes, - svc, - legacy_otel_metrics, - ) - } + let collector = { + let attributes = OtelCollectorAttributes { + hostname: inner.hostname, + service_name: svc_name, + extra: inner.attributes, + }; + otel_collector::create_collector( + addr.clone(), + attributes, + svc, + legacy_otel_metrics, + ) }; Ok(TraceCollector::Enabled(Box::new(collector))) diff --git a/linkerd/app/src/trace_collector/otel_collector.rs b/linkerd/app/src/trace_collector/otel_collector.rs index c0e05c74dc..d3ffdb39b3 100644 --- a/linkerd/app/src/trace_collector/otel_collector.rs +++ b/linkerd/app/src/trace_collector/otel_collector.rs @@ -1,7 +1,5 @@ use super::EnabledCollector; -use linkerd_app_core::{ - control::ControlAddr, http_tracing::CollectorProtocol, proxy::http::Body, Error, -}; +use linkerd_app_core::{control::ControlAddr, proxy::http::Body, Error}; use linkerd_opentelemetry::{ self as opentelemetry, metrics, proto::{ @@ -82,7 +80,6 @@ where addr, task, span_sink, - kind: CollectorProtocol::OpenTelemetry, } }