@Test void cassandra3() throws Exception {
    GenericContainer<?> cassandra =
      new GenericContainer<>(parse("ghcr.io/openzipkin/zipkin-cassandra:3.4.3"))
        .withNetwork(Network.SHARED)
        .withNetworkAliases("cassandra")
        .withLabel("name", "cassandra")
        .withLabel("storageType", "cassandra3")
        .withExposedPorts(9042)
        .waitingFor(Wait.forHealthcheck());
    containers.add(cassandra);

    runBenchmark(cassandra);
  }
This benchmark runs zipkin-server, storage backends, an example application, prometheus, grafana,
and wrk using docker to generate a performance report.

<p>Currently there are two environment variable knobs

<ul>
  <li>
    RELEASE_VERSION - specify to a released zipkin server. If unspecified, will use the current code,
    i.e., the code currently displayed in your IDE.
  </li>
  <li>
    ZIPKIN_BENCHMARK_WAIT - set to true to have the benchmark wait until user manually terminates at the end.
    Useful to manually inspect prometheus / grafana.
  </li>
</ul>

<p>Note to Windows laptop users: you will probably need to restart the Docker daemon before a
session of benchmarks. Docker containers seem to have time get out of sync when a computer sleeps
until you restart the daemon - this causes Prometheus metrics to not scrape properly.
benchmarks/src/test/java/zipkin2/server/ServerIntegratedBenchmark.java