----------------------------------------------------------------------------- ----------------------------------------------------------------------------- {- | 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 { IdGenerator -> IO ByteString generateSpanIdBytes :: IO ByteString -- ^ MUST generate exactly 8 bytes , IdGenerator -> IO ByteString generateTraceIdBytes :: IO ByteString -- ^ MUST generate exactly 16 bytes }