-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
{- |
Module : OpenTelemetry.Trace.Id
Copyright : (c) Ian Duncan, 2021
License : BSD-3
Description : Trace and Span ID generation, validation, serialization, and deserialization
Maintainer : Ian Duncan
Stability : experimental
Portability : non-portable (GHC extensions)
Trace and Span Id generation
No Aeson instances are provided since they've got the potential to be
transport-specific in format. Use newtypes for serialisation instead.
-}
module OpenTelemetry.Trace.Id (
-- * Working with 'TraceId's
TraceId,
-- ** Creating 'TraceId's
newTraceId,
-- ** Checking 'TraceId's for validity
isEmptyTraceId,
-- ** Encoding / decoding 'TraceId' from bytes
traceIdBytes,
bytesToTraceId,
-- ** Encoding / decoding 'TraceId' from a given 'Base' encoding
baseEncodedToTraceId,
traceIdBaseEncodedBuilder,
traceIdBaseEncodedByteString,
traceIdBaseEncodedText,
-- * Working with 'SpanId's
SpanId,
-- ** Creating 'SpanId's
newSpanId,
-- ** Checking 'SpanId's for validity
isEmptySpanId,
-- ** Encoding / decoding 'SpanId' from bytes
spanIdBytes,
bytesToSpanId,
-- ** Encoding / decoding 'SpanId' from a given 'Base' encoding
Base (..),
baseEncodedToSpanId,
spanIdBaseEncodedBuilder,
spanIdBaseEncodedByteString,
spanIdBaseEncodedText,
) where
import OpenTelemetry.Internal.Trace.Id