44< html >
55 < head >
66 < meta charset ="utf-8 " />
7- < title > sentry_sdk.client — sentry-python 0.15.1 documentation</ title >
7+ < title > sentry_sdk.client — sentry-python 0.16.0 documentation</ title >
88 < link rel ="stylesheet " href ="../../_static/alabaster.css " type ="text/css " />
99 < link rel ="stylesheet " href ="../../_static/pygments.css " type ="text/css " />
1010 < script id ="documentation_options " data-url_root ="../../ " src ="../../_static/documentation_options.js "> </ script >
@@ -40,11 +40,12 @@ <h1>Source code for sentry_sdk.client</h1><div class="highlight"><pre>
4040
4141< span class ="kn "> from</ span > < span class ="nn "> sentry_sdk._compat</ span > < span class ="kn "> import</ span > < span class ="n "> string_types</ span > < span class ="p "> ,</ span > < span class ="n "> text_type</ span > < span class ="p "> ,</ span > < span class ="n "> iteritems</ span >
4242< span class ="kn "> from</ span > < span class ="nn "> sentry_sdk.utils</ span > < span class ="kn "> import</ span > < span class ="p "> (</ span >
43- < span class ="n "> handle_in_app</ span > < span class ="p "> ,</ span >
44- < span class ="n "> get_type_name</ span > < span class ="p "> ,</ span >
4543 < span class ="n "> capture_internal_exceptions</ span > < span class ="p "> ,</ span >
4644 < span class ="n "> current_stacktrace</ span > < span class ="p "> ,</ span >
4745 < span class ="n "> disable_capture_event</ span > < span class ="p "> ,</ span >
46+ < span class ="n "> format_timestamp</ span > < span class ="p "> ,</ span >
47+ < span class ="n "> get_type_name</ span > < span class ="p "> ,</ span >
48+ < span class ="n "> handle_in_app</ span > < span class ="p "> ,</ span >
4849 < span class ="n "> logger</ span > < span class ="p "> ,</ span >
4950< span class ="p "> )</ span >
5051< span class ="kn "> from</ span > < span class ="nn "> sentry_sdk.serializer</ span > < span class ="kn "> import</ span > < span class ="n "> serialize</ span >
@@ -53,7 +54,7 @@ <h1>Source code for sentry_sdk.client</h1><div class="highlight"><pre>
5354< span class ="kn "> from</ span > < span class ="nn "> sentry_sdk.integrations</ span > < span class ="kn "> import</ span > < span class ="n "> setup_integrations</ span >
5455< span class ="kn "> from</ span > < span class ="nn "> sentry_sdk.utils</ span > < span class ="kn "> import</ span > < span class ="n "> ContextVar</ span >
5556< span class ="kn "> from</ span > < span class ="nn "> sentry_sdk.sessions</ span > < span class ="kn "> import</ span > < span class ="n "> SessionFlusher</ span >
56- < span class ="kn "> from</ span > < span class ="nn "> sentry_sdk.envelope</ span > < span class ="kn "> import</ span > < span class ="n "> Envelope</ span >
57+ < span class ="kn "> from</ span > < span class ="nn "> sentry_sdk.envelope</ span > < span class ="kn "> import</ span > < span class ="n "> Envelope</ span > < span class =" p " > , </ span > < span class =" n " > Item </ span > < span class =" p " > , </ span > < span class =" n " > PayloadRef </ span >
5758
5859< span class ="kn "> from</ span > < span class ="nn "> sentry_sdk._types</ span > < span class ="kn "> import</ span > < span class ="n "> MYPY</ span >
5960
@@ -232,7 +233,7 @@ <h1>Source code for sentry_sdk.client</h1><div class="highlight"><pre>
232233 < span class ="n "> event</ span > < span class ="o "> =</ span > < span class ="n "> serialize</ span > < span class ="p "> (</ span > < span class ="n "> event</ span > < span class ="p "> )</ span >
233234
234235 < span class ="n "> before_send</ span > < span class ="o "> =</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> options</ span > < span class ="p "> [</ span > < span class ="s2 "> "before_send"</ span > < span class ="p "> ]</ span >
235- < span class ="k "> if</ span > < span class ="n "> before_send</ span > < span class ="ow "> is</ span > < span class ="ow "> not</ span > < span class ="kc "> None</ span > < span class ="p "> :</ span >
236+ < span class ="k "> if</ span > < span class ="n "> before_send</ span > < span class ="ow "> is</ span > < span class ="ow "> not</ span > < span class ="kc "> None</ span > < span class =" ow " > and </ span > < span class =" n " > event </ span > < span class =" o " > . </ span > < span class =" n " > get </ span > < span class =" p " > ( </ span > < span class =" s2 " > "type" </ span > < span class =" p " > ) </ span > < span class =" o " > != </ span > < span class =" s2 " > "transaction" </ span > < span class ="p "> :</ span >
236237 < span class ="n "> new_event</ span > < span class ="o "> =</ span > < span class ="kc "> None</ span >
237238 < span class ="k "> with</ span > < span class ="n "> capture_internal_exceptions</ span > < span class ="p "> ():</ span >
238239 < span class ="n "> new_event</ span > < span class ="o "> =</ span > < span class ="n "> before_send</ span > < span class ="p "> (</ span > < span class ="n "> event</ span > < span class ="p "> ,</ span > < span class ="n "> hint</ span > < span class ="ow "> or</ span > < span class ="p "> {})</ span >
@@ -270,6 +271,10 @@ <h1>Source code for sentry_sdk.client</h1><div class="highlight"><pre>
270271 < span class ="n "> scope</ span > < span class ="o "> =</ span > < span class ="kc "> None</ span > < span class ="p "> ,</ span > < span class ="c1 "> # type: Optional[Scope]</ span >
271272 < span class ="p "> ):</ span >
272273 < span class ="c1 "> # type: (...) -> bool</ span >
274+ < span class ="k "> if</ span > < span class ="n "> event</ span > < span class ="o "> .</ span > < span class ="n "> get</ span > < span class ="p "> (</ span > < span class ="s2 "> "type"</ span > < span class ="p "> )</ span > < span class ="o "> ==</ span > < span class ="s2 "> "transaction"</ span > < span class ="p "> :</ span >
275+ < span class ="c1 "> # Transactions are sampled independent of error events.</ span >
276+ < span class ="k "> return</ span > < span class ="kc "> True</ span >
277+
273278 < span class ="k "> if</ span > < span class ="n "> scope</ span > < span class ="ow "> is</ span > < span class ="ow "> not</ span > < span class ="kc "> None</ span > < span class ="ow "> and</ span > < span class ="ow "> not</ span > < span class ="n "> scope</ span > < span class ="o "> .</ span > < span class ="n "> _should_capture</ span > < span class ="p "> :</ span >
274279 < span class ="k "> return</ span > < span class ="kc "> False</ span >
275280
@@ -295,20 +300,14 @@ <h1>Source code for sentry_sdk.client</h1><div class="highlight"><pre>
295300 < span class ="n "> errored</ span > < span class ="o "> =</ span > < span class ="kc "> False</ span >
296301 < span class ="n "> user_agent</ span > < span class ="o "> =</ span > < span class ="kc "> None</ span >
297302
298- < span class ="c1 "> # Figure out if this counts as an error and if we should mark the</ span >
299- < span class ="c1 "> # session as crashed.</ span >
300- < span class ="n "> level</ span > < span class ="o "> =</ span > < span class ="n "> event</ span > < span class ="o "> .</ span > < span class ="n "> get</ span > < span class ="p "> (</ span > < span class ="s2 "> "level"</ span > < span class ="p "> )</ span >
301- < span class ="k "> if</ span > < span class ="n "> level</ span > < span class ="o "> ==</ span > < span class ="s2 "> "fatal"</ span > < span class ="p "> :</ span >
302- < span class ="n "> crashed</ span > < span class ="o "> =</ span > < span class ="kc "> True</ span >
303- < span class ="k "> if</ span > < span class ="ow "> not</ span > < span class ="n "> crashed</ span > < span class ="p "> :</ span >
304- < span class ="n "> exceptions</ span > < span class ="o "> =</ span > < span class ="p "> (</ span > < span class ="n "> event</ span > < span class ="o "> .</ span > < span class ="n "> get</ span > < span class ="p "> (</ span > < span class ="s2 "> "exception"</ span > < span class ="p "> )</ span > < span class ="ow "> or</ span > < span class ="p "> {})</ span > < span class ="o "> .</ span > < span class ="n "> get</ span > < span class ="p "> (</ span > < span class ="s2 "> "values"</ span > < span class ="p "> )</ span >
305- < span class ="k "> if</ span > < span class ="n "> exceptions</ span > < span class ="p "> :</ span >
306- < span class ="n "> errored</ span > < span class ="o "> =</ span > < span class ="kc "> True</ span >
307- < span class ="k "> for</ span > < span class ="n "> error</ span > < span class ="ow "> in</ span > < span class ="n "> exceptions</ span > < span class ="p "> :</ span >
308- < span class ="n "> mechanism</ span > < span class ="o "> =</ span > < span class ="n "> error</ span > < span class ="o "> .</ span > < span class ="n "> get</ span > < span class ="p "> (</ span > < span class ="s2 "> "mechanism"</ span > < span class ="p "> )</ span >
309- < span class ="k "> if</ span > < span class ="n "> mechanism</ span > < span class ="ow "> and</ span > < span class ="n "> mechanism</ span > < span class ="o "> .</ span > < span class ="n "> get</ span > < span class ="p "> (</ span > < span class ="s2 "> "handled"</ span > < span class ="p "> )</ span > < span class ="ow "> is</ span > < span class ="kc "> False</ span > < span class ="p "> :</ span >
310- < span class ="n "> crashed</ span > < span class ="o "> =</ span > < span class ="kc "> True</ span >
311- < span class ="k "> break</ span >
303+ < span class ="n "> exceptions</ span > < span class ="o "> =</ span > < span class ="p "> (</ span > < span class ="n "> event</ span > < span class ="o "> .</ span > < span class ="n "> get</ span > < span class ="p "> (</ span > < span class ="s2 "> "exception"</ span > < span class ="p "> )</ span > < span class ="ow "> or</ span > < span class ="p "> {})</ span > < span class ="o "> .</ span > < span class ="n "> get</ span > < span class ="p "> (</ span > < span class ="s2 "> "values"</ span > < span class ="p "> )</ span >
304+ < span class ="k "> if</ span > < span class ="n "> exceptions</ span > < span class ="p "> :</ span >
305+ < span class ="n "> errored</ span > < span class ="o "> =</ span > < span class ="kc "> True</ span >
306+ < span class ="k "> for</ span > < span class ="n "> error</ span > < span class ="ow "> in</ span > < span class ="n "> exceptions</ span > < span class ="p "> :</ span >
307+ < span class ="n "> mechanism</ span > < span class ="o "> =</ span > < span class ="n "> error</ span > < span class ="o "> .</ span > < span class ="n "> get</ span > < span class ="p "> (</ span > < span class ="s2 "> "mechanism"</ span > < span class ="p "> )</ span >
308+ < span class ="k "> if</ span > < span class ="n "> mechanism</ span > < span class ="ow "> and</ span > < span class ="n "> mechanism</ span > < span class ="o "> .</ span > < span class ="n "> get</ span > < span class ="p "> (</ span > < span class ="s2 "> "handled"</ span > < span class ="p "> )</ span > < span class ="ow "> is</ span > < span class ="kc "> False</ span > < span class ="p "> :</ span >
309+ < span class ="n "> crashed</ span > < span class ="o "> =</ span > < span class ="kc "> True</ span >
310+ < span class ="k "> break</ span >
312311
313312 < span class ="n "> user</ span > < span class ="o "> =</ span > < span class ="n "> event</ span > < span class ="o "> .</ span > < span class ="n "> get</ span > < span class ="p "> (</ span > < span class ="s2 "> "user"</ span > < span class ="p "> )</ span >
314313
@@ -363,7 +362,22 @@ <h1>Source code for sentry_sdk.client</h1><div class="highlight"><pre>
363362 < span class ="k "> if</ span > < span class ="n "> session</ span > < span class ="p "> :</ span >
364363 < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> _update_session_from_event</ span > < span class ="p "> (</ span > < span class ="n "> session</ span > < span class ="p "> ,</ span > < span class ="n "> event</ span > < span class ="p "> )</ span >
365364
366- < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> transport</ span > < span class ="o "> .</ span > < span class ="n "> capture_event</ span > < span class ="p "> (</ span > < span class ="n "> event_opt</ span > < span class ="p "> )</ span >
365+ < span class ="k "> if</ span > < span class ="n "> event_opt</ span > < span class ="o "> .</ span > < span class ="n "> get</ span > < span class ="p "> (</ span > < span class ="s2 "> "type"</ span > < span class ="p "> )</ span > < span class ="o "> ==</ span > < span class ="s2 "> "transaction"</ span > < span class ="p "> :</ span >
366+ < span class ="c1 "> # Transactions should go to the /envelope/ endpoint.</ span >
367+ < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> transport</ span > < span class ="o "> .</ span > < span class ="n "> capture_envelope</ span > < span class ="p "> (</ span >
368+ < span class ="n "> Envelope</ span > < span class ="p "> (</ span >
369+ < span class ="n "> headers</ span > < span class ="o "> =</ span > < span class ="p "> {</ span >
370+ < span class ="s2 "> "event_id"</ span > < span class ="p "> :</ span > < span class ="n "> event_opt</ span > < span class ="p "> [</ span > < span class ="s2 "> "event_id"</ span > < span class ="p "> ],</ span >
371+ < span class ="s2 "> "sent_at"</ span > < span class ="p "> :</ span > < span class ="n "> format_timestamp</ span > < span class ="p "> (</ span > < span class ="n "> datetime</ span > < span class ="o "> .</ span > < span class ="n "> utcnow</ span > < span class ="p "> ()),</ span >
372+ < span class ="p "> },</ span >
373+ < span class ="n "> items</ span > < span class ="o "> =</ span > < span class ="p "> [</ span >
374+ < span class ="n "> Item</ span > < span class ="p "> (</ span > < span class ="n "> payload</ span > < span class ="o "> =</ span > < span class ="n "> PayloadRef</ span > < span class ="p "> (</ span > < span class ="n "> json</ span > < span class ="o "> =</ span > < span class ="n "> event_opt</ span > < span class ="p "> ),</ span > < span class ="nb "> type</ span > < span class ="o "> =</ span > < span class ="s2 "> "transaction"</ span > < span class ="p "> ),</ span >
375+ < span class ="p "> ],</ span >
376+ < span class ="p "> )</ span >
377+ < span class ="p "> )</ span >
378+ < span class ="k "> else</ span > < span class ="p "> :</ span >
379+ < span class ="c1 "> # All other events go to the /store/ endpoint.</ span >
380+ < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> transport</ span > < span class ="o "> .</ span > < span class ="n "> capture_event</ span > < span class ="p "> (</ span > < span class ="n "> event_opt</ span > < span class ="p "> )</ span >
367381 < span class ="k "> return</ span > < span class ="n "> event_id</ span >
368382
369383 < span class ="k "> def</ span > < span class ="nf "> capture_session</ span > < span class ="p "> (</ span >
0 commit comments