
    3i                     `    S SK r S SKrS SKJr   " S S\ R                  5      r " S S\5      rg)    N)tracec                   l    \ rS rSr\R
                  S\4S j5       r\R
                  S\4S j5       rSr	g)IdGenerator   returnc                     g)zCGet a new span ID.

Returns:
    A 64-bit int for use as a span ID
N selfs    ^/home/james-whalen/.local/lib/python3.13/site-packages/opentelemetry/sdk/trace/id_generator.pygenerate_span_idIdGenerator.generate_span_id           c                     g)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_idIdGenerator.generate_trace_id   r   r   r	   N)
__name__
__module____qualname____firstlineno__abcabstractmethodintr   r   __static_attributes__r	   r   r   r   r      sB    #   	3  r   r   c                   4    \ rS rSrSrS\4S jrS\4S jrSrg)RandomIdGenerator-   zcThe default ID generator for TracerProvider which randomly generates all
bits when generating IDs.
r   c                     [         R                  " S5      nU[        R                  :X  a,  [         R                  " S5      nU[        R                  :X  a  M,  U$ )N@   )randomgetrandbitsr   INVALID_SPAN_ID)r   span_ids     r   r   "RandomIdGenerator.generate_span_id2   sE    $$R(...((,G ...r   c                     [         R                  " S5      nU[        R                  :X  a,  [         R                  " S5      nU[        R                  :X  a  M,  U$ )N   )r!   r"   r   INVALID_TRACE_ID)r   trace_ids     r   r   #RandomIdGenerator.generate_trace_id8   sE    %%c*%000))#.H %000r   r	   N)	r   r   r   r   __doc__r   r   r   r   r	   r   r   r   r   -   s    # 3 r   r   )r   r!   opentelemetryr   ABCr   r   r	   r   r   <module>r.      s,      #'' 0 r   