Skip to content

Commit 50262c0

Browse files
committed
Fix traces and metrics not working. Fix slow tests. Rename variable
Signed-off-by: Caleb Schoepp <caleb.schoepp@fermyon.com>
1 parent 5fea155 commit 50262c0

File tree

4 files changed

+17
-12
lines changed

4 files changed

+17
-12
lines changed

crates/factor-observe/src/lib.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ impl ObserveContext {
146146
};
147147

148148
// If there are no active guest spans then there is nothing to do
149-
let Some(current_span_id) = state.active_spans.last() else {
149+
let Some(active_span) = state.active_spans.last() else {
150150
return;
151151
};
152152

@@ -166,7 +166,7 @@ impl ObserveContext {
166166
// Now reparent the current span to the last active guest span
167167
let span_context = state
168168
.guest_spans
169-
.get(*current_span_id)
169+
.get(*active_span)
170170
.unwrap()
171171
.inner
172172
.span_context()

crates/telemetry/src/metrics.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
use std::time::Duration;
22

33
use anyhow::{bail, Result};
4+
use opentelemetry::global;
45
use opentelemetry_otlp::MetricsExporterBuilder;
56
use opentelemetry_sdk::{
67
metrics::{
@@ -57,6 +58,8 @@ pub(crate) fn otel_metrics_layer<S: Subscriber + for<'span> LookupSpan<'span>>(
5758
.with_resource(resource)
5859
.build();
5960

61+
global::set_meter_provider(meter_provider.clone());
62+
6063
Ok(MetricsLayer::new(meter_provider))
6164
}
6265

crates/telemetry/src/traces.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use std::time::Duration;
22

33
use anyhow::bail;
4-
use opentelemetry::trace::TracerProvider;
4+
use opentelemetry::{global, trace::TracerProvider};
55
use opentelemetry_otlp::SpanExporterBuilder;
66
use opentelemetry_sdk::{
77
resource::{EnvResourceDetector, TelemetryResourceDetector},
@@ -50,6 +50,8 @@ pub(crate) fn otel_tracing_layer<S: Subscriber + for<'span> LookupSpan<'span>>(
5050
.with_trace_config(opentelemetry_sdk::trace::Config::default().with_resource(resource))
5151
.install_batch(opentelemetry_sdk::runtime::Tokio)?;
5252

53+
global::set_tracer_provider(tracer_provider.clone());
54+
5355
let env_filter = match EnvFilter::try_from_env("SPIN_OTEL_TRACING_LEVEL") {
5456
Ok(filter) => filter,
5557
// If it isn't set or it fails to parse default to info

tests/integration.rs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1425,7 +1425,7 @@ mod otel_integration_tests {
14251425
},
14261426
ServicesConfig::none(),
14271427
|env| {
1428-
env.set_env_var("OTEL_EXPORTER_OTLP_ENDPOINT", collector_endpoint);
1428+
env.set_env_var("OTEL_EXPORTER_OTLP_TRACES_ENDPOINT", collector_endpoint);
14291429
env.set_env_var("OTEL_EXPORTER_OTLP_TRACES_PROTOCOL", "grpc");
14301430
env.set_env_var("OTEL_BSP_SCHEDULE_DELAY", "5");
14311431
Ok(())
@@ -1468,7 +1468,7 @@ mod otel_integration_tests {
14681468
},
14691469
ServicesConfig::none(),
14701470
|env| {
1471-
env.set_env_var("OTEL_EXPORTER_OTLP_ENDPOINT", collector_endpoint);
1471+
env.set_env_var("OTEL_EXPORTER_OTLP_TRACES_ENDPOINT", collector_endpoint);
14721472
env.set_env_var("OTEL_EXPORTER_OTLP_TRACES_PROTOCOL", "grpc");
14731473
env.set_env_var("OTEL_BSP_SCHEDULE_DELAY", "5");
14741474
Ok(())
@@ -1538,7 +1538,7 @@ mod otel_integration_tests {
15381538
},
15391539
ServicesConfig::none(),
15401540
|env| {
1541-
env.set_env_var("OTEL_EXPORTER_OTLP_ENDPOINT", collector_endpoint);
1541+
env.set_env_var("OTEL_EXPORTER_OTLP_TRACES_ENDPOINT", collector_endpoint);
15421542
env.set_env_var("OTEL_EXPORTER_OTLP_TRACES_PROTOCOL", "grpc");
15431543
env.set_env_var("OTEL_BSP_SCHEDULE_DELAY", "5");
15441544
Ok(())
@@ -1603,7 +1603,7 @@ mod otel_integration_tests {
16031603
},
16041604
ServicesConfig::none(),
16051605
|env| {
1606-
env.set_env_var("OTEL_EXPORTER_OTLP_ENDPOINT", collector_endpoint);
1606+
env.set_env_var("OTEL_EXPORTER_OTLP_TRACES_ENDPOINT", collector_endpoint);
16071607
env.set_env_var("OTEL_EXPORTER_OTLP_TRACES_PROTOCOL", "grpc");
16081608
env.set_env_var("OTEL_BSP_SCHEDULE_DELAY", "5");
16091609
Ok(())
@@ -1664,7 +1664,7 @@ mod otel_integration_tests {
16641664
},
16651665
ServicesConfig::none(),
16661666
|env| {
1667-
env.set_env_var("OTEL_EXPORTER_OTLP_ENDPOINT", collector_endpoint);
1667+
env.set_env_var("OTEL_EXPORTER_OTLP_TRACES_ENDPOINT", collector_endpoint);
16681668
env.set_env_var("OTEL_EXPORTER_OTLP_TRACES_PROTOCOL", "grpc");
16691669
env.set_env_var("OTEL_BSP_SCHEDULE_DELAY", "5");
16701670
Ok(())
@@ -1726,7 +1726,7 @@ mod otel_integration_tests {
17261726
},
17271727
ServicesConfig::none(),
17281728
|env| {
1729-
env.set_env_var("OTEL_EXPORTER_OTLP_ENDPOINT", collector_endpoint);
1729+
env.set_env_var("OTEL_EXPORTER_OTLP_TRACES_ENDPOINT", collector_endpoint);
17301730
env.set_env_var("OTEL_EXPORTER_OTLP_TRACES_PROTOCOL", "grpc");
17311731
env.set_env_var("OTEL_BSP_SCHEDULE_DELAY", "5");
17321732
Ok(())
@@ -1792,7 +1792,7 @@ mod otel_integration_tests {
17921792
},
17931793
ServicesConfig::none(),
17941794
|env| {
1795-
env.set_env_var("OTEL_EXPORTER_OTLP_ENDPOINT", collector_endpoint);
1795+
env.set_env_var("OTEL_EXPORTER_OTLP_TRACES_ENDPOINT", collector_endpoint);
17961796
env.set_env_var("OTEL_EXPORTER_OTLP_TRACES_PROTOCOL", "grpc");
17971797
env.set_env_var("OTEL_BSP_SCHEDULE_DELAY", "5");
17981798
Ok(())
@@ -1850,7 +1850,7 @@ mod otel_integration_tests {
18501850
},
18511851
ServicesConfig::none(),
18521852
|env| {
1853-
env.set_env_var("OTEL_EXPORTER_OTLP_ENDPOINT", collector_endpoint);
1853+
env.set_env_var("OTEL_EXPORTER_OTLP_TRACES_ENDPOINT", collector_endpoint);
18541854
env.set_env_var("OTEL_EXPORTER_OTLP_TRACES_PROTOCOL", "grpc");
18551855
env.set_env_var("OTEL_BSP_SCHEDULE_DELAY", "5");
18561856
Ok(())
@@ -1907,7 +1907,7 @@ mod otel_integration_tests {
19071907
},
19081908
ServicesConfig::none(),
19091909
|env| {
1910-
env.set_env_var("OTEL_EXPORTER_OTLP_ENDPOINT", collector_endpoint);
1910+
env.set_env_var("OTEL_EXPORTER_OTLP_TRACES_ENDPOINT", collector_endpoint);
19111911
env.set_env_var("OTEL_EXPORTER_OTLP_TRACES_PROTOCOL", "grpc");
19121912
env.set_env_var("OTEL_BSP_SCHEDULE_DELAY", "5");
19131913
Ok(())

0 commit comments

Comments
 (0)