Skip to content

Commit 7322dd4

Browse files
committed
Fix traces and metrics not working. Fix slow tests. Rename variable
Signed-off-by: Caleb Schoepp <[email protected]>
1 parent 810d05f commit 7322dd4

File tree

4 files changed

+17
-12
lines changed

4 files changed

+17
-12
lines changed

crates/factor-observe/src/lib.rs

+2-2
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

+3
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

+3-1
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

+9-9
Original file line numberDiff line numberDiff line change
@@ -1430,7 +1430,7 @@ mod otel_integration_tests {
14301430
},
14311431
ServicesConfig::none(),
14321432
|env| {
1433-
env.set_env_var("OTEL_EXPORTER_OTLP_ENDPOINT", collector_endpoint);
1433+
env.set_env_var("OTEL_EXPORTER_OTLP_TRACES_ENDPOINT", collector_endpoint);
14341434
env.set_env_var("OTEL_EXPORTER_OTLP_TRACES_PROTOCOL", "grpc");
14351435
env.set_env_var("OTEL_BSP_SCHEDULE_DELAY", "5");
14361436
Ok(())
@@ -1473,7 +1473,7 @@ mod otel_integration_tests {
14731473
},
14741474
ServicesConfig::none(),
14751475
|env| {
1476-
env.set_env_var("OTEL_EXPORTER_OTLP_ENDPOINT", collector_endpoint);
1476+
env.set_env_var("OTEL_EXPORTER_OTLP_TRACES_ENDPOINT", collector_endpoint);
14771477
env.set_env_var("OTEL_EXPORTER_OTLP_TRACES_PROTOCOL", "grpc");
14781478
env.set_env_var("OTEL_BSP_SCHEDULE_DELAY", "5");
14791479
Ok(())
@@ -1543,7 +1543,7 @@ mod otel_integration_tests {
15431543
},
15441544
ServicesConfig::none(),
15451545
|env| {
1546-
env.set_env_var("OTEL_EXPORTER_OTLP_ENDPOINT", collector_endpoint);
1546+
env.set_env_var("OTEL_EXPORTER_OTLP_TRACES_ENDPOINT", collector_endpoint);
15471547
env.set_env_var("OTEL_EXPORTER_OTLP_TRACES_PROTOCOL", "grpc");
15481548
env.set_env_var("OTEL_BSP_SCHEDULE_DELAY", "5");
15491549
Ok(())
@@ -1608,7 +1608,7 @@ mod otel_integration_tests {
16081608
},
16091609
ServicesConfig::none(),
16101610
|env| {
1611-
env.set_env_var("OTEL_EXPORTER_OTLP_ENDPOINT", collector_endpoint);
1611+
env.set_env_var("OTEL_EXPORTER_OTLP_TRACES_ENDPOINT", collector_endpoint);
16121612
env.set_env_var("OTEL_EXPORTER_OTLP_TRACES_PROTOCOL", "grpc");
16131613
env.set_env_var("OTEL_BSP_SCHEDULE_DELAY", "5");
16141614
Ok(())
@@ -1669,7 +1669,7 @@ mod otel_integration_tests {
16691669
},
16701670
ServicesConfig::none(),
16711671
|env| {
1672-
env.set_env_var("OTEL_EXPORTER_OTLP_ENDPOINT", collector_endpoint);
1672+
env.set_env_var("OTEL_EXPORTER_OTLP_TRACES_ENDPOINT", collector_endpoint);
16731673
env.set_env_var("OTEL_EXPORTER_OTLP_TRACES_PROTOCOL", "grpc");
16741674
env.set_env_var("OTEL_BSP_SCHEDULE_DELAY", "5");
16751675
Ok(())
@@ -1731,7 +1731,7 @@ mod otel_integration_tests {
17311731
},
17321732
ServicesConfig::none(),
17331733
|env| {
1734-
env.set_env_var("OTEL_EXPORTER_OTLP_ENDPOINT", collector_endpoint);
1734+
env.set_env_var("OTEL_EXPORTER_OTLP_TRACES_ENDPOINT", collector_endpoint);
17351735
env.set_env_var("OTEL_EXPORTER_OTLP_TRACES_PROTOCOL", "grpc");
17361736
env.set_env_var("OTEL_BSP_SCHEDULE_DELAY", "5");
17371737
Ok(())
@@ -1797,7 +1797,7 @@ mod otel_integration_tests {
17971797
},
17981798
ServicesConfig::none(),
17991799
|env| {
1800-
env.set_env_var("OTEL_EXPORTER_OTLP_ENDPOINT", collector_endpoint);
1800+
env.set_env_var("OTEL_EXPORTER_OTLP_TRACES_ENDPOINT", collector_endpoint);
18011801
env.set_env_var("OTEL_EXPORTER_OTLP_TRACES_PROTOCOL", "grpc");
18021802
env.set_env_var("OTEL_BSP_SCHEDULE_DELAY", "5");
18031803
Ok(())
@@ -1855,7 +1855,7 @@ mod otel_integration_tests {
18551855
},
18561856
ServicesConfig::none(),
18571857
|env| {
1858-
env.set_env_var("OTEL_EXPORTER_OTLP_ENDPOINT", collector_endpoint);
1858+
env.set_env_var("OTEL_EXPORTER_OTLP_TRACES_ENDPOINT", collector_endpoint);
18591859
env.set_env_var("OTEL_EXPORTER_OTLP_TRACES_PROTOCOL", "grpc");
18601860
env.set_env_var("OTEL_BSP_SCHEDULE_DELAY", "5");
18611861
Ok(())
@@ -1912,7 +1912,7 @@ mod otel_integration_tests {
19121912
},
19131913
ServicesConfig::none(),
19141914
|env| {
1915-
env.set_env_var("OTEL_EXPORTER_OTLP_ENDPOINT", collector_endpoint);
1915+
env.set_env_var("OTEL_EXPORTER_OTLP_TRACES_ENDPOINT", collector_endpoint);
19161916
env.set_env_var("OTEL_EXPORTER_OTLP_TRACES_PROTOCOL", "grpc");
19171917
env.set_env_var("OTEL_BSP_SCHEDULE_DELAY", "5");
19181918
Ok(())

0 commit comments

Comments
 (0)