diff options
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")  		}  	}  } | 
