TraceId implements Stringable
A 16-byte (128-bit) trace identifier compatible with OpenTelemetry W3C Trace Context.
TraceIds are used to correlate spans across service boundaries. An all-zero TraceId is considered "invalid" and indicates no active trace.
Example usage:
$traceId = TraceId::generate();
echo $traceId->toHex(); // "0af7651916cd43dd8448eb211c80319c"
// Invalid trace ID (all zeros)
$invalid = TraceId::invalid();
echo $invalid->isValid(); // false
Interfaces
- Stringable
Constants
- INVALID = '00000000000000000000000000000000'
Methods
- __toString() : string
- equals() : bool
- Check if this TraceId equals another TraceId.
- fromArray() : self
- Create a TraceId from a normalized array representation.
- fromBytes() : self
- Create a TraceId from 16 raw bytes.
- fromHex() : self
- Create a TraceId from a 32-character hexadecimal string.
- generate() : self
- Generate a new random TraceId.
- invalid() : self
- Get an invalid TraceId (all zeros).
- isValid() : bool
- Check if this TraceId is valid (not all zeros).
- normalize() : array{hex: string}
- Normalize the TraceId to an array representation for serialization.
- toBytes() : string
- Get the TraceId as 16 raw bytes.
- toHex() : string
- Get the TraceId as a 32-character lowercase hexadecimal string.
Constants
INVALID
public
mixed
INVALID
= '00000000000000000000000000000000'
Methods
__toString()
public
__toString() : string
Return values
stringequals()
Check if this TraceId equals another TraceId.
public
equals(self $other) : bool
Parameters
- $other : self
Return values
boolfromArray()
Create a TraceId from a normalized array representation.
public
static fromArray(array{hex: string} $data) : self
Parameters
- $data : array{hex: string}
-
Normalized TraceId data
Tags
Return values
selffromBytes()
Create a TraceId from 16 raw bytes.
public
static fromBytes(string $bytes) : self
Parameters
- $bytes : string
-
16 raw bytes
Tags
Return values
selffromHex()
Create a TraceId from a 32-character hexadecimal string.
public
static fromHex(string $hex) : self
Parameters
- $hex : string
-
32-character lowercase hexadecimal string
Tags
Return values
selfgenerate()
Generate a new random TraceId.
public
static generate() : self
Return values
selfinvalid()
Get an invalid TraceId (all zeros).
public
static invalid() : self
Invalid TraceIds indicate no active trace context.
Return values
selfisValid()
Check if this TraceId is valid (not all zeros).
public
isValid() : bool
An all-zero TraceId indicates no active trace context.
Return values
boolnormalize()
Normalize the TraceId to an array representation for serialization.
public
normalize() : array{hex: string}
Return values
array{hex: string}toBytes()
Get the TraceId as 16 raw bytes.
public
toBytes() : string
Return values
stringtoHex()
Get the TraceId as a 32-character lowercase hexadecimal string.
public
toHex() : string