public class QueryTrace extends Object
A trace is generated by Cassandra when query tracing is enabled for the query. The trace
itself is stored in Cassandra in the sessions
and events
table in the system_traces
keyspace and can be retrieve manually using the trace identifier (the one returned
by getTraceId()
).
This class provides facilities to fetch the traces from Cassandra. Please note that the writing of the trace is done asynchronously in Cassandra. So accessing the trace too soon after the query may result in the trace being incomplete.
Modifier and Type | Class and Description |
---|---|
static class |
QueryTrace.Event
A trace event.
|
Modifier and Type | Method and Description |
---|---|
InetAddress |
getCoordinator()
Returns the coordinator host of the query.
|
int |
getDurationMicros()
Returns the server-side duration of the query in microseconds.
|
List<QueryTrace.Event> |
getEvents()
Returns the events contained in this trace.
|
Map<String,String> |
getParameters()
Returns the parameters attached to this trace.
|
String |
getRequestType()
Returns the type of request.
|
long |
getStartedAt()
Returns the server-side timestamp of the start of this query.
|
UUID |
getTraceId()
Returns the identifier of this trace.
|
String |
toString() |
public UUID getTraceId()
Note that contrary to the other methods in this class, this does not entail fetching query trace details from Cassandra.
public String getRequestType()
null
if the request type is not yet available.TraceRetrievalException
- if the trace details cannot be retrieve from Cassandra
successfully.public int getDurationMicros()
Integer.MIN_VALUE
if the duration is not yet available.TraceRetrievalException
- if the trace details cannot be retrieve from Cassandra
successfully.public InetAddress getCoordinator()
null
if the coordinator is not yet
available.TraceRetrievalException
- if the trace details cannot be retrieve from Cassandra
successfully.public Map<String,String> getParameters()
null
if the coordinator is not yet
available.TraceRetrievalException
- if the trace details cannot be retrieve from Cassandra
successfully.public long getStartedAt()
TraceRetrievalException
- if the trace details cannot be retrieve from Cassandra
successfully.public List<QueryTrace.Event> getEvents()
Query tracing is asynchronous in Cassandra. Hence, it is possible for the list returned to be missing some events for some of the replica involved in the query if the query trace is requested just after the return of the query it is a trace of (the only guarantee being that the list will contain the events pertaining to the coordinator of the query).
TraceRetrievalException
- if the trace details cannot be retrieve from Cassandra
successfully.Copyright © 2012–2023. All rights reserved.