U 췀g@sdZddlmZmZddlmZddlmZddlm Z e rlddl m Z ddl m Z ddlmZdd lmZd d Zd d ZddZddZdS)z, Code used for the Queries module in Sentry )OPSPANDATA)_get_safe_command)capture_internal_exceptions) TYPE_CHECKING)Redis)RedisIntegration)Span)AnycCst|||}tj|d}|S)N)op description)_get_db_span_descriptionrZDB_REDIS) integrationZ redis_commandargsr propertiesr[/opt/hc_python/lib/python3.8/site-packages/sentry_sdk/integrations/redis/modules/queries.py_compile_db_span_propertiess  rc CsV|}tt||}W5QRX|jo2t||jk}|rR|d|jtdd}|S)Nz...)rrZ max_data_sizelen)r command_namerr Zdata_should_be_truncatedrrrr sr cCsv|tjd|d}|dk r2|tjt||d}|dk rR|tj||d}|dk rr|tj|dS)Nredisdbhostport)set_datarZ DB_SYSTEMgetZDB_NAMEstrZSERVER_ADDRESSZ SERVER_PORT)spanZconnection_paramsrrrrrr_set_db_data_on_span.s   rcCs,zt||jjWntk r&YnXdS)N)rZconnection_poolZconnection_kwargsAttributeError)rZredis_instancerrr _set_db_data?sr N)__doc__Zsentry_sdk.constsrrZ#sentry_sdk.integrations.redis.utilsrZsentry_sdk.utilsrtypingrrrZsentry_sdk.integrations.redisrZsentry_sdk.tracingr r rr rr rrrrs