aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXe Iaso <me@xeiaso.net>2023-06-15 20:22:35 -0400
committerXe Iaso <me@xeiaso.net>2023-06-15 20:22:35 -0400
commit700a2858556ddad25384a1dcbada9cecdbc9f65b (patch)
treea95c5f50f483f189745c460a0322ca8b94f8a435
parent0534c428c7ac50b858c593fc0dc817b52a768d34 (diff)
downloadx-700a2858556ddad25384a1dcbada9cecdbc9f65b.tar.xz
x-700a2858556ddad25384a1dcbada9cecdbc9f65b.zip
cardio: don't create counters again
Signed-off-by: Xe Iaso <me@xeiaso.net>
-rw-r--r--cardio/cardio.go12
1 files changed, 10 insertions, 2 deletions
diff --git a/cardio/cardio.go b/cardio/cardio.go
index ef67a83..15343dd 100644
--- a/cardio/cardio.go
+++ b/cardio/cardio.go
@@ -50,8 +50,16 @@ func Heartbeat(ctx context.Context, min, max time.Duration) (<-chan struct{}, fu
var tachycardiaCounter *expvar.Int
if name, ok := opname.Get(ctx); ok {
- counter = expvar.NewInt("gauge_heartbeat_" + name)
- tachycardiaCounter = expvar.NewInt("gauge_heartbeat_backoff_" + name)
+ if ctr := expvar.Get("gauge_heartbeat_" + name); counter == nil {
+ counter = expvar.NewInt("gauge_heartbeat_" + name)
+ } else {
+ counter = ctr.(*expvar.Int)
+ }
+ if ctr := expvar.Get("gauge_heartbeat_backoff_" + name); tachycardiaCounter == nil {
+ tachycardiaCounter = expvar.NewInt("gauge_heartbeat_backoff_" + name)
+ } else {
+ tachycardiaCounter = ctr.(*expvar.Int)
+ }
}
slower := func() {