@@ -84,7 +84,7 @@ def __init__(self, agentless):
8484 def url (self ):
8585 return parse .urljoin (self ._telemetry_url , self ._endpoint )
8686
87- def send_event (self , request : Dict ) -> Optional [httplib .HTTPResponse ]:
87+ def send_event (self , request : Dict , payload_type : str ) -> Optional [httplib .HTTPResponse ]:
8888 """Sends a telemetry request to the trace agent"""
8989 resp = None
9090 conn = None
@@ -95,27 +95,29 @@ def send_event(self, request: Dict) -> Optional[httplib.HTTPResponse]:
9595 conn = get_connection (self ._telemetry_url )
9696 conn .request ("POST" , self ._endpoint , rb_json , headers )
9797 resp = conn .getresponse ()
98- request_types = request ["request_type" ]
99- if request_types == "message-batch" :
100- request_types = ", " .join ([event ["request_type" ] for event in request ["payload" ]])
10198 if resp .status < 300 :
10299 log .debug (
103100 "Instrumentation Telemetry sent %d bytes in %.5fs to %s. Event(s): %s. Response: %s" ,
104101 len (rb_json ),
105102 sw .elapsed (),
106103 self .url ,
107- request_types ,
104+ payload_type ,
108105 resp .status ,
109106 )
110107 else :
111108 log .debug (
112109 "Failed to send Instrumentation Telemetry to %s. Event(s): %s. Response: %s" ,
113110 self .url ,
114- request_types ,
111+ payload_type ,
115112 resp .status ,
116113 )
117- except Exception as e :
118- log .debug ("Failed to send Instrumentation Telemetry to %s. Error: %s" , self .url , str (e ))
114+ except Exception :
115+ log .debug (
116+ "Failed to send Instrumentation Telemetry to %s. Event(s): %s" ,
117+ self .url ,
118+ payload_type ,
119+ exc_info = True ,
120+ )
119121 finally :
120122 if conn is not None :
121123 conn .close ()
@@ -744,6 +746,7 @@ def periodic(self, force_flush=False, shutting_down=False):
744746 if queued_events := self ._flush_events_queue ():
745747 events .extend (queued_events )
746748
749+ payload_types = ", " .join ([event ["request_type" ] for event in events ])
747750 # Prepare and send the final batch
748751 batch_event = {
749752 "tracer_time" : int (time .time ()),
@@ -756,7 +759,7 @@ def periodic(self, force_flush=False, shutting_down=False):
756759 "payload" : events ,
757760 "request_type" : "message-batch" ,
758761 }
759- self ._client .send_event (batch_event )
762+ self ._client .send_event (batch_event , payload_types )
760763
761764 def app_shutdown (self ):
762765 if self .started :
0 commit comments