Package zipkin2.storage
Class ITSpanStore<T extends StorageComponent>
- java.lang.Object
-
- zipkin2.storage.ITStorage<T>
-
- zipkin2.storage.ITSpanStore<T>
-
public abstract class ITSpanStore<T extends StorageComponent> extends ITStorage<T>
Base test forSpanStore
.Subtypes should create a connection to a real backend, even if that backend is in-process.
-
-
Constructor Summary
Constructors Constructor Description ITSpanStore()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
accept(java.util.List<Span> spans)
protected void
accept(Span... spans)
protected void
configureStorageForTest(StorageComponent.Builder storage)
Configures aStorageComponent.Builder
with parameters for the test being executed.void
deduplicates()
Ideally, storage backends can deduplicate identical documents as this will prevent some analysis problems such as double-counting dependency links or other statistics.void
getTraces_duration()
Shows that duration queries go against the root span, not the childvoid
getTraces_lateDuration()
void
getTraces_maxDuration()
void
getTraces_minDuration()
void
getTraces_serviceNames()
void
getTraces_spanName()
void
getTraces_tags()
protected static QueryRequest.Builder
requestBuilder()
-
Methods inherited from class zipkin2.storage.ITStorage
clear, initializeStoragePerTest, names, newStorageBuilder, store
-
-
-
-
Method Detail
-
configureStorageForTest
protected final void configureStorageForTest(StorageComponent.Builder storage)
Description copied from class:ITStorage
Configures aStorageComponent.Builder
with parameters for the test being executed.- Specified by:
configureStorageForTest
in classITStorage<T extends StorageComponent>
-
deduplicates
@Test public void deduplicates() throws java.io.IOException
Ideally, storage backends can deduplicate identical documents as this will prevent some analysis problems such as double-counting dependency links or other statistics. While this test exists, it is known not all backends will be able to cheaply make it pass. In other words, it is optional.- Throws:
java.io.IOException
-
getTraces_serviceNames
@Test public void getTraces_serviceNames() throws java.lang.Exception
- Throws:
java.lang.Exception
-
getTraces_spanName
@Test public void getTraces_spanName() throws java.lang.Exception
- Throws:
java.lang.Exception
-
getTraces_tags
@Test public void getTraces_tags() throws java.lang.Exception
- Throws:
java.lang.Exception
-
getTraces_minDuration
@Test public void getTraces_minDuration() throws java.lang.Exception
- Throws:
java.lang.Exception
-
getTraces_lateDuration
@Test public void getTraces_lateDuration() throws java.lang.Exception
- Throws:
java.lang.Exception
-
getTraces_maxDuration
@Test public void getTraces_maxDuration() throws java.lang.Exception
- Throws:
java.lang.Exception
-
getTraces_duration
@Test public void getTraces_duration() throws java.io.IOException
Shows that duration queries go against the root span, not the child- Throws:
java.io.IOException
-
accept
protected void accept(java.util.List<Span> spans) throws java.io.IOException
- Throws:
java.io.IOException
-
accept
protected void accept(Span... spans) throws java.io.IOException
- Throws:
java.io.IOException
-
requestBuilder
protected static QueryRequest.Builder requestBuilder()
-
-