diff --git a/src/xrpld/app/misc/SHAMapStoreImp.cpp b/src/xrpld/app/misc/SHAMapStoreImp.cpp index 6f454a1f04..f1557fec79 100644 --- a/src/xrpld/app/misc/SHAMapStoreImp.cpp +++ b/src/xrpld/app/misc/SHAMapStoreImp.cpp @@ -29,12 +29,10 @@ #include #include #include -#include -#ifdef XRPL_ENABLE_TELEMETRY -// The metric-name constants are named only as macro arguments, which the -// macros drop when telemetry is compiled out. +// MetricNames.h is unguarded because the rotation-phase label constants are +// passed to RotationPhase as ordinary constructor arguments, in both builds. +#include // IWYU pragma: keep #include -#endif #include #include diff --git a/src/xrpld/app/misc/SHAMapStoreImp.h b/src/xrpld/app/misc/SHAMapStoreImp.h index 5d03b26ce6..07e6685962 100644 --- a/src/xrpld/app/misc/SHAMapStoreImp.h +++ b/src/xrpld/app/misc/SHAMapStoreImp.h @@ -253,8 +253,10 @@ private: } private: - SHAMapStoreImp& owner_; - char const* stage_; + // Read only inside the metric macro in the destructor, so a + // -DXRPL_ENABLE_TELEMETRY=0 build sees no use at all. + [[maybe_unused]] SHAMapStoreImp& owner_; + [[maybe_unused]] char const* stage_; std::chrono::steady_clock::time_point start_ = std::chrono::steady_clock::now(); telemetry::ScopedSpanGuard span_; };