File tree 2 files changed +5
-1
lines changed
examples/opentelemetry-tracing/src
lambda-runtime/src/layers
2 files changed +5
-1
lines changed Original file line number Diff line number Diff line change 1
1
use lambda_runtime:: {
2
2
layers:: { OpenTelemetryFaasTrigger , OpenTelemetryLayer as OtelLayer } ,
3
+ tracing:: Span ,
3
4
LambdaEvent , Runtime ,
4
5
} ;
5
6
use opentelemetry:: trace:: TracerProvider ;
@@ -8,6 +9,8 @@ use tower::{service_fn, BoxError};
8
9
use tracing_subscriber:: prelude:: * ;
9
10
10
11
async fn echo ( event : LambdaEvent < serde_json:: Value > ) -> Result < serde_json:: Value , & ' static str > {
12
+ let span = Span :: current ( ) ;
13
+ span. record ( "otel.kind" , "SERVER" ) ;
11
14
Ok ( event. payload )
12
15
}
13
16
Original file line number Diff line number Diff line change @@ -4,7 +4,7 @@ use crate::LambdaInvocation;
4
4
use opentelemetry_semantic_conventions:: trace as traceconv;
5
5
use pin_project:: pin_project;
6
6
use tower:: { Layer , Service } ;
7
- use tracing:: { instrument:: Instrumented , Instrument } ;
7
+ use tracing:: { field , instrument:: Instrumented , Instrument } ;
8
8
9
9
/// Tower layer to add OpenTelemetry tracing to a Lambda function invocation. The layer accepts
10
10
/// a function to flush OpenTelemetry after the end of the invocation.
75
75
let span = tracing:: info_span!(
76
76
"Lambda function invocation" ,
77
77
"otel.name" = req. context. env_config. function_name,
78
+ "otel.kind" = field:: Empty ,
78
79
{ traceconv:: FAAS_TRIGGER } = & self . otel_attribute_trigger,
79
80
{ traceconv:: FAAS_INVOCATION_ID } = req. context. request_id,
80
81
{ traceconv:: FAAS_COLDSTART } = self . coldstart
You can’t perform that action at this time.
0 commit comments