o
    žº¥g§  ã                   @   sB   d dl Z d dlZd dlmZ G dd„ de jƒZG dd„ deƒZdS )é    N)Útracec                   @   s4   e Zd Zejdefdd„ƒZejdefdd„ƒZdS )ÚIdGeneratorÚreturnc                 C   ó   dS )z[Get a new span ID.

        Returns:
            A 64-bit int for use as a span ID
        N© ©Úselfr   r   ú[/var/www/visachat/venv/lib/python3.10/site-packages/opentelemetry/sdk/trace/id_generator.pyÚgenerate_span_id   ó    zIdGenerator.generate_span_idc                 C   r   )aÝ  Get a new trace ID.

        Implementations should at least make the 64 least significant bits
        uniformly random. Samplers like the `TraceIdRatioBased` sampler rely on
        this randomness to make sampling decisions.

        See `the specification on TraceIdRatioBased <https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/sdk.md#traceidratiobased>`_.

        Returns:
            A 128-bit int for use as a trace ID
        Nr   r   r   r   r	   Úgenerate_trace_id   r   zIdGenerator.generate_trace_idN)Ú__name__Ú
__module__Ú__qualname__ÚabcÚabstractmethodÚintr
   r   r   r   r   r	   r      s
    r   c                   @   s,   e Zd ZdZdefdd„Zdefdd„ZdS )ÚRandomIdGeneratorzkThe default ID generator for TracerProvider which randomly generates all
    bits when generating IDs.
    r   c                 C   ó,   t  d¡}|tjkrt  d¡}|tjks
|S )Né@   )ÚrandomÚgetrandbitsr   ÚINVALID_SPAN_ID)r   Úspan_idr   r   r	   r
   2   ó
   



ÿz"RandomIdGenerator.generate_span_idc                 C   r   )Né€   )r   r   r   ÚINVALID_TRACE_ID)r   Útrace_idr   r   r	   r   8   r   z#RandomIdGenerator.generate_trace_idN)r   r   r   Ú__doc__r   r
   r   r   r   r   r	   r   -   s    r   )r   r   Úopentelemetryr   ÚABCr   r   r   r   r   r	   Ú<module>   s
   