@@ -4,16 +4,30 @@ import { flatten } from "flat";
44
55import { BaselimeSDK , BetterHttpInstrumentation } from "@baselime/node-opentelemetry" ;
66
7+ const blockedRequestOperations = [
8+ { service : 'S3' , operation : 'PutObject' } ,
9+ { service : 'Kinesis' , operation : 'PutRecord' }
10+ ]
11+
12+ const blockedResponseOperations = [
13+ { service : 'S3' , operation : 'GetObject' } ,
14+ ]
15+
716const instrumentations = [
817 new AwsInstrumentation ( {
918 suppressInternalInstrumentation : process . env . AWS_SDK_INTERNALS === 'true' ? false : true ,
10- responseHook : ( span , { response } ) => {
11- if ( response ) {
12- const awsApiReqData = {
13- request : response . request ,
19+ responseHook ( span , { response } ) {
20+ if ( response && ! blockedResponseOperations . some ( ( { service, operation } ) => response . request . serviceName === service && response . request . commandName === operation ) ) {
21+ span . setAttributes ( flatten ( {
1422 response : response . data ,
15- } ;
16- span . setAttributes ( flatten ( awsApiReqData ) ) ;
23+ } ) )
24+ }
25+ } ,
26+ preRequestHook ( span , request ) {
27+ if ( ! blockedRequestOperations . some ( ( { service, operation } ) => request . request . serviceName === service && request . request . commandName === operation ) ) {
28+ span . setAttributes ( flatten ( {
29+ request : request . request ,
30+ } ) )
1731 }
1832 }
1933 } ) ,
@@ -23,4 +37,4 @@ const instrumentations = [
2337 } )
2438]
2539
26- new BaselimeSDK ( { instrumentations } ) . start ( ) ;
40+ new BaselimeSDK ( { instrumentations, service : process . env . AWS_LAMBDA_FUNCTION_NAME } ) . start ( ) ;
0 commit comments