U
    4Je’  ã                   @   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edœdd„ƒZejedœdd„ƒZdS )ÚIdGenerator©Úreturnc                 C   s   dS )z[Get a new span ID.

        Returns:
            A 64-bit int for use as a span ID
        N© ©Úselfr   r   úN/tmp/pip-unpacked-wheel-7_167w8m/mysql/opentelemetry/sdk/trace/id_generator.pyÚgenerate_span_id   s    zIdGenerator.generate_span_idc                 C   s   dS )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   s    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edœdd„Zedœdd„ZdS )ÚRandomIdGeneratorzkThe default ID generator for TracerProvider which randomly generates all
    bits when generating IDs.
    r   c                 C   s
   t  d¡S )Né@   ©ÚrandomÚgetrandbitsr   r   r   r   r	   0   s    z"RandomIdGenerator.generate_span_idc                 C   s
   t  d¡S )Né€   r   r   r   r   r   r
   3   s    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   