ó
    Ð]jý  ã                  ób   • S SK Jr  S SKrS SKJr  S SKJr  S SKJrJ	r	  S SK
Jr   " S S\5      rg)	é    )ÚannotationsN)ÚOTEL_BSP_SCHEDULE_DELAY)ÚReadableSpan)ÚBatchSpanProcessorÚSpanExporter)ÚWrapperSpanProcessorc                  ó¬   ^ • \ rS rSr% SrS\S'   SU 4S jjrSU 4S jjr\S 5       r	\SS j5       r
\SS	 j5       r\R                  SS
 j5       rSrU =r$ )ÚDynamicBatchSpanProcessoré   a<  A wrapper around a BatchSpanProcessor that dynamically adjusts the schedule delay.

The initial schedule delay is set to 100ms, and after processing 10 spans, it is set to the value of
the `OTEL_BSP_SCHEDULE_DELAY` environment variable (default: 500ms).
This makes the initial experience of the SDK more responsive.
r   Ú	processorc                óà   >• [        [        R                  R                  [        5      =(       d    S5      U l        [        U R
                  S5      n[        TU ]!  [        XS95        SU l
        g )Niô  éd   )Úschedule_delay_millisr   )ÚfloatÚosÚenvironÚgetr   Úfinal_delayÚminÚsuperÚ__init__r   Únum_processed)ÚselfÚexporterÚinitial_delayÚ	__class__s      €Úf/home/mande/repo/quber/.venv/lib/python3.13/site-packages/logfire/_internal/exporters/dynamic_batch.pyr   Ú"DynamicBatchSpanProcessor.__init__   sP   ø€ Ü ¤§¡§¡Ô0GÓ!H×!OÈCÓPˆÔä˜D×,Ñ,¨cÓ2ˆÜ‰ÑÔ+¨HÑZÔ[ØˆÕó    c                ó�   >• U =R                   S-  sl         U R                   S:X  a  U R                  U l        [        TU ]  U5        g )Né   é
   )r   r   r   r   Úon_end)r   Úspanr   s     €r   r#   Ú DynamicBatchSpanProcessor.on_end   s<   ø€ Ø×Ò˜aÑÕØ×Ñ Ó#Ø)-×)9Ñ)9ˆDÔ&Ü‰‰�tÕr   c                ó.   • U R                   R                  $ ©N)r   Ú_batch_processor©r   s    r   Úbatch_processorÚ)DynamicBatchSpanProcessor.batch_processor#   s   € à�~‰~×.Ñ.Ð.r   c                ó.   • U R                   R                  $ r'   )r*   Ú	_exporterr)   s    r   Úspan_exporterÚ'DynamicBatchSpanProcessor.span_exporter'   s   € à×#Ñ#×-Ñ-Ð-r   c                ó4   • U R                   R                  S-  $ ©Niè  ©r*   Ú_schedule_delayr)   s    r   r   Ú/DynamicBatchSpanProcessor.schedule_delay_millis+   s   € à×#Ñ#×3Ñ3°dÑ:Ð:r   c                ó,   • US-  U R                   l        g r1   r2   )r   Úvalues     r   r   r4   /   s   € à/4°t©|ˆ×ÑÕ,r   )r   r   r   )r   r   ÚreturnÚNone)r$   r   r7   r8   )r7   r   )r7   r   )r6   r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú__annotations__r   r#   Úpropertyr*   r.   r   ÚsetterÚ__static_attributes__Ú__classcell__)r   s   @r   r
   r
      sp   ø‡ ñð "Ó!÷÷ð ñ/ó ð/ð ó.ó ð.ð ó;ó ð;ð ×!Ñ!ó<ó "ö<r   r
   )Ú
__future__r   r   Ú'opentelemetry.sdk.environment_variablesr   Úopentelemetry.sdk.tracer   Úopentelemetry.sdk.trace.exportr   r   Ú#logfire._internal.exporters.wrapperr   r
   © r   r   Ú<module>rI      s$   ðÝ "ã 	å KÝ 0ß Kå Dô%<Ð 4õ %<r   