
    ti                     d    d dl Z d dlZd dlmZ  G d de j                  Z G d de          ZdS )    N)tracec                   Z    e Zd Zej        defd            Zej        defd            ZdS )IdGeneratorreturnc                     dS )z[Get a new span ID.

        Returns:
            A 64-bit int for use as a span ID
        N selfs    W/var/www/icac/venv/lib/python3.11/site-packages/opentelemetry/sdk/trace/id_generator.pygenerate_span_idzIdGenerator.generate_span_id             c                     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	   s    r   generate_trace_idzIdGenerator.generate_trace_id   r   r   N)__name__
__module____qualname__abcabstractmethodintr   r   r   r   r   r   r      sh        #     	3      r   r   c                   *    e Zd ZdZdefdZdefdZdS )RandomIdGeneratorzkThe default ID generator for TracerProvider which randomly generates all
    bits when generating IDs.
    r   c                     t          j        d          }|t          j        k    r$t          j        d          }|t          j        k    $|S )N@   )randomgetrandbitsr   INVALID_SPAN_ID)r
   span_ids     r   r   z"RandomIdGenerator.generate_span_id2   sE    $R((...(,,G ...r   c                     t          j        d          }|t          j        k    r$t          j        d          }|t          j        k    $|S )N   )r   r   r   INVALID_TRACE_ID)r
   trace_ids     r   r   z#RandomIdGenerator.generate_trace_id8   sE    %c**%000)#..H %000r   N)r   r   r   __doc__r   r   r   r   r   r   r   r   -   sT         #    3      r   r   )r   r   opentelemetryr   ABCr   r   r   r   r   <module>r&      s    


           #'   0         r   