1
1
import sentry_sdk
2
2
from sentry_sdk .integrations import Integration
3
3
from sentry_sdk .utils import capture_internal_exceptions , ensure_integration_enabled
4
+ from sentry_sdk .scope import Scope
4
5
5
6
from sentry_sdk ._types import TYPE_CHECKING
6
7
@@ -224,10 +225,20 @@ class Java:
224
225
225
226
226
227
class SentryListener (SparkListener ):
228
+ def _add_breadcrumb (
229
+ self ,
230
+ level , # type: str
231
+ message , # type: str
232
+ data = None , # type: Optional[dict[str, Any]]
233
+ ):
234
+ # type: (Any) -> None
235
+ Scope .set_isolation_scope (Scope .get_global_scope ())
236
+ sentry_sdk .add_breadcrumb (level = level , message = message , data = data )
237
+
227
238
def onJobStart (self , jobStart ): # noqa: N802,N803
228
239
# type: (Any) -> None
229
240
message = "Job {} Started" .format (jobStart .jobId ())
230
- sentry_sdk . add_breadcrumb (level = "info" , message = message )
241
+ self . _add_breadcrumb (level = "info" , message = message )
231
242
_set_app_properties ()
232
243
233
244
def onJobEnd (self , jobEnd ): # noqa: N802,N803
@@ -243,14 +254,14 @@ def onJobEnd(self, jobEnd): # noqa: N802,N803
243
254
level = "warning"
244
255
message = "Job {} Failed" .format (jobEnd .jobId ())
245
256
246
- sentry_sdk . add_breadcrumb (level = level , message = message , data = data )
257
+ self . _add_breadcrumb (level = level , message = message , data = data )
247
258
248
259
def onStageSubmitted (self , stageSubmitted ): # noqa: N802,N803
249
260
# type: (Any) -> None
250
261
stage_info = stageSubmitted .stageInfo ()
251
262
message = "Stage {} Submitted" .format (stage_info .stageId ())
252
263
data = {"attemptId" : stage_info .attemptId (), "name" : stage_info .name ()}
253
- sentry_sdk . add_breadcrumb (level = "info" , message = message , data = data )
264
+ self . _add_breadcrumb (level = "info" , message = message , data = data )
254
265
_set_app_properties ()
255
266
256
267
def onStageCompleted (self , stageCompleted ): # noqa: N802,N803
@@ -271,4 +282,4 @@ def onStageCompleted(self, stageCompleted): # noqa: N802,N803
271
282
message = "Stage {} Completed" .format (stage_info .stageId ())
272
283
level = "info"
273
284
274
- sentry_sdk . add_breadcrumb (level = level , message = message , data = data )
285
+ self . _add_breadcrumb (level = level , message = message , data = data )
0 commit comments