Protected ReadonlyownerProtected ReadonlystopwatchProtected ReadonlythresholdArm the aggregate "all settled" log message. Call this after the startup sequence has finished collecting all promises. If all promises have already settled, the message is logged immediately.
Ensure that settlement tracking has been started for the given contribution. Starts the per-contribution measurement clock on the first call for each contribution.
Track a promise returned by a contribution's lifecycle method. Must be called after the corresponding Stopwatch.startAsync has completed so that the settlement log appears after the lifecycle measurement log.
Tracks the settlement of async work initiated by contributions during application startup.
A contribution "settles" when all promises it returned from lifecycle methods (initialize, configure, onStart, etc.) have resolved. Individual settlement is only logged when a contribution returned promises from more than one lifecycle method; otherwise the single lifecycle measurement already describes the work. An aggregate "all settled" message is logged once all tracked promises across all contributions have resolved.
Typical usage: