Package io.opencensus.trace
Class TraceId
- java.lang.Object
-
- io.opencensus.trace.TraceId
-
-
Field Summary
Fields Modifier and Type Field Description private static int
BASE16_SIZE
private long
idHi
private long
idLo
static TraceId
INVALID
The invalidTraceId
.private static long
INVALID_ID
static int
SIZE
The size in bytes of theTraceId
.
-
Constructor Summary
Constructors Modifier Constructor Description private
TraceId(long idHi, long idLo)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description int
compareTo(TraceId that)
void
copyBytesTo(byte[] dest, int destOffset)
Copies the byte array representations of theTraceId
into thedest
beginning at thedestOffset
offset.void
copyLowerBase16To(char[] dest, int destOffset)
Copies the lowercase base16 representations of theTraceId
into thedest
beginning at thedestOffset
offset.boolean
equals(java.lang.Object obj)
static TraceId
fromBytes(byte[] src)
Returns aTraceId
built from a byte representation.static TraceId
fromBytes(byte[] src, int srcOffset)
Returns aTraceId
whose representation is copied from thesrc
beginning at thesrcOffset
offset.static TraceId
fromLowerBase16(java.lang.CharSequence src)
Returns aTraceId
built from a lowercase base16 representation.static TraceId
fromLowerBase16(java.lang.CharSequence src, int srcOffset)
Returns aTraceId
built from a lowercase base16 representation.static TraceId
generateRandomId(java.util.Random random)
Generates a new randomTraceId
.byte[]
getBytes()
Returns the 16-bytes array representation of theTraceId
.long
getLowerLong()
Returns the lower 8 bytes of the trace-id as a long value, assuming little-endian order.int
hashCode()
boolean
isValid()
Returns whether theTraceId
is valid.java.lang.String
toLowerBase16()
Returns the lowercase base16 encoding of thisTraceId
.java.lang.String
toString()
-
-
-
Field Detail
-
SIZE
public static final int SIZE
The size in bytes of theTraceId
.- Since:
- 0.5
- See Also:
- Constant Field Values
-
BASE16_SIZE
private static final int BASE16_SIZE
- See Also:
- Constant Field Values
-
INVALID_ID
private static final long INVALID_ID
- See Also:
- Constant Field Values
-
INVALID
public static final TraceId INVALID
The invalidTraceId
. All bytes are '\0'.- Since:
- 0.5
-
idHi
private final long idHi
-
idLo
private final long idLo
-
-
Method Detail
-
fromBytes
public static TraceId fromBytes(byte[] src)
Returns aTraceId
built from a byte representation.- Parameters:
src
- the representation of theTraceId
.- Returns:
- a
TraceId
whose representation is given by thesrc
parameter. - Throws:
java.lang.NullPointerException
- ifsrc
is null.java.lang.IllegalArgumentException
- ifsrc.length
is notSIZE
.- Since:
- 0.5
-
fromBytes
public static TraceId fromBytes(byte[] src, int srcOffset)
Returns aTraceId
whose representation is copied from thesrc
beginning at thesrcOffset
offset.- Parameters:
src
- the buffer where the representation of theTraceId
is copied.srcOffset
- the offset in the buffer where the representation of theTraceId
begins.- Returns:
- a
TraceId
whose representation is copied from the buffer. - Throws:
java.lang.NullPointerException
- ifsrc
is null.java.lang.IndexOutOfBoundsException
- ifsrcOffset+TraceId.SIZE
is greater thansrc.length
.- Since:
- 0.5
-
fromLowerBase16
public static TraceId fromLowerBase16(java.lang.CharSequence src)
Returns aTraceId
built from a lowercase base16 representation.- Parameters:
src
- the lowercase base16 representation.- Returns:
- a
TraceId
built from a lowercase base16 representation. - Throws:
java.lang.NullPointerException
- ifsrc
is null.java.lang.IllegalArgumentException
- ifsrc.length
is not2 * TraceId.SIZE
OR if thestr
has invalid characters.- Since:
- 0.11
-
fromLowerBase16
public static TraceId fromLowerBase16(java.lang.CharSequence src, int srcOffset)
Returns aTraceId
built from a lowercase base16 representation.- Parameters:
src
- the lowercase base16 representation.srcOffset
- the offset in the buffer where the representation of theTraceId
begins.- Returns:
- a
TraceId
built from a lowercase base16 representation. - Throws:
java.lang.NullPointerException
- ifsrc
is null.java.lang.IllegalArgumentException
- if not enough characters in thesrc
from thesrcOffset
.- Since:
- 0.11
-
generateRandomId
public static TraceId generateRandomId(java.util.Random random)
Generates a new randomTraceId
.- Parameters:
random
- the random number generator.- Returns:
- a new valid
TraceId
. - Since:
- 0.5
-
getBytes
public byte[] getBytes()
Returns the 16-bytes array representation of theTraceId
.- Returns:
- the 16-bytes array representation of the
TraceId
. - Since:
- 0.5
-
copyBytesTo
public void copyBytesTo(byte[] dest, int destOffset)
Copies the byte array representations of theTraceId
into thedest
beginning at thedestOffset
offset.- Parameters:
dest
- the destination buffer.destOffset
- the starting offset in the destination buffer.- Throws:
java.lang.NullPointerException
- ifdest
is null.java.lang.IndexOutOfBoundsException
- ifdestOffset+TraceId.SIZE
is greater thandest.length
.- Since:
- 0.5
-
copyLowerBase16To
public void copyLowerBase16To(char[] dest, int destOffset)
Copies the lowercase base16 representations of theTraceId
into thedest
beginning at thedestOffset
offset.- Parameters:
dest
- the destination buffer.destOffset
- the starting offset in the destination buffer.- Throws:
java.lang.IndexOutOfBoundsException
- ifdestOffset + 2 * TraceId.SIZE
is greater thandest.length
.- Since:
- 0.18
-
isValid
public boolean isValid()
Returns whether theTraceId
is valid. A valid trace identifier is a 16-byte array with at least one non-zero byte.- Returns:
true
if theTraceId
is valid.- Since:
- 0.5
-
toLowerBase16
public java.lang.String toLowerBase16()
Returns the lowercase base16 encoding of thisTraceId
.- Returns:
- the lowercase base16 encoding of this
TraceId
. - Since:
- 0.11
-
getLowerLong
@Internal public long getLowerLong()
Returns the lower 8 bytes of the trace-id as a long value, assuming little-endian order. This is used in ProbabilitySampler.This method is marked as internal and subject to change.
- Returns:
- the lower 8 bytes of the trace-id as a long value, assuming little-endian order.
-
equals
public boolean equals(@Nullable java.lang.Object obj)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-