From d4e91b462e6f45944b43013dffed8572e526b65c Mon Sep 17 00:00:00 2001 From: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com> Date: Wed, 29 Apr 2026 11:16:21 +0100 Subject: [PATCH] fix(telemetry): resolve clang-tidy warnings in Telemetry interfaces Use C++17 concatenated namespaces, add [[nodiscard]] to query methods, add missing direct includes, and use pass-by-value + std::move in NullTelemetry constructor. Co-Authored-By: Claude Opus 4.6 --- include/xrpl/telemetry/Telemetry.h | 18 ++++++++--------- src/libxrpl/telemetry/NullTelemetry.cpp | 24 ++++++++++++----------- src/libxrpl/telemetry/TelemetryConfig.cpp | 9 +++++---- src/xrpld/app/main/Application.cpp | 1 + 4 files changed, 27 insertions(+), 25 deletions(-) diff --git a/include/xrpl/telemetry/Telemetry.h b/include/xrpl/telemetry/Telemetry.h index d3b729815a..1d69e01a43 100644 --- a/include/xrpl/telemetry/Telemetry.h +++ b/include/xrpl/telemetry/Telemetry.h @@ -85,8 +85,7 @@ #include #endif -namespace xrpl { -namespace telemetry { +namespace xrpl::telemetry { class Telemetry { @@ -222,27 +221,27 @@ public: stop() = 0; /** @return true if this instance is actively exporting spans. */ - virtual bool + [[nodiscard]] virtual bool isEnabled() const = 0; /** @return true if transaction processing should be traced. */ - virtual bool + [[nodiscard]] virtual bool shouldTraceTransactions() const = 0; /** @return true if consensus rounds should be traced. */ - virtual bool + [[nodiscard]] virtual bool shouldTraceConsensus() const = 0; /** @return true if RPC request handling should be traced. */ - virtual bool + [[nodiscard]] virtual bool shouldTraceRpc() const = 0; /** @return true if peer-to-peer messages should be traced. */ - virtual bool + [[nodiscard]] virtual bool shouldTracePeer() const = 0; /** @return true if ledger close/accept should be traced. */ - virtual bool + [[nodiscard]] virtual bool shouldTraceLedger() const = 0; #ifdef XRPL_ENABLE_TELEMETRY @@ -318,5 +317,4 @@ setup_Telemetry( std::string const& version, std::uint32_t networkId); -} // namespace telemetry -} // namespace xrpl +} // namespace xrpl::telemetry diff --git a/src/libxrpl/telemetry/NullTelemetry.cpp b/src/libxrpl/telemetry/NullTelemetry.cpp index 6d57f77c69..4a1b901614 100644 --- a/src/libxrpl/telemetry/NullTelemetry.cpp +++ b/src/libxrpl/telemetry/NullTelemetry.cpp @@ -10,14 +10,17 @@ its own factory that can return the real TelemetryImpl. */ +#include #include #ifdef XRPL_ENABLE_TELEMETRY #include #endif -namespace xrpl { -namespace telemetry { +#include +#include + +namespace xrpl::telemetry { namespace { @@ -32,7 +35,7 @@ class NullTelemetry : public Telemetry Setup const setup_; public: - explicit NullTelemetry(Setup const& setup) : setup_(setup) + explicit NullTelemetry(Setup setup) : setup_(std::move(setup)) { } @@ -48,37 +51,37 @@ public: Telemetry::setInstance(nullptr); } - bool + [[nodiscard]] bool isEnabled() const override { return false; } - bool + [[nodiscard]] bool shouldTraceTransactions() const override { return false; } - bool + [[nodiscard]] bool shouldTraceConsensus() const override { return false; } - bool + [[nodiscard]] bool shouldTraceRpc() const override { return false; } - bool + [[nodiscard]] bool shouldTracePeer() const override { return false; } - bool + [[nodiscard]] bool shouldTraceLedger() const override { return false; @@ -125,5 +128,4 @@ make_Telemetry(Telemetry::Setup const& setup, beast::Journal) } #endif -} // namespace telemetry -} // namespace xrpl +} // namespace xrpl::telemetry diff --git a/src/libxrpl/telemetry/TelemetryConfig.cpp b/src/libxrpl/telemetry/TelemetryConfig.cpp index 16a1461286..9ab7bb5cd6 100644 --- a/src/libxrpl/telemetry/TelemetryConfig.cpp +++ b/src/libxrpl/telemetry/TelemetryConfig.cpp @@ -7,12 +7,14 @@ See cfg/xrpld-example.cfg for the full list of available options. */ +#include #include #include +#include +#include -namespace xrpl { -namespace telemetry { +namespace xrpl::telemetry { namespace { @@ -78,5 +80,4 @@ setup_Telemetry( return setup; } -} // namespace telemetry -} // namespace xrpl +} // namespace xrpl::telemetry diff --git a/src/xrpld/app/main/Application.cpp b/src/xrpld/app/main/Application.cpp index f9a70725ec..e222660c39 100644 --- a/src/xrpld/app/main/Application.cpp +++ b/src/xrpld/app/main/Application.cpp @@ -82,6 +82,7 @@ #include #include #include +#include #include #include #include