From 458e61d6abfb1b6fe514f2843adfcc5247422d1f Mon Sep 17 00:00:00 2001 From: EuAndreh Date: Wed, 25 Sep 2024 16:04:26 -0300 Subject: src/gobang.go: Add Timed() --- src/gobang.go | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'src') diff --git a/src/gobang.go b/src/gobang.go index 921597e..804cd34 100644 --- a/src/gobang.go +++ b/src/gobang.go @@ -14,6 +14,7 @@ import ( "slices" "strings" "syscall" + "time" "guuid" ) @@ -201,6 +202,36 @@ func metric(type_ string, label string, args ...any) { ) } +func Timed(label string, thunk func() any, args ...any) any { + var ( + start time.Time + end time.Time + ret any + ) + + + { + start = time.Now() + ret = thunk() + end = time.Now() + } + + duration := end.Sub(start) + metric( + "timer", label, + slices.Concat( + []any{ + "start", start, + "end", end, + "duration", duration, + }, + args, + )..., + ) + + return ret +} + func MakeCounter(label string) func(...any) { return func(args ...any) { metric( -- cgit v1.2.3