-
Notifications
You must be signed in to change notification settings - Fork 580
Open
Labels
documentation/examplesImprovements or additions to documentation or examplesImprovements or additions to documentation or examples
Description
What happened?
The following code worked with opentelemetry/opentelemetry_sdk 0.23.0 and opentelemetry-otlp 0.16.0
I have the following environment variables set
OTEL_EXPORTER_OTLP_ENDPOINT=https://my-backend
OTEL_EXPORTER_OTLP_HEADERS=key-required-by-my-backend=value
Cargo.toml
[package]
name = "otlp_test"
version = "0.1.0"
edition = "2021"
[dependencies]
opentelemetry = "0.23.0"
opentelemetry-otlp = { version = "0.16.0", features = ["tls", "tls-roots"] }
opentelemetry_sdk = { version = "0.23.0", features = ["rt-tokio-current-thread"] }
tokio = { version = "1.39.2", features = ["rt-multi-thread"] }
main.rs
use opentelemetry::{global::{self, ObjectSafeSpan}, trace::{Tracer, TracerProvider}, KeyValue};
use opentelemetry_sdk::{propagation::TraceContextPropagator, runtime, trace, Resource};
#[tokio::main]
async fn main() {
global::set_text_map_propagator(TraceContextPropagator::new());
let resource = Resource::new(vec![KeyValue::new(
"service.name",
"MyService"
)]);
let exporter = opentelemetry_otlp::new_exporter().tonic();
let _tracer = opentelemetry_otlp::new_pipeline()
.tracing()
.with_exporter(exporter)
.with_trace_config(trace::Config::default().with_resource(resource))
.install_batch(runtime::TokioCurrentThread)
.expect("failed to initialize trace pipeline");
let tracer = global::tracer_provider().tracer("MyTracer");
let mut span = tracer.start("MySpan");
span.end();
global::shutdown_tracer_provider();
}
Then I upgraded to opentelemetry 0.24.0/opentelemetry_sdk 0.24.1/opentelemetry-otlp 0.17.0
Cargo.toml
[package]
name = "otlp_test"
version = "0.1.0"
edition = "2021"
[dependencies]
opentelemetry = "0.24.0"
opentelemetry-otlp = { version = "0.17.0", features = ["tls", "tls-roots"] }
opentelemetry_sdk = { version = "0.24.1", features = ["rt-tokio-current-thread"] }
tokio = { version = "1.39.2", features = ["rt-multi-thread"] }
main.rs
use opentelemetry::{global::{self, ObjectSafeSpan}, trace::{Tracer, TracerProvider}, KeyValue};
use opentelemetry_sdk::{propagation::TraceContextPropagator, runtime, trace, Resource};
#[tokio::main]
async fn main() {
global::set_text_map_propagator(TraceContextPropagator::new());
let resource = Resource::new(vec![KeyValue::new(
"service.name",
"MyService"
)]);
let exporter = opentelemetry_otlp::new_exporter().tonic();
let tracer_provider = opentelemetry_otlp::new_pipeline()
.tracing()
.with_exporter(exporter)
.with_trace_config(trace::Config::default().with_resource(resource))
.install_batch(runtime::TokioCurrentThread)
.expect("failed to initialize trace pipeline");
global::set_tracer_provider(tracer_provider);
let tracer = global::tracer_provider().tracer("MyTracer");
let mut span = tracer.start("MySpan");
span.end();
global::shutdown_tracer_provider();
}
I receive the following error
OpenTelemetry trace error occurred. Exporter otlp encountered the following error(s): the grpc server returns error (The service is currently unavailable): , detailed error message: Connecting to HTTPS without TLS enabled
I also tried
let exporter = opentelemetry_otlp::new_exporter().tonic().with_tls_config(tonic::transport::ClientTlsConfig::new());
But this produces a different error as it does not seem to load the system's root certs
OpenTelemetry trace error occurred. Exporter otlp encountered the following error(s): the grpc server returns error (The service is currently unavailable): , detailed error message: invalid peer certificate: UnknownIssuer
API Version
0.24.0
SDK Version
0.24.1
What Exporter(s) are you seeing the problem on?
OTLP
Relevant log output
OpenTelemetry trace error occurred. Exporter otlp encountered the following error(s): the grpc server returns error (The service is currently unavailable): , detailed error message: Connecting to HTTPS without TLS enabled
philipcristiano and lecanard539
Metadata
Metadata
Assignees
Labels
documentation/examplesImprovements or additions to documentation or examplesImprovements or additions to documentation or examples