public abstract class Tracing extends java.lang.Object implements ExecutorLocal<TraceState>
Modifier and Type | Class and Description |
---|---|
static class |
Tracing.TraceType |
Modifier and Type | Field and Description |
---|---|
static Tracing |
instance |
protected static org.slf4j.Logger |
logger |
protected java.util.concurrent.ConcurrentMap<java.util.UUID,TraceState> |
sessions |
static IVersionedSerializer<Tracing.TraceType> |
traceTypeSerializer |
all
Constructor and Description |
---|
Tracing() |
Modifier and Type | Method and Description |
---|---|
java.util.Map<ParamType,java.lang.Object> |
addTraceHeaders(java.util.Map<ParamType,java.lang.Object> addToMutable) |
abstract TraceState |
begin(java.lang.String request,
java.net.InetAddress client,
java.util.Map<java.lang.String,java.lang.String> parameters) |
TraceState |
begin(java.lang.String request,
java.util.Map<java.lang.String,java.lang.String> parameters) |
void |
doneWithNonLocalSession(TraceState state) |
TraceState |
get()
This is called when scheduling the task, and also before calling
ExecutorLocal.set(Object) when running on a
executor thread. |
TraceState |
get(java.util.UUID sessionId) |
java.util.UUID |
getSessionId() |
Tracing.TraceType |
getTraceType() |
int |
getTTL() |
TraceState |
initializeFromMessage(Message.Header header)
Determines the tracing context from a message.
|
static boolean |
isTracing()
Indicates if the current thread's execution is being traced.
|
java.util.UUID |
newSession(java.util.Map<java.lang.String,java.nio.ByteBuffer> customPayload) |
java.util.UUID |
newSession(Tracing.TraceType traceType) |
java.util.UUID |
newSession(java.util.UUID sessionId,
java.util.Map<java.lang.String,java.nio.ByteBuffer> customPayload) |
protected java.util.UUID |
newSession(java.util.UUID sessionId,
Tracing.TraceType traceType,
java.util.Map<java.lang.String,java.nio.ByteBuffer> customPayload)
This method is intended to be overridden in tracing implementations that need access to the customPayload
|
protected abstract TraceState |
newTraceState(InetAddressAndPort coordinator,
java.util.UUID sessionId,
Tracing.TraceType traceType) |
void |
set(TraceState tls)
Before a task has been run, this will be called with the value from the thread that scheduled the task, and after
the task is finished, the value that was previously retrieved from this thread is restored.
|
void |
stopSession()
Stop the session and record its complete.
|
protected abstract void |
stopSessionImpl() |
abstract void |
trace(java.nio.ByteBuffer sessionId,
java.lang.String message,
int ttl)
Called for non-local traces (traces that are not initiated by local node == coordinator).
|
static void |
trace(java.lang.String message) |
static void |
trace(java.lang.String format,
java.lang.Object... args) |
static void |
trace(java.lang.String format,
java.lang.Object arg) |
static void |
trace(java.lang.String format,
java.lang.Object arg1,
java.lang.Object arg2) |
void |
traceOutgoingMessage(Message<?> message,
int serializedSize,
InetAddressAndPort sendTo)
Record any tracing data, if enabled on this message.
|
static void |
traceRepair(java.lang.String format,
java.lang.Object... args) |
public static final IVersionedSerializer<Tracing.TraceType> traceTypeSerializer
protected static final org.slf4j.Logger logger
protected final java.util.concurrent.ConcurrentMap<java.util.UUID,TraceState> sessions
public static final Tracing instance
public java.util.UUID getSessionId()
public Tracing.TraceType getTraceType()
public int getTTL()
public static boolean isTracing()
public java.util.UUID newSession(java.util.Map<java.lang.String,java.nio.ByteBuffer> customPayload)
public java.util.UUID newSession(Tracing.TraceType traceType)
public java.util.UUID newSession(java.util.UUID sessionId, java.util.Map<java.lang.String,java.nio.ByteBuffer> customPayload)
protected java.util.UUID newSession(java.util.UUID sessionId, Tracing.TraceType traceType, java.util.Map<java.lang.String,java.nio.ByteBuffer> customPayload)
public void doneWithNonLocalSession(TraceState state)
public void stopSession()
protected abstract void stopSessionImpl()
public TraceState get()
ExecutorLocal
ExecutorLocal.set(Object)
when running on a
executor thread.get
in interface ExecutorLocal<TraceState>
public TraceState get(java.util.UUID sessionId)
public void set(TraceState tls)
ExecutorLocal
set
in interface ExecutorLocal<TraceState>
tls
- Value to use for the executor local state; may be null.public TraceState begin(java.lang.String request, java.util.Map<java.lang.String,java.lang.String> parameters)
public abstract TraceState begin(java.lang.String request, java.net.InetAddress client, java.util.Map<java.lang.String,java.lang.String> parameters)
public TraceState initializeFromMessage(Message.Header header)
header
- The internode message headerpublic void traceOutgoingMessage(Message<?> message, int serializedSize, InetAddressAndPort sendTo)
public java.util.Map<ParamType,java.lang.Object> addTraceHeaders(java.util.Map<ParamType,java.lang.Object> addToMutable)
protected abstract TraceState newTraceState(InetAddressAndPort coordinator, java.util.UUID sessionId, Tracing.TraceType traceType)
public static void traceRepair(java.lang.String format, java.lang.Object... args)
public static void trace(java.lang.String message)
public static void trace(java.lang.String format, java.lang.Object arg)
public static void trace(java.lang.String format, java.lang.Object arg1, java.lang.Object arg2)
public static void trace(java.lang.String format, java.lang.Object... args)
public abstract void trace(java.nio.ByteBuffer sessionId, java.lang.String message, int ttl)
Copyright © 2009-2021 The Apache Software Foundation