Class ITSpanStoreHeavy<T extends StorageComponent>

java.lang.Object
zipkin2.storage.ITStorage<T>
zipkin2.storage.ITSpanStoreHeavy<T>

public abstract class ITSpanStoreHeavy<T extends StorageComponent> extends ITStorage<T>
Base heavy tests for SpanStore implementations. Subtypes should create a connection to a real backend, even if that backend is in-process.

As these tests create a lot of data, implementations may wish to isolate them from other integration tests such as ITSpanStore

  • Constructor Details

    • ITSpanStoreHeavy

      public ITSpanStoreHeavy()
  • Method Details

    • initializeStoragePerTest

      protected boolean initializeStoragePerTest()
      Description copied from class: ITStorage
      Sets the test to initialise the StorageComponent before each test rather than the test class. Generally, tests will run faster if the storage is initialized as infrequently as possibly while clearing data between runs, but for certain backends like Cassandra, it's difficult to reliably clear data between runs and tends to be very slow anyways.
      Overrides:
      initializeStoragePerTest in class ITStorage<T extends StorageComponent>
    • configureStorageForTest

      protected final void configureStorageForTest(StorageComponent.Builder storage)
      Description copied from class: ITStorage
      Configures a StorageComponent.Builder with parameters for the test being executed.
      Specified by:
      configureStorageForTest in class ITStorage<T extends StorageComponent>
    • traceWithManySpans

      @Test protected void traceWithManySpans(org.junit.jupiter.api.TestInfo testInfo) throws Exception
      Throws:
      Exception
    • getTraces_manyTraces

      @Test protected void getTraces_manyTraces(org.junit.jupiter.api.TestInfo testInfo) throws Exception
      Formerly, a bug was present where cassandra didn't index more than bucket count traces per millisecond. This stores a lot of spans to ensure indexes work under high-traffic scenarios.
      Throws:
      Exception