From 728e298dd7fa6323a78f28266328ae8bc9010f69 Mon Sep 17 00:00:00 2001 From: Lorenzo Delgado Date: Tue, 13 Sep 2022 18:07:46 +0200 Subject: [PATCH] fix(store): support stored messages metric for persistent store --- waku/v2/protocol/waku_store/protocol.nim | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/waku/v2/protocol/waku_store/protocol.nim b/waku/v2/protocol/waku_store/protocol.nim index 2bc37de8e..f7a704555 100644 --- a/waku/v2/protocol/waku_store/protocol.nim +++ b/waku/v2/protocol/waku_store/protocol.nim @@ -170,6 +170,8 @@ proc init*(ws: WakuStore, capacity = StoreDefaultCapacity) = return info "SQLite-only store initialized. Messages are *not* loaded into memory." + waku_store_messages.set(ws.store.getMessagesCount(), labelValues = ["stored"]) + # TODO: Move this logic, together with the insert message logic # into a "dual-store" message store implementation. @@ -189,7 +191,8 @@ proc init*(ws: WakuStore, capacity = StoreDefaultCapacity) = else: warn "failed to load messages from the persistent store", err = res.error() - waku_store_messages.set(ws.messages.len.int64, labelValues = ["stored"]) + waku_store_messages.set(ws.messages.getMessagesCount(), labelValues = ["stored"]) + proc init*(T: type WakuStore, peerManager: PeerManager, rng: ref rand.HmacDrbgContext, store: MessageStore = nil, wakuSwap: WakuSwap = nil, persistMessages = true, @@ -238,7 +241,7 @@ proc handleMessage*(w: WakuStore, pubsubTopic: string, msg: WakuMessage) {.async debug "failed to insert message to in-memory store", index=index, err=resPutInmemory.error() waku_store_errors.inc(labelValues = [insertFailure]) return - waku_store_messages.set(w.messages.len.int64, labelValues = ["stored"]) + waku_store_messages.set(w.messages.getMessagesCount(), labelValues = ["stored"]) # Add messages to persistent store, if present if w.store.isNil(): @@ -461,7 +464,9 @@ proc resume*(w: WakuStore, debug "resume finished successfully", addedMessages=added, dimissedMessages=dismissed - waku_store_messages.set(w.messages.len.int64, labelValues = ["stored"]) + let messagesCount = if w.isSqliteOnly: w.store.getMessagesCount() + else: w.messages.getMessagesCount() + waku_store_messages.set(messagesCount, labelValues = ["stored"]) return ok(added)