o
    iR                     @   s   d dl Z G dd dZdS )    Nc                   @   s(   e Zd ZdZdd Zdd Zdd ZdS )	SchemaSampleri0u  c                 C   s   d| _ d| _t | _d S Nr   )weightlast_sample_millis	threadingLocklock)self r
   g/home/ubuntu/.local/lib/python3.10/site-packages/ddtrace/internal/datastreams/schemas/schema_sampler.py__init__   s   zSchemaSampler.__init__c                 C   sp   || j | j kr6| j# || j | j kr&|| _ | j}d| _|W  d    S W d    dS 1 s1w   Y  dS r   )r   SAMPLE_INTERVAL_MILLISr   r   )r	   current_time_millisr   r
   r
   r   
try_sample   s   
zSchemaSampler.try_samplec                 C   sD   | j  |  jd7  _W d    n1 sw   Y  || j| j kS )N   )r   r   r   r   )r	   r   r
   r
   r   
can_sample   s   zSchemaSampler.can_sampleN)__name__
__module____qualname__r   r   r   r   r
   r
   r
   r   r      s
    
r   )r   r   r
   r
   r
   r   <module>   s    