Overview of Tracing flags size in bits: 1 2 40 20 1 +-+--+----------------------------------------+--------------------+-+ | | | | Extension |0| | | | | Flags |0| +-+--+----------------------------------------+--------------------+-+ | | | | +-SamplingKnownSampled +-Most Significant Bit +-Debug
Overview of Tracing flags size in bits: 1 2 40 20 1 +-+--+----------------------------------------+--------------------+-+ | | | | Extension |0| | | | | Flags |0| +-+--+----------------------------------------+--------------------+-+ | | | | +-SamplingKnownSampled +-Most Significant Bit +-Debug
Extension Flags: The Sampled & Debug flags which are used to propagate trace sampling decisions are tightly coupled to the underlying sampling tracer implementation. These flags cannot be reused by other "non sampling" tracers without triggering unintended side effects in the existing sampling tracers. Hence the highest 20 bits (positions 43...62) excluding the most significant bit are reserved for use by custom tracers to propagate their tracing decisions safely without affecting any existing tracer implementations.
Finagle will never mutate extension flags, so it's safe to set your own extension flags.
Bitmask which represents the bit range of extension flags.
Represents the lowest bit position of extension flags.
Reserved for future use to encode sampling behavior, currently encoded explicitly in TraceId.sampled (Option[Boolean]).
a flags instance with no flags set.