Class ITSpanStoreHeavy<T extends StorageComponent>


  • 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 Detail

      • ITSpanStoreHeavy

        public ITSpanStoreHeavy()
    • Method Detail

      • 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>
      • 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