§ <ˆjÝ ãór—ddlZddlZddlmZmZddlZddlmZddlm Z e rddl m Z Gd„de ¦«Z dS)éN)ÚThreadÚLock)Úlogger)Ú TYPE_CHECKING)ÚOptionalcó^—eZdZdZdZdd„Zd„Zd„Zd„Zd„Z d „Z e d „¦«Z d „Z d „Zd S)ÚMonitorzº Performs health checks in a separate thread once every interval seconds and updates the internal state. Other parts of the SDK only read this state and act accordingly. zsentry.monitoré cóŽ—||_||_d|_d|_d|_t ¦«|_d|_d|_dS)NTé) Ú transportÚintervalÚ_healthyÚ_downsample_factorÚ_threadrÚ _thread_lockÚ_thread_for_pidÚ_running)Úselfr rs úI/opt/cloudlinux/venv/lib64/python3.11/site-packages/sentry_sdk/monitor.pyÚ__init__zMonitor.__init__sE€à"ˆŒØ ˆŒ àˆŒ Ø"#ˆÔàˆŒ Ý ™FœFˆÔØ#ˆÔ؈Œ ˆ ˆ óc󜇗‰jtj¦«kr ‰j�dS‰j5‰jtj¦«kr‰j� ddd¦«dSˆfd„}t ‰j|¬¦«}d|_| ¦«|‰_tj¦«‰_ddd¦«n #1swxYwYdS)Ncó�•—‰jr=tj‰j¦«‰jr‰ ¦«‰j°;dSdS©N)rÚtimeÚsleeprÚrun©rs€rrz(Monitor._ensure_running.._thread,sVø€à”mð#Ý”J˜tœ}Ñ-Ô-Ð-Ø”}ð#ØŸš™ œ ˜ ð”mð#ð#ð#ð#ð#r)ÚnameÚtargetT) rÚosÚgetpidrrrr ÚdaemonÚstart)rrÚthreads` rÚ_ensure_runningzMonitor._ensure_running#s&ø€à Ô ¥2¤9¡;¤;Ò .Ð .°4´<Ð3KØ�4à Ô ð /ð /ØÔ#¥r¤y¡{¤{Ò2Ð2°t´|Ð7OØð /ð /ð /ñ /ô /ð /ð /ð /ð #ð #ð #ð #ð #õ ¤°7Ð;Ñ;Ô;ˆFØ ˆFŒMØ �LŠL‰NŒNˆNØ!ˆDŒLÝ#%¤9¡;¤;ˆDÔ ð /ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /ð"ˆts®%CÁ ACÃCÃCcóV—| ¦«| ¦«dSr)Ú check_healthÚset_downsample_factorrs rrz Monitor.run;s,€à ×ÒÑÔÐØ ×"Ò"Ñ$Ô$Ð$Ð$Ð$rcó¸—|jr(|jdkrtjd¦«d|_dS|xjdzc_tjd|j¦«dS)Nr z=[Monitor] health check positive, reverting to normal samplingézA[Monitor] health check negative, downsampling with a factor of %d)rrrÚdebugrs rr*zMonitor.set_downsample_factor@s|€à Œ=ð ØÔ&¨Ò*Ð*Ý” ØSñôðð'(ˆDÔ #Ð #Ð #à Ð #Ô # qÑ (Ð #Ô #Ý ŒLØSØÔ'ñ ô ð ð ð rcóB—|j ¦«|_dS)z© Perform the actual health checks, currently only checks if the transport is rate-limited. TODO: augment in the future with more checks. N)r Ú is_healthyrrs rr)zMonitor.check_healthOs€ðœ×1Ò1Ñ3Ô3ˆŒ ˆ ˆ rcó8—| ¦«|jSr)r'rrs rr/zMonitor.is_healthyXs€à ×ÒÑÔÐØŒ}Ðrcó8—| ¦«|jSr)r'rrs rÚdownsample_factorzMonitor.downsample_factor]s€ð ×ÒÑÔÐØÔ&Ð&rcó—d|_dS)NF)rrs rÚkillz Monitor.killcs €àˆŒ ˆ ˆ rcó.—| ¦«dSr)r4rs rÚ__del__zMonitor.__del__gs€à � Š ‰ Œ ˆ ˆ ˆ rN)r )Ú__name__Ú __module__Ú __qualname__Ú__doc__r rr'rr*r)r/Úpropertyr2r4r6©rrr r s½€€€€€ððð €Dð ð ð ð ðððð0%ð%ð%ð ð ð ð4ð4ð4ðððð ð'ð'ñ„Xð'ð ðððððððrr )r"rÚ threadingrrÚ sentry_sdkÚsentry_sdk.utilsrÚsentry_sdk._typesrÚtypingrÚobjectr r<rrúrCs·ðØ € € € Ø € € € Ø"Ð"Ð"Ð"Ð"Ð"Ð"Ð"àÐÐÐØ#Ð#Ð#Ð#Ð#Ð#Ø+Ð+Ð+Ð+Ð+Ð+àð ØÐÐÐÐÐð\ð\ð\ð\ð\ˆfñ\ô\ð\ð\ð\r