public interface SpanStore
| Modifier and Type | Method and Description |
|---|---|
List<DependencyLink> |
getDependencies(long endTs,
Long lookback)
Returns dependency links derived from spans.
|
List<Span> |
getRawTrace(long traceId)
Deprecated.
Please switch to
getRawTrace(long, long) |
List<Span> |
getRawTrace(long traceIdHigh,
long traceIdLow)
Retrieves spans that share a 128-bit trace id, as returned from backend data store queries,
with no ordering expectation.
|
List<String> |
getServiceNames()
Get all the
service names. |
List<String> |
getSpanNames(String serviceName)
Get all the span names for a particular
Endpoint.serviceName. |
List<Span> |
getTrace(long traceId)
Deprecated.
Please switch to
getTrace(long, long) |
List<Span> |
getTrace(long traceIdHigh,
long traceIdLow)
Get the available trace information from the storage system.
|
List<List<Span>> |
getTraces(QueryRequest request)
Get the available trace information from the storage system.
|
List<List<Span>> getTraces(QueryRequest request)
Results are sorted in order of the first span's timestamp, and contain up to QueryRequest.limit elements.
If StorageComponent.Builder.strictTraceId(boolean) is enabled, spans with the
same 64-bit trace ID will be grouped together.
@Nullable List<Span> getTrace(long traceIdHigh, long traceIdLow)
When StorageComponent.Builder.strictTraceId(boolean) is true, spans with the
same traceIdLow are returned even if the traceIdHigh is different.
traceIdHigh - The upper 64-bits of the trace ID. See Span.traceIdHightraceIdLow - The lower 64-bits of the trace ID. See Span.traceId@Nullable List<Span> getRawTrace(long traceIdHigh, long traceIdLow)
This is different, but related to getTrace(long, long). getTrace(long, long) cleans data by
merging spans, adding timestamps and performing clock skew adjustment. This feature is for
debugging zipkin logic or zipkin instrumentation.
When StorageComponent.Builder.strictTraceId(boolean) is true, spans with the
same traceIdLow are returned even if the traceIdHigh is different.
traceIdHigh - The upper 64-bits of the trace ID. See Span.traceIdHightraceIdLow - The lower 64-bits of the trace ID. See Span.traceId@Deprecated @Nullable List<Span> getTrace(long traceId)
getTrace(long, long)getTrace(long, long) with traceIdHigh set to zero.@Deprecated @Nullable List<Span> getRawTrace(long traceId)
getRawTrace(long, long)getRawTrace(long, long) with traceIdHigh set to zero.List<String> getServiceNames()
service names.
Results are sorted lexicographically
List<String> getSpanNames(String serviceName)
Endpoint.serviceName.
Results are sorted lexicographically
List<DependencyLink> getDependencies(long endTs, @Nullable Long lookback)
Implementations may bucket aggregated data, for example daily. When this is the case, endTs may be floored to align with that bucket, for example midnight if daily. lookback applies to the original endTs, even when bucketed. Using the daily example, if endTs was 11pm and lookback was 25 hours, the implementation would query against 2 buckets.
Some implementations parse Span from storage and call
DependencyLinker to aggregate links. The reason is certain graph logic,
such as skipping up the tree is difficult to implement as a storage query.
There's no parameter to indicate how to handle mixed ID length: this operates the same as if
StorageComponent.Builder.strictTraceId(boolean) was set to false. This ensures call
counts are not incremented twice due to one hop downgrading from 128 to 64-bit trace IDs.
endTs - only return links from spans where Span.timestamp are at or before this
time in epoch milliseconds.lookback - only return links from spans where Span.timestamp are at or after
(endTs - lookback) in milliseconds. Defaults to endTs.Copyright © 2015–2018 OpenZipkin. All rights reserved.