@TearDown(Level.Iteration)
    public void waitForCurrentRequests() {
        waiting = true;
        await().forever().until(() -> currentRequests.get() == 0);
    }
Counters useful for measuring asynchronous requests. It is important for users to call
{@link #incrementCurrentRequests()} and {@link #decrementCurrentRequests()} at beginning and end of a
request to make sure all requests are completed before moving onto the next benchmark iteration.
benchmarks/jmh/src/jmh/java/com/linecorp/armeria/shared/AsyncCounters.java