diff options
author | Rasmus Dahlberg <rasmus@rgdd.se> | 2023-03-18 18:30:52 +0000 |
---|---|---|
committer | Rasmus Dahlberg <rasmus@rgdd.se> | 2023-03-18 19:34:47 +0100 |
commit | d223c816323f62f7e147a44823796d6bf5fc25f3 (patch) | |
tree | c9aee44fb0ecb91366330f85035703345e5b784e /utils_housekeep.go | |
parent | 3715c5d8d2c36811732715257be8e7ffd0770d47 (diff) |
Print stats on shutdown
Diffstat (limited to 'utils_housekeep.go')
-rw-r--r-- | utils_housekeep.go | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/utils_housekeep.go b/utils_housekeep.go index 7a60b27..eb39a7a 100644 --- a/utils_housekeep.go +++ b/utils_housekeep.go @@ -47,21 +47,28 @@ func handleMetrics(ctx context.Context, opts options, logs []metadata.Log, metri } } + output := func(desc string) { + str := "" + for _, log := range logs { + str += sum[*log.Description].String() + } + fmt.Fprintf(os.Stderr, "INFO: %s\n\n%s\n\n", desc, str) + } + defer output("status update before shutdown") + defer time.Sleep(500 * time.Millisecond) + ticker := time.NewTicker(opts.MetricsInterval) defer ticker.Stop() for { select { case <-ctx.Done(): + return case m := <-metricsCh: s := sum[m.Description] s.update(m) sum[m.Description] = s case <-ticker.C: - output := "" - for _, log := range logs { - output += sum[*log.Description].String() - } - fmt.Fprintf(os.Stderr, "INFO: periodic status update\n\n%s\n\n", output) + output("periodic status update") } } } |