bg  ddlZddlZddlmZmZddlmZddlZddlm Z ddl m Z ddl m Z ddlmZe r*ddlmZdd lmZdd lmZdd lmZdd lmZdd lmZddlmZddZeddZdZdZdZGddeZdS)N)ThreadLock)contextmanager)Envelope)Session) TYPE_CHECKING)format_timestamp)Any)Callable)Dict) Generator)List)Optional)Unionc|tjj}|jj}|+|jr |jjni}|dd}|S)z""&888!!(+++#::   ) ) ) )/5577 J JME68>""&888!!(+++#::  ! !"9&%"H"H I I I I x~   " "   h ' ' ' ' ' # "s 155cjtjkr jdSj5jtjkrj ddddSfd}t |}d|_||_tj_dddn #1swxYwYdS)Ncjr=tjjjrj;dSdSN)r>timesleepr7rJr?srr:z/SessionFlusher._ensure_running.._threadrsWm%Jt2333}% m%%%%%r )targetT)r=osgetpidr:r;rdaemonstart)r?r:threads` r_ensure_runningzSessionFlusher._ensure_runningjs"  29;; . .4<3K4   / /#ry{{22t|7O / / / / / / / / % % % % %7+++F FM LLNNN!DL#%9;;D  / / / / / / / / / / / / / / / ts%B; AB;;B?B?c|j5|d}tt|}|j}|j|i}||i}d|vrt|j|d<|j dkr| dddz|d<nl|j dkr| dddz|d<nD|j dkr| dddz|d<n| d ddz|d <ddddS#1swxYwYdS) NF)with_user_infostartedr(rr'erroredr&) r<get_json_attrstuplesortedrCtruncated_startedr9 setdefaultr statusrerrors)r?rHr+ primary_key secondary_keyrIstates radd_aggregate_sessionz$SessionFlusher.add_aggregate_sessions ! = =**%*@@Eu{{}} 5 566K#5M,77 RHHF%%mR88E%%#3G4M#N#Ni ~**#(99Y#:#:Q#>i  :--$)IIj!$<$i  "'))Ha"8"81"<h% = = = = = = = = = = = = = = = = = =sD,EEEc|jdkr||n,|j||dS)Nrequest)r#rgr8appendto_jsonrW)r?rHs rrEzSessionFlusher.add_sessionsb  9 , ,  & &w / / / /  ! ( ():): ; ; ; r cd|_dS)NF)r>rPs rkillzSessionFlusher.kills  r c.|dSrM)rmrPs r__del__zSessionFlusher.__del__s r N)r4) __name__ __module__ __qualname__r@rJrWrgrErmror rr3r3>s (((6,===>r r3rM)Nr!)rRrN threadingrr contextlibrrsentry_sdk.envelopersentry_sdk.sessionrsentry_sdk._typesrsentry_sdk.utilsr typingr r r r rrrrrTERMINAL_SESSION_STATESrDr1objectr3rsr rr}s """"""""%%%%%%((((((&&&&&&++++++------              <QQQ qqqqqVqqqqqr