@Test protected void traceWithManySpans(TestInfo testInfo) throws Exception {
    String testSuffix = testSuffix(testInfo);
    Span span = spanBuilder(testSuffix).build();

    int traceCount = 101;
    Span[] spans = new Span[traceCount];
    spans[0] = span;

    IntStream.range(1, spans.length).forEach(i ->
      spans[i] = span.toBuilder().parentId(span.id()).id(i)
        .timestamp((TODAY + i) * 1000).duration(10L)
        .build());

    accept(spans);

    assertGetTracesReturns(requestBuilder().build(), List.of(spans));
    assertGetTraceReturns(span.traceId(), List.of(spans));
  }
Base heavy tests for {@link SpanStore} implementations. Subtypes should create a connection to a
real backend, even if that backend is in-process.

<p>As these tests create a lot of data, implementations may wish to isolate them from other
integration tests such as {@link ITSpanStore}
zipkin-tests/src/main/java/zipkin2/storage/ITSpanStoreHeavy.java