hs-opentelemetry-api-0.0.3.7: src/OpenTelemetry/Trace/Id/Generator.hs
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
{- |
Module : OpenTelemetry.Id.Generator
Copyright : (c) Ian Duncan, 2021
License : BSD-3
Description : Raw byte generation facilities for ID generation
Maintainer : Ian Duncan
Stability : experimental
Portability : non-portable (GHC extensions)
Stateful random number generation interface for creating Trace and Span ID
bytes.
In most cases, the built-in generator in the hs-opentelemetry-sdk will be sufficient, but the
interface is exposed for more exotic needs.
-}
module OpenTelemetry.Trace.Id.Generator (
IdGenerator (..),
) where
import Data.ByteString (ByteString)
{- | An interface for generating the underlying bytes for
trace and span ids.
-}
data IdGenerator = IdGenerator
{ generateSpanIdBytes :: IO ByteString
-- ^ MUST generate exactly 8 bytes
, generateTraceIdBytes :: IO ByteString
-- ^ MUST generate exactly 16 bytes
}