internal/outcome: measure finalise time

This also increases precision of state time output.

Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
2025-11-02 05:17:33 +09:00
parent 6931ad95c3
commit e7161f8e61
3 changed files with 8 additions and 4 deletions

View File

@@ -110,14 +110,13 @@ func (k *outcome) main(msg message.Msg) {
)
for {
var processTimePrev time.Time
processTimePrev, processTime = processTime, time.Now()
var processStatePrev uintptr
processStatePrev, processStateCur = processStateCur, processState
if !processTimePrev.IsZero() && processStatePrev != processLifecycle {
msg.Verbosef("state %d took %d ms", processStatePrev, processTime.Sub(processTimePrev).Milliseconds())
if !processTime.IsZero() && processStatePrev != processLifecycle {
msg.Verbosef("state %d took %.2f ms", processStatePrev, float64(time.Since(processTime).Nanoseconds())/1e6)
}
processTime = time.Now()
switch processState {
case processStart: