From a4e783303c5528d14405111cd8e72fcddc6b1bc0 Mon Sep 17 00:00:00 2001 From: Aaryamann Challani <43716372+rymnc@users.noreply.github.com> Date: Mon, 11 Sep 2023 19:21:45 +0530 Subject: [PATCH] fix(rln-relay): waku_rln_number_registered_memberships metrics appropriately handled (#2018) --- .../group_manager/on_chain/group_manager.nim | 7 ++++--- waku/waku_rln_relay/protocol_metrics.nim | 3 ++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/waku/waku_rln_relay/group_manager/on_chain/group_manager.nim b/waku/waku_rln_relay/group_manager/on_chain/group_manager.nim index b82c298fd..f23cc0d30 100644 --- a/waku/waku_rln_relay/group_manager/on_chain/group_manager.nim +++ b/waku/waku_rln_relay/group_manager/on_chain/group_manager.nim @@ -105,7 +105,8 @@ method atomicBatch*(g: OnchainGroupManager, let operationSuccess = g.rlnInstance.atomicWrite(some(start), idCommitments, toRemoveIndices) if not operationSuccess: raise newException(ValueError, "atomic batch operation failed") - waku_rln_number_registered_memberships.inc(int64(idCommitments.len - toRemoveIndices.len)) + # TODO: when slashing is enabled, we need to track slashed members + waku_rln_number_registered_memberships.set(int64(start.int + idCommitments.len - toRemoveIndices.len)) if g.registerCb.isSome(): var membersSeq = newSeq[Membership]() @@ -304,7 +305,7 @@ proc getAndHandleEvents(g: OnchainGroupManager, toBlock: BlockNumber): Future[void] {.async.} = initializedGuard(g) - let blockTable = await g.getBlockTable(fromBlock, toBlock) + let blockTable = await g.getBlockTable(fromBlock, toBlock) await g.handleEvents(blockTable) await g.handleRemovedEvents(blockTable) @@ -544,4 +545,4 @@ method isReady*(g: OnchainGroupManager): Future[bool] {.async,gcsafe.} = if g.latestProcessedBlock < currentBlock: return false - return not (await g.isSyncing()) \ No newline at end of file + return not (await g.isSyncing()) diff --git a/waku/waku_rln_relay/protocol_metrics.nim b/waku/waku_rln_relay/protocol_metrics.nim index 30626046b..d075eff38 100644 --- a/waku/waku_rln_relay/protocol_metrics.nim +++ b/waku/waku_rln_relay/protocol_metrics.nim @@ -35,7 +35,8 @@ declarePublicHistogram(identifier = waku_rln_valid_messages_total, buckets = generateBucketsForHistogram(AcceptableRootWindowSize)) declarePublicCounter(waku_rln_errors_total, "number of errors detected while operating the rln relay", ["type"]) declarePublicCounter(waku_rln_proof_verification_total, "number of times the rln proofs are verified") -declarePublicCounter(waku_rln_number_registered_memberships, "number of registered and active rln memberships") +# this is a gauge so that we can set it based on the events we receive +declarePublicGauge(waku_rln_number_registered_memberships, "number of registered and active rln memberships") # Timing metrics declarePublicGauge(waku_rln_proof_verification_duration_seconds, "time taken to verify a proof")