
    gW                        d dl mZ d dlmZmZ d dlmZ d dlmZm	Z	m
Z
 	 d dlmZmZ dddd	 	 	 	 	 	 	 	 	 	 	 d
d	Zy# e$ r	  ed      w xY w)    )annotations)AnyCallable)Span)CommandFailedEventCommandStartedEventCommandSucceededEvent)PymongoInstrumentordummy_callbackz`logfire.instrument_pymongo()` requires the `opentelemetry-instrumentation-pymongo` package.
You can install this with:
    pip install 'logfire[pymongo]'N)request_hookresponse_hookfailed_hookc                r     t               j                  d|xs t        |xs t        |xs t        | d| y)zInstrument the `pymongo` module so that spans are automatically created for each operation.

    See the `Logfire.instrument_pymongo` method for details.
    )r   r   r   capture_statementN )r
   
instrumentr   )r   r   r   r   kwargss        [/var/www/openai/venv/lib/python3.12/site-packages/logfire/_internal/integrations/pymongo.pyinstrument_pymongor      sB     %$$ !3^#5~1>+	
     )r   boolr   z2Callable[[Span, CommandStartedEvent], None] | Noner   z4Callable[[Span, CommandSucceededEvent], None] | Noner   z1Callable[[Span, CommandFailedEvent], None] | Noner   r   returnNone)
__future__r   typingr   r   opentelemetry.sdk.tracer   pymongo.monitoringr   r   r	   %opentelemetry.instrumentation.pymongor
   r   ImportErrorRuntimeErrorr   r   r   r   <module>r!      s    "   ( ] ]
 HLJNEI E H	
 C  
  
	- s	   = A