o
    ٰi                     @   sd   d dl mZ d dlmZ d dlmZ d dlmZ er&d dl mZ d dl	m
Z
 G dd ded	 Zd
S )    )TYPE_CHECKING)Batcherserialize_attribute)Item)Any)Metricc                   @   s8   e Zd ZdZdZdZdZdZedd
dZ	dddZ
dS )MetricsBatcheri  i'  g      @trace_metricz.application/vnd.sentry.items.trace-metric+jsonitemr   returnr   c                 C   sp   | d | d | d | d | d dd | d   D d	}| d
d ur)| d
 |d
< | dd ur6| d |d< |S )N	timestamptrace_idnametypevaluec                 S   s   i | ]	\}}|t |qS  r   ).0kvr   r   O/home/ubuntu/.local/lib/python3.10/site-packages/sentry_sdk/_metrics_batcher.py
<dictcomp>   s    z7MetricsBatcher._to_transport_format.<locals>.<dictcomp>
attributes)r   r   r   r   r   r   span_idunit)itemsget)r   resr   r   r   _to_transport_format   s   
z#MetricsBatcher._to_transport_formatNc                 C   s   | j dddd d S )Nqueue_overflowr
      )reasondata_categoryquantity)_record_lost_func)selfr   r   r   r   _record_lost)   s
   
zMetricsBatcher._record_lost)r   r   r   r   )r   r   r   N)__name__
__module____qualname__MAX_BEFORE_FLUSHMAX_BEFORE_DROPFLUSH_WAIT_TIMETYPECONTENT_TYPEstaticmethodr   r&   r   r   r   r   r	      s    r	   r   N)typingr   sentry_sdk._batcherr   sentry_sdk.utilsr   sentry_sdk.enveloper   r   sentry_sdk._typesr   r	   r   r   r   r   <module>   s    