o
    i
                     @   s  d dl mZ d dlmZ d dlZd dlmZ d dlmZ d dlm	Z	 d dlm
Z
 d dlmZ d d	lmZ d d
lmZ d dlmZ d dlmZ d dlmZ eeZeG dd deZejde	dedejdejdejdefddZejde
dedejdejdejdefddZdS )    )	dataclass)	FrameTypeN)ProbeEvalTiming)SessionMixin)TriggerFunctionProbe)TriggerLineProbe)Session)	LogSignal)probe_to_signal)ExcInfoType)
get_logger)Metricsc                
   @   s   e Zd ZdZejZdddZdej	e
ejf ddfddZd	ejd
ededej	e
ejf ddf
ddZdej	e
ejf ddfddZedeje
 fddZdefddZdS )TriggerzTrigger a session creation.returnNc                 C   s^   t t| j}t|jrd S t|j|j}|| j	 |
| j	 d| j	jd| jj < d S )Ntruez_dd.ld.probe_id.)tcastr   prober   	is_active
session_idlevellink_to_tracetrace_context	propagate_metaprobe_id)selfr   session r   U/home/ubuntu/.local/lib/python3.10/site-packages/ddtrace/debugging/_signal/trigger.py_link_session   s   zTrigger._link_sessionscopec                 C      |    d S Nr    r   r!   r   r   r   enter/      zTrigger.enterretvalexc_infodurationc                 C   s   d S r#   r   )r   r(   r)   r*   r!   r   r   r   exit2   s   zTrigger.exitc                 C   r"   r#   r$   r%   r   r   r   line7   r'   zTrigger.linec                 C   s   | j r
d| jj S d S )Nz&Condition evaluation errors for probe )errorsr   r   r   r   r   r   message:   s   zTrigger.messagec                 C   s
   t | jS r#   )boolr-   r.   r   r   r   has_message>   s   
zTrigger.has_message)r   N)__name__
__module____qualname____doc__r   ENTRY__default_timing__r    r   MappingstrAnyr&   r   floatr+   r,   propertyOptionalr/   r0   r1   r   r   r   r   r      s    
,r   r   framethreadr   meterr   c                 C      t | |||dS N)r   r>   r?   r   r   r   r>   r?   r   r@   r   r   r   _B   s   rE   c                 C   rA   rB   rC   rD   r   r   r   rE   I   s   )dataclassesr   typesr   typingr   ddtrace.debugging._probe.modelr   r   r   r   ddtrace.debugging._sessionr   ddtrace.debugging._signal.logr	   ddtrace.debugging._signal.modelr
   ddtrace.internal.compatr   ddtrace.internal.loggerr   ddtrace.internal.metricsr   r2   logr   registerr:   MeterrE   r   r   r   r   <module>   s@    -.