Skip to content

Commit af70b73

Browse files
authored
Remove OTLP metrics temporality override (#6535)
1 parent f86f11d commit af70b73

2 files changed

Lines changed: 3 additions & 81 deletions

File tree

quickwit/quickwit-telemetry-exporters/src/otlp/config.rs

Lines changed: 0 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ use std::str::FromStr;
1717
use anyhow::Context;
1818
use opentelemetry::KeyValue;
1919
use opentelemetry_sdk::Resource;
20-
use opentelemetry_sdk::metrics::Temporality;
2120
use quickwit_common::{get_bool_from_env, get_from_env, get_from_env_opt};
2221

2322
pub const QW_ENABLE_OPENTELEMETRY_OTLP_EXPORTER_ENV_KEY: &str =
@@ -27,8 +26,6 @@ const OTEL_EXPORTER_OTLP_PROTOCOL_ENV_KEY: &str = "OTEL_EXPORTER_OTLP_PROTOCOL";
2726
const OTEL_EXPORTER_OTLP_TRACES_PROTOCOL_ENV_KEY: &str = "OTEL_EXPORTER_OTLP_TRACES_PROTOCOL";
2827
const OTEL_EXPORTER_OTLP_LOGS_PROTOCOL_ENV_KEY: &str = "OTEL_EXPORTER_OTLP_LOGS_PROTOCOL";
2928
const OTEL_EXPORTER_OTLP_METRICS_PROTOCOL_ENV_KEY: &str = "OTEL_EXPORTER_OTLP_METRICS_PROTOCOL";
30-
const OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE_ENV_KEY: &str =
31-
"OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE";
3229

3330
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
3431
pub(crate) enum OtlpProtocol {
@@ -91,29 +88,6 @@ impl OtlpExporterConfig {
9188
self.resolve_protocol(OTEL_EXPORTER_OTLP_METRICS_PROTOCOL_ENV_KEY)
9289
}
9390

94-
pub(crate) fn metrics_temporality(&self) -> anyhow::Result<Temporality> {
95-
let temporality = get_from_env_opt::<String>(
96-
OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE_ENV_KEY,
97-
false,
98-
);
99-
temporality
100-
.as_deref()
101-
.map(|temporality_str| {
102-
OtlpMetricsTemporality::from_str(temporality_str).with_context(|| {
103-
format!(
104-
"failed to parse environment variable \
105-
`{OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE_ENV_KEY}`"
106-
)
107-
})
108-
})
109-
.transpose()
110-
.map(|temporality| {
111-
temporality
112-
.map(Temporality::from)
113-
.unwrap_or(Temporality::Cumulative)
114-
})
115-
}
116-
11791
fn resolve_protocol(&self, exporter_protocol_env_key: &str) -> anyhow::Result<OtlpProtocol> {
11892
let exporter_protocol = get_from_env_opt::<String>(exporter_protocol_env_key, false);
11993
let (protocol, env_key) = if let Some(protocol) = exporter_protocol {
@@ -130,34 +104,6 @@ impl OtlpExporterConfig {
130104
}
131105
}
132106

133-
struct OtlpMetricsTemporality(Temporality);
134-
135-
impl FromStr for OtlpMetricsTemporality {
136-
type Err = anyhow::Error;
137-
138-
fn from_str(temporality_str: &str) -> anyhow::Result<Self> {
139-
const TEMPORALITY_DELTA: &str = "delta";
140-
const TEMPORALITY_LOWMEMORY: &str = "lowmemory";
141-
const TEMPORALITY_CUMULATIVE: &str = "cumulative";
142-
143-
match temporality_str {
144-
TEMPORALITY_DELTA => Ok(Self(Temporality::Delta)),
145-
TEMPORALITY_LOWMEMORY => Ok(Self(Temporality::LowMemory)),
146-
TEMPORALITY_CUMULATIVE => Ok(Self(Temporality::Cumulative)),
147-
other => anyhow::bail!(
148-
"unsupported OTLP metrics temporality `{other}`, supported values are \
149-
`{TEMPORALITY_DELTA}`, `{TEMPORALITY_LOWMEMORY}` and `{TEMPORALITY_CUMULATIVE}`"
150-
),
151-
}
152-
}
153-
}
154-
155-
impl From<OtlpMetricsTemporality> for Temporality {
156-
fn from(temporality: OtlpMetricsTemporality) -> Self {
157-
temporality.0
158-
}
159-
}
160-
161107
pub(crate) fn quickwit_resource(service_version: &str) -> Resource {
162108
Resource::builder()
163109
.with_service_name("quickwit")
@@ -285,21 +231,4 @@ mod tests {
285231
assert!(error.contains(OTEL_EXPORTER_OTLP_PROTOCOL_ENV_KEY));
286232
assert!(error.contains("unsupported OTLP protocol `http/xml`"));
287233
}
288-
289-
#[test]
290-
fn test_otlp_metrics_temporality_from_str() {
291-
assert_eq!(
292-
Temporality::from(OtlpMetricsTemporality::from_str("delta").unwrap()),
293-
Temporality::Delta
294-
);
295-
assert_eq!(
296-
Temporality::from(OtlpMetricsTemporality::from_str("lowmemory").unwrap()),
297-
Temporality::LowMemory
298-
);
299-
assert_eq!(
300-
Temporality::from(OtlpMetricsTemporality::from_str("cumulative").unwrap()),
301-
Temporality::Cumulative
302-
);
303-
assert!(OtlpMetricsTemporality::from_str("invalid").is_err());
304-
}
305234
}

quickwit/quickwit-telemetry-exporters/src/otlp/metrics.rs

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -18,31 +18,25 @@ use opentelemetry::metrics::MeterProvider;
1818
use opentelemetry_otlp::{
1919
MetricExporter, Protocol as OtlpWireProtocol, WithExportConfig, WithHttpConfig, WithTonicConfig,
2020
};
21-
use opentelemetry_sdk::metrics::{SdkMeterProvider, Temporality};
21+
use opentelemetry_sdk::metrics::SdkMeterProvider;
2222

2323
use crate::otlp::{OtlpExporterConfig, OtlpProtocol, quickwit_resource};
2424

2525
impl OtlpProtocol {
26-
pub(crate) fn metric_exporter(
27-
&self,
28-
temporality: Temporality,
29-
) -> anyhow::Result<MetricExporter> {
26+
pub(crate) fn metric_exporter(&self) -> anyhow::Result<MetricExporter> {
3027
match self {
3128
OtlpProtocol::Grpc => MetricExporter::builder()
3229
.with_tonic()
3330
.with_retry_policy(super::RETRY_POLICY)
34-
.with_temporality(temporality)
3531
.build(),
3632
OtlpProtocol::HttpProtobuf => MetricExporter::builder()
3733
.with_http()
3834
.with_retry_policy(super::RETRY_POLICY)
39-
.with_temporality(temporality)
4035
.with_protocol(OtlpWireProtocol::HttpBinary)
4136
.build(),
4237
OtlpProtocol::HttpJson => MetricExporter::builder()
4338
.with_http()
4439
.with_retry_policy(super::RETRY_POLICY)
45-
.with_temporality(temporality)
4640
.with_protocol(OtlpWireProtocol::HttpJson)
4741
.build(),
4842
}
@@ -55,8 +49,7 @@ pub(crate) fn build_recorder(
5549
otlp_config: &OtlpExporterConfig,
5650
) -> anyhow::Result<(OpenTelemetryRecorder, SdkMeterProvider)> {
5751
let metrics_protocol = otlp_config.metrics_protocol()?;
58-
let temporality = otlp_config.metrics_temporality()?;
59-
let metric_exporter = metrics_protocol.metric_exporter(temporality)?;
52+
let metric_exporter = metrics_protocol.metric_exporter()?;
6053
let metrics_provider = SdkMeterProvider::builder()
6154
.with_resource(quickwit_resource(service_version))
6255
.with_periodic_exporter(metric_exporter)

0 commit comments

Comments
 (0)