From 89055f4ec6ff5e67aed8cd41fadff9f53b4219b8 Mon Sep 17 00:00:00 2001 From: ramil Date: Mon, 7 Dec 2020 20:01:02 +0300 Subject: [PATCH] fix update prometheus statediff block height --- statediff/service.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/statediff/service.go b/statediff/service.go index 2f16fc4ab..69b2957c7 100644 --- a/statediff/service.go +++ b/statediff/service.go @@ -273,8 +273,10 @@ func (sds *Service) writeLoopWorker(params workerParams) { log.Error("statediff.Service.WriteLoop: processing error", "block height", currentBlock.Number().Uint64(), "error", err.Error(), "worker", params.id) continue } - // TODO: how to handle with concurrent workers - statediffMetrics.lastStatediffHeight.Update(int64(currentBlock.Number().Uint64())) + lastStatediffHeight := statediffMetrics.lastStatediffHeight.Value() + if currentBlock.Number().Uint64() > uint64(lastStatediffHeight) { + statediffMetrics.lastStatediffHeight.Update(int64(currentBlock.Number().Uint64())) + } case err := <-params.errCh: log.Warn("Error from chain event subscription", "error", err, "worker", params.id) sds.close() -- 2.45.2