o
    ¹i’  ã                   @   s6   d dl Z d dlZG dd„ de jƒZG dd„ deƒZdS )é    Nc                   @   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   úe/var/www/edux/Edux_v2/venv/lib/python3.10/site-packages/mysql/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¡S )Né@   ©ÚrandomÚgetrandbitsr   r   r   r   r	   0   ó   
z"RandomIdGenerator.generate_span_idc                 C   r   )Né€   r   r   r   r   r   r   3   r   z#RandomIdGenerator.generate_trace_idN)r   r   r   Ú__doc__r   r	   r   r   r   r   r   r   +   s    r   )r   r   ÚABCr   r   r   r   r   r   Ú<module>   s   