Ë
    S>{i“  ã                   óÒ   — d dl mZ d dlmZmZmZ d dlmZmZm	Z	m
Z
mZmZ d dlmZmZmZ d dlmZmZ d dlmZ d dlmZmZ d dlmZmZ d d	lmZ erd d
lmZ d dlm Z   G d„ de
«      Z!y)é    )Útrace)ÚContextÚget_currentÚ	set_value)ÚCarrierTÚGetterÚSetterÚTextMapPropagatorÚdefault_getterÚdefault_setter)ÚNonRecordingSpanÚSpanContextÚ
TraceFlags)ÚSENTRY_BAGGAGE_KEYÚSENTRY_TRACE_KEY)ÚSentrySpanProcessor)ÚBAGGAGE_HEADER_NAMEÚSENTRY_TRACE_HEADER_NAME)ÚBaggageÚextract_sentrytrace_data)ÚTYPE_CHECKING)ÚOptional)ÚSetc                   ó8   — e Zd ZdZdefd„Zdefd„Zed„ «       Z	y)ÚSentryPropagatorz[
    Propagates tracing headers for Sentry's tracing system in a way OTel understands.
    Nc                 ó  — |€
t        «       }|j                  |t        «      }|s|S t        |d   «      }|s|S t	        t
        ||«      }|d   |d   }}t        t        |d«      t        |d«      t        t        j                  «      d¬«      }|j                  |t        «      }	|	rt        j                  |	d   «      }
nt        i ¬«      }
|
j                  «        t	        t        |
|«      }t        |«      }t!        j"                  ||«      }|S )Nr   Útrace_idÚparent_span_idé   T)r   Úspan_idÚtrace_flagsÚ	is_remote)Úsentry_items)r   Úgetr   r   r   r   r   Úintr   ÚSAMPLEDr   r   Úfrom_incoming_headerÚfreezer   r   r   Úset_span_in_context)ÚselfÚcarrierÚcontextÚgetterÚsentry_traceÚsentrytracer   r    Úspan_contextÚbaggage_headerÚbaggageÚspanÚmodified_contexts                ún/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sentry_sdk/integrations/opentelemetry/propagator.pyÚextractzSentryPropagator.extract-   s  € àˆ?Ü!“mˆGà—z‘z 'Ô+CÓDˆÙØˆNä.¨|¸A©Ó?ˆÙØˆNäÔ,¨k¸7ÓCˆà'¨
Ñ3°[ÐAQÑ5R�'ˆä"Ü˜ 2Ó&Ü˜ Ó$ä"¤:×#5Ñ#5Ó6Øô
ˆð  Ÿ™ GÔ-@ÓAˆáÜ×2Ñ2°>À!Ñ3DÓE‰Gô
 ¨2Ô.ˆGà�‰ÔÜÔ.°¸ÓAˆä Ó-ˆÜ ×4Ñ4°T¸7ÓCÐØÐó    c                 óø  — |€
t        «       }t        j                  |«      }|j                  «       }|j                  sy t        j
                  |j                  «      }t        «       j                  }|j                  |d «      }|sy |j                  |t        |j                  «       «       |j                  rC|j                  j                  «       }	|	r&|j                  |t        |	j!                  «       «       y y y ©N)r   r   Úget_current_spanÚget_span_contextÚis_validÚformat_span_idr    r   Úotel_span_mapr$   Úsetr   Úto_traceparentÚcontaining_transactionÚget_baggager   Ú	serialize)
r*   r+   r,   ÚsetterÚcurrent_spanÚcurrent_span_contextr    Úspan_mapÚsentry_spanr2   s
             r5   ÚinjectzSentryPropagator.injectW   sÒ   € àˆ?Ü!“mˆGä×-Ñ-¨gÓ6ˆØ+×<Ñ<Ó>Ðà#×,Ò,Øä×&Ñ&Ð';×'CÑ'CÓDˆä&Ó(×6Ñ6ˆØ—l‘l 7¨DÓ1ˆÙØà�
‰
�7Ô4°k×6PÑ6PÓ6RÔSà×-Ò-Ø!×8Ñ8×DÑDÓFˆGÙØ—
‘
˜7Ô$7¸×9JÑ9JÓ9LÕMð ð .r7   c                 ó   — t         t        hS r9   )r   r   )r*   s    r5   ÚfieldszSentryPropagator.fieldsp   s   € ô )Ô*=Ð>Ð>r7   )
Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r6   r   rI   ÚpropertyrK   © r7   r5   r   r   (   s5   „ ñð (,°Nó ( ðT '+°>ó Nð2 ñ?ó ñ?r7   r   N)"Úopentelemetryr   Úopentelemetry.contextr   r   r   Ú!opentelemetry.propagators.textmapr   r   r	   r
   r   r   Úopentelemetry.tracer   r   r   Ú,sentry_sdk.integrations.opentelemetry.constsr   r   Ú4sentry_sdk.integrations.opentelemetry.span_processorr   Úsentry_sdk.tracingr   r   Úsentry_sdk.tracing_utilsr   r   Úsentry_sdk._typesr   Útypingr   r   r   rQ   r7   r5   ú<module>r\      sV   ðÝ ÷ñ ÷
÷ ÷ñ ÷
õ÷÷ GÝ +áÝÝôK?Ð(õ K?r7   