From 43165c56239bbaba6ad2095a16143d30b2c10911 Mon Sep 17 00:00:00 2001 From: Gabriel mermelstein Date: Wed, 25 Sep 2024 10:08:35 +0300 Subject: [PATCH] chore: disabling metrics for libwaku --- waku.nimble | 6 ++-- waku/waku_core/time.nim | 4 ++- waku/waku_rln_relay/protocol_metrics.nim | 40 +++++++++++++----------- 3 files changed, 27 insertions(+), 23 deletions(-) diff --git a/waku.nimble b/waku.nimble index e4d88a323d..fccb6f6b11 100644 --- a/waku.nimble +++ b/waku.nimble @@ -63,12 +63,12 @@ proc buildLibrary(name: string, srcDir = "./", params = "", `type` = "static") = extra_params &= " " & paramStr(i) if `type` == "static": exec "nim c" & " --out:build/" & name & - ".a --threads:on --app:staticlib --opt:size --noMain --mm:refc --header " & + ".a --threads:on --app:staticlib --opt:size --noMain --mm:refc --header --undef:metrics " & extra_params & " " & srcDir & name & ".nim" else: exec "nim c" & " --out:build/" & name & - ".so --threads:on --app:lib --opt:size --noMain --mm:refc --header " & extra_params & - " " & srcDir & name & ".nim" + ".so --threads:on --app:lib --opt:size --noMain --mm:refc --header --undef:metrics " & + extra_params & " " & srcDir & name & ".nim" proc buildMobileAndroid(srcDir = ".", params = "") = let cpu = getEnv("CPU") diff --git a/waku/waku_core/time.nim b/waku/waku_core/time.nim index 43bb0be489..bee5522bd7 100644 --- a/waku/waku_core/time.nim +++ b/waku/waku_core/time.nim @@ -18,7 +18,9 @@ proc nowInUnixFloat(): float = proc getNowInNanosecondTime*(): Timestamp = return getNanosecondTime(nowInUnixFloat()) -template nanosecondTime*(collector: Summary | Histogram, body: untyped) = +template nanosecondTime*( + collector: Summary | Histogram | typedesc[IgnoredCollector], body: untyped +) = when defined(metrics): let start = nowInUnixFloat() body diff --git a/waku/waku_rln_relay/protocol_metrics.nim b/waku/waku_rln_relay/protocol_metrics.nim index 6afb448f08..5d1ea563c4 100644 --- a/waku/waku_rln_relay/protocol_metrics.nim +++ b/waku/waku_rln_relay/protocol_metrics.nim @@ -80,24 +80,26 @@ proc getRlnMetricsLogger*(): RLNMetricsLogger = var cumulativeValidMessages = 0.float64 var cumulativeProofs = 0.float64 - logMetrics = proc() = - {.gcsafe.}: - let freshErrorCount = parseAndAccumulate(waku_rln_errors_total, cumulativeErrors) - let freshMsgCount = - parseAndAccumulate(waku_rln_messages_total, cumulativeMessages) - let freshSpamCount = - parseAndAccumulate(waku_rln_spam_messages_total, cumulativeSpamMessages) - let freshInvalidMsgCount = - parseAndAccumulate(waku_rln_invalid_messages_total, cumulativeInvalidMessages) - let freshValidMsgCount = - parseAndAccumulate(waku_rln_valid_messages_total, cumulativeValidMessages) - let freshProofCount = - parseAndAccumulate(waku_rln_proof_verification_total, cumulativeProofs) + when defined(metrics): + logMetrics = proc() = + {.gcsafe.}: + let freshErrorCount = + parseAndAccumulate(waku_rln_errors_total, cumulativeErrors) + let freshMsgCount = + parseAndAccumulate(waku_rln_messages_total, cumulativeMessages) + let freshSpamCount = + parseAndAccumulate(waku_rln_spam_messages_total, cumulativeSpamMessages) + let freshInvalidMsgCount = + parseAndAccumulate(waku_rln_invalid_messages_total, cumulativeInvalidMessages) + let freshValidMsgCount = + parseAndAccumulate(waku_rln_valid_messages_total, cumulativeValidMessages) + let freshProofCount = + parseAndAccumulate(waku_rln_proof_verification_total, cumulativeProofs) - info "Total messages", count = freshMsgCount - info "Total spam messages", count = freshSpamCount - info "Total invalid messages", count = freshInvalidMsgCount - info "Total valid messages", count = freshValidMsgCount - info "Total errors", count = freshErrorCount - info "Total proofs verified", count = freshProofCount + info "Total messages", count = freshMsgCount + info "Total spam messages", count = freshSpamCount + info "Total invalid messages", count = freshInvalidMsgCount + info "Total valid messages", count = freshValidMsgCount + info "Total errors", count = freshErrorCount + info "Total proofs verified", count = freshProofCount return logMetrics