Skip to content

Commit e29268d

Browse files
committed
telemetry: Nicen layer return types
Signed-off-by: Lann Martin <[email protected]>
1 parent b73c2a0 commit e29268d

File tree

2 files changed

+10
-24
lines changed

2 files changed

+10
-24
lines changed

crates/telemetry/src/metrics.rs

Lines changed: 6 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,9 @@ use opentelemetry_sdk::{
1010
resource::{EnvResourceDetector, TelemetryResourceDetector},
1111
runtime, Resource,
1212
};
13-
use tracing_opentelemetry::{MetricsLayer, OpenTelemetryLayer};
14-
use tracing_subscriber::{filter::Filtered, layer::Layered, EnvFilter, Registry};
13+
use tracing::Subscriber;
14+
use tracing_opentelemetry::MetricsLayer;
15+
use tracing_subscriber::{registry::LookupSpan, Layer};
1516

1617
use crate::{detector::SpinResourceDetector, env::OtlpProtocol};
1718

@@ -20,7 +21,9 @@ use crate::{detector::SpinResourceDetector, env::OtlpProtocol};
2021
/// It pulls OTEL configuration from the environment based on the variables defined
2122
/// [here](https://opentelemetry.io/docs/specs/otel/protocol/exporter/) and
2223
/// [here](https://opentelemetry.io/docs/specs/otel/configuration/sdk-environment-variables/#general-sdk-configuration).
23-
pub(crate) fn otel_metrics_layer(spin_version: String) -> Result<CustomMetricsLayer> {
24+
pub(crate) fn otel_metrics_layer<S: Subscriber + for<'span> LookupSpan<'span>>(
25+
spin_version: String,
26+
) -> Result<impl Layer<S>> {
2427
let resource = Resource::from_detectors(
2528
Duration::from_secs(5),
2629
vec![
@@ -105,17 +108,3 @@ macro_rules! monotonic_counter {
105108
pub use counter;
106109
pub use histogram;
107110
pub use monotonic_counter;
108-
109-
/// This really large type alias is require to make the registry.with() pattern happy.
110-
type CustomMetricsLayer = MetricsLayer<
111-
Layered<
112-
Option<
113-
Filtered<
114-
OpenTelemetryLayer<Registry, opentelemetry_sdk::trace::Tracer>,
115-
EnvFilter,
116-
Registry,
117-
>,
118-
>,
119-
Registry,
120-
>,
121-
>;

crates/telemetry/src/traces.rs

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,10 @@ use anyhow::bail;
44
use opentelemetry_otlp::SpanExporterBuilder;
55
use opentelemetry_sdk::{
66
resource::{EnvResourceDetector, TelemetryResourceDetector},
7-
trace::Tracer,
87
Resource,
98
};
10-
use tracing_opentelemetry::OpenTelemetryLayer;
11-
use tracing_subscriber::{EnvFilter, Layer, Registry};
9+
use tracing::Subscriber;
10+
use tracing_subscriber::{registry::LookupSpan, EnvFilter, Layer};
1211

1312
use crate::detector::SpinResourceDetector;
1413
use crate::env::OtlpProtocol;
@@ -18,11 +17,9 @@ use crate::env::OtlpProtocol;
1817
/// It pulls OTEL configuration from the environment based on the variables defined
1918
/// [here](https://opentelemetry.io/docs/specs/otel/protocol/exporter/) and
2019
/// [here](https://opentelemetry.io/docs/specs/otel/configuration/sdk-environment-variables/#general-sdk-configuration).
21-
pub(crate) fn otel_tracing_layer(
20+
pub(crate) fn otel_tracing_layer<S: Subscriber + for<'span> LookupSpan<'span>>(
2221
spin_version: String,
23-
) -> anyhow::Result<
24-
tracing_subscriber::filter::Filtered<OpenTelemetryLayer<Registry, Tracer>, EnvFilter, Registry>,
25-
> {
22+
) -> anyhow::Result<impl Layer<S>> {
2623
let resource = Resource::from_detectors(
2724
Duration::from_secs(5),
2825
vec![

0 commit comments

Comments
 (0)