close
Final flush, then release. Idempotent; recording after close is a no-op rather than a throw.
runBlocking because Closeable.close() does not suspend and the final flush must complete or the last interval is lost. The blocking window is one export.