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 java.lang.String |
TRACE_HEADER |
static java.lang.String |
TRACE_TYPE |
all
Constructor and Description |
---|
Tracing() |
Modifier and Type | Method and Description |
---|---|
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() |
java.util.Map<java.lang.String,byte[]> |
getTraceHeaders() |
Tracing.TraceType |
getTraceType() |
int |
getTTL() |
TraceState |
initializeFromMessage(MessageIn<?> message)
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) |
protected abstract TraceState |
newTraceState(java.net.InetAddress 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 from
OutboundTcpConnection 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) |
static void |
traceRepair(java.lang.String format,
java.lang.Object... args) |
public static final java.lang.String TRACE_HEADER
public static final java.lang.String TRACE_TYPE
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(MessageIn<?> message)
message
- The internode messagepublic java.util.Map<java.lang.String,byte[]> getTraceHeaders()
protected abstract TraceState newTraceState(java.net.InetAddress 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)
OutboundTcpConnection
for non-local traces (traces
that are not initiated by local node == coordinator).Copyright © 2016 The Apache Software Foundation