@@ -4,7 +4,7 @@ use lambda_runtime::{
44 LambdaEvent , Runtime ,
55} ;
66use opentelemetry:: trace:: TracerProvider ;
7- use opentelemetry_sdk:: { runtime , trace} ;
7+ use opentelemetry_sdk:: trace;
88use tower:: { service_fn, BoxError } ;
99use tracing_subscriber:: prelude:: * ;
1010
@@ -18,8 +18,8 @@ async fn echo(event: LambdaEvent<serde_json::Value>) -> Result<serde_json::Value
1818async fn main ( ) -> Result < ( ) , BoxError > {
1919 // Set up OpenTelemetry tracer provider that writes spans to stdout for debugging purposes
2020 let exporter = opentelemetry_stdout:: SpanExporter :: default ( ) ;
21- let tracer_provider = trace:: TracerProvider :: builder ( )
22- . with_batch_exporter ( exporter, runtime :: Tokio )
21+ let tracer_provider = trace:: SdkTracerProvider :: builder ( )
22+ . with_batch_exporter ( exporter)
2323 . build ( ) ;
2424
2525 // Set up link between OpenTelemetry and tracing crate
@@ -34,7 +34,9 @@ async fn main() -> Result<(), BoxError> {
3434 // Create a tracing span for each Lambda invocation
3535 OtelLayer :: new ( || {
3636 // Make sure that the trace is exported before the Lambda runtime is frozen
37- tracer_provider. force_flush ( ) ;
37+ if let Err ( err) = tracer_provider. force_flush ( ) {
38+ eprintln ! ( "Error flushing traces: {err:#?}" ) ;
39+ }
3840 } )
3941 // Set the "faas.trigger" attribute of the span to "pubsub"
4042 . with_trigger ( OpenTelemetryFaasTrigger :: PubSub ) ,
0 commit comments