Attempt Metrics
Metrics the retry wrapper collects after each attempt (success or failure). The caller supplies them via retryWith's collectAttemptMetrics callback — typically by reading consumptionTracker.collectAndClear() and a captured TimeMark.elapsedNow().