o
    ©i,  ã                   @  s€   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
 z
d dlmZmZ W n ey3   edƒ‚w ddddœddd„ZdS )é    )Ú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_hookÚcapture_statementÚboolr   ú2Callable[[Span, CommandStartedEvent], None] | Noner   ú4Callable[[Span, CommandSucceededEvent], None] | Noner   ú1Callable[[Span, CommandFailedEvent], None] | NoneÚkwargsr   ÚreturnÚNonec                 K  s,   t ƒ jd|pt|p
t|pt| dœ|¤Ž dS )zžInstrument the `pymongo` module so that spans are automatically created for each operation.

    See the `Logfire.instrument_pymongo` method for details.
    )r   r   r   r   N© )r	   Ú
instrumentr
   )r   r   r   r   r   r   r   úl/var/www/html/karishye-ai-python/venv/lib/python3.10/site-packages/logfire/_internal/integrations/pymongo.pyÚinstrument_pymongo   s   ü
ûr   )r   r   r   r   r   r   r   r   r   r   r   r   )Ú
__future__r   Útypingr   r   Úopentelemetry.sdk.tracer   Úpymongo.monitoringr   r   r   Ú%opentelemetry.instrumentation.pymongor	   r
   ÚImportErrorÚRuntimeErrorr   r   r   r   r   Ú<module>   s    ÿÿû