@@ -27,6 +27,7 @@ import {
2727import  {  logger  }  from  "~/services/logger.server" ; 
2828import  {  trace ,  Tracer  }  from  "@opentelemetry/api" ; 
2929import  {  startSpan  }  from  "./tracing.server" ; 
30+ import  {  enrichCreatableEvents  }  from  "./utils/enrichCreatableEvents.server" ; 
3031
3132export  type  OTLPExporterConfig  =  { 
3233  batchSize : number ; 
@@ -54,14 +55,16 @@ class OTLPExporter {
5455        return  convertSpansToCreateableEvents ( resourceSpan ) ; 
5556      } ) ; 
5657
57-       this . #logEventsVerbose ( events ) ; 
58+       const   enrichedEvents   =   enrichCreatableEvents ( events ) ; 
5859
59-       span . setAttribute ( "event_count" ,  events . length ) ; 
60+       this . #logEventsVerbose( enrichedEvents ) ; 
61+ 
62+       span . setAttribute ( "event_count" ,  enrichedEvents . length ) ; 
6063
6164      if  ( immediate )  { 
62-         await  this . _eventRepository . insertManyImmediate ( events ) ; 
65+         await  this . _eventRepository . insertManyImmediate ( enrichedEvents ) ; 
6366      }  else  { 
64-         await  this . _eventRepository . insertMany ( events ) ; 
67+         await  this . _eventRepository . insertMany ( enrichedEvents ) ; 
6568      } 
6669
6770      return  ExportTraceServiceResponse . create ( ) ; 
@@ -79,14 +82,16 @@ class OTLPExporter {
7982        return  convertLogsToCreateableEvents ( resourceLog ) ; 
8083      } ) ; 
8184
82-       this . #logEventsVerbose( events ) ; 
85+       const  enrichedEvents  =  enrichCreatableEvents ( events ) ; 
86+ 
87+       this . #logEventsVerbose( enrichedEvents ) ; 
8388
84-       span . setAttribute ( "event_count" ,  events . length ) ; 
89+       span . setAttribute ( "event_count" ,  enrichedEvents . length ) ; 
8590
8691      if  ( immediate )  { 
87-         await  this . _eventRepository . insertManyImmediate ( events ) ; 
92+         await  this . _eventRepository . insertManyImmediate ( enrichedEvents ) ; 
8893      }  else  { 
89-         await  this . _eventRepository . insertMany ( events ) ; 
94+         await  this . _eventRepository . insertMany ( enrichedEvents ) ; 
9095      } 
9196
9297      return  ExportLogsServiceResponse . create ( ) ; 
@@ -135,16 +140,28 @@ class OTLPExporter {
135140        ( attribute )  =>  attribute . key  ===  SemanticInternalAttributes . TRIGGER 
136141      ) ; 
137142
138-       if  ( ! triggerAttribute )  { 
143+       const  executionEnvironmentAttribute  =  resourceSpan . resource ?. attributes . find ( 
144+         ( attribute )  =>  attribute . key  ===  SemanticInternalAttributes . EXECUTION_ENVIRONMENT 
145+       ) ; 
146+ 
147+       if  ( ! triggerAttribute  &&  ! executionEnvironmentAttribute )  { 
139148        logger . debug ( "Skipping resource span without trigger attribute" ,  { 
140149          attributes : resourceSpan . resource ?. attributes , 
141150          spans : resourceSpan . scopeSpans . flatMap ( ( scopeSpan )  =>  scopeSpan . spans ) , 
142151        } ) ; 
143152
144-         return ; 
153+         return  true ;  // go ahead and let this resource span through 
154+       } 
155+ 
156+       const  executionEnvironment  =  isStringValue ( executionEnvironmentAttribute ?. value ) 
157+         ? executionEnvironmentAttribute . value . stringValue 
158+         : undefined ; 
159+ 
160+       if  ( executionEnvironment  ===  "trigger" )  { 
161+         return  true ;  // go ahead and let this resource span through 
145162      } 
146163
147-       return  isBoolValue ( triggerAttribute . value )  ? triggerAttribute . value . boolValue  : false ; 
164+       return  isBoolValue ( triggerAttribute ? .value )  ? triggerAttribute . value . boolValue  : false ; 
148165    } ) ; 
149166  } 
150167
0 commit comments