hs-opentelemetry-api-0.0.1.0: 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
}