""" Install exception handler for process crash. """
from selfdrive . swaglog import cloudlog
from selfdrive . version import version
import sentry_sdk
from sentry_sdk . integrations . threading import ThreadingIntegration
def capture_exception ( * args , * * kwargs ) - > None :
cloudlog . error ( " crash " , exc_info = kwargs . get ( ' exc_info ' , 1 ) )
try :
sentry_sdk . capture_exception ( * args , * * kwargs )
sentry_sdk . flush ( ) # https://github.com/getsentry/sentry-python/issues/291
except Exception :
cloudlog . exception ( " sentry exception " )
def bind_user ( * * kwargs ) - > None :
sentry_sdk . set_user ( kwargs )
def bind_extra ( * * kwargs ) - > None :
for k , v in kwargs . items ( ) :
sentry_sdk . set_tag ( k , v )
def init ( ) - > None :
sentry_sdk . init ( " https://a8dc76b5bfb34908a601d67e2aa8bcf9@o33823.ingest.sentry.io/77924 " ,
default_integrations = False , integrations = [ ThreadingIntegration ( propagate_hub = True ) ] ,
release = version )