6262 from typing import Union
6363 from typing import TypeVar
6464
65- from sentry_sdk ._types import Event , Hint , SDKInfo , Log , Metric
65+ from sentry_sdk ._types import Event , Hint , SDKInfo , Log , Metric , EventDataCategory
6666 from sentry_sdk .integrations import Integration
6767 from sentry_sdk .scope import Scope
6868 from sentry_sdk .session import Session
@@ -357,6 +357,17 @@ def _capture_envelope(envelope):
357357 if self .transport is not None :
358358 self .transport .capture_envelope (envelope )
359359
360+ def _record_batcher_overflow_lost_event (
361+ data_category , # type: EventDataCategory
362+ quantity = 1 , # type: int
363+ ):
364+ if self .transport is not None :
365+ self .transport .record_lost_event (
366+ reason = "queue_overflow" ,
367+ data_category = data_category ,
368+ quantity = quantity ,
369+ )
370+
360371 try :
361372 _client_init_debug .set (self .options ["debug" ])
362373 self .transport = make_transport (self .options )
@@ -379,7 +390,7 @@ def _capture_envelope(envelope):
379390 if has_metrics_enabled (self .options ):
380391 self .metrics_batcher = MetricsBatcher (
381392 capture_func = _capture_envelope ,
382- record_lost_func = self . transport . record_lost_event ,
393+ record_lost_func = _record_batcher_overflow_lost_event ,
383394 )
384395
385396 max_request_body_size = ("always" , "never" , "small" , "medium" )
0 commit comments