diff --git a/src/libxrpl/beast/insight/OTelCollector.cpp b/src/libxrpl/beast/insight/OTelCollector.cpp index 0abb7191e8..821918ac6e 100644 --- a/src/libxrpl/beast/insight/OTelCollector.cpp +++ b/src/libxrpl/beast/insight/OTelCollector.cpp @@ -483,8 +483,8 @@ public: * @param name Raw metric name from beast::insight callers. * @return Fully-qualified metric name. */ - std::string - formatName(std::string const& name) const; + static std::string + formatName(std::string const& name); private: /** Journal for log output. */ @@ -808,7 +808,7 @@ OTelCollectorImp::removeGauge(OTelGaugeImpl* gauge) } std::string -OTelCollectorImp::formatName(std::string const& name) const +OTelCollectorImp::formatName(std::string const& name) { // Produce a clean, lowercase, Prometheus-compatible metric name. // No prefix — the OTel resource (service.name) identifies the service. @@ -818,9 +818,13 @@ OTelCollectorImp::formatName(std::string const& name) const for (char const c : name) { if (c == '.' || c == ' ') + { result += '_'; + } else + { result += static_cast(std::tolower(static_cast(c))); + } } return result; } diff --git a/src/libxrpl/telemetry/Redaction.cpp b/src/libxrpl/telemetry/Redaction.cpp index d6bfe52ec3..7164c4dee6 100644 --- a/src/libxrpl/telemetry/Redaction.cpp +++ b/src/libxrpl/telemetry/Redaction.cpp @@ -6,7 +6,6 @@ #include #include -#include #include #include diff --git a/src/libxrpl/telemetry/Telemetry.cpp b/src/libxrpl/telemetry/Telemetry.cpp index bdabaa2699..923370c088 100644 --- a/src/libxrpl/telemetry/Telemetry.cpp +++ b/src/libxrpl/telemetry/Telemetry.cpp @@ -583,8 +583,10 @@ public: getMeter(std::string_view name = kMeterName) override { if (!meterProvider_) + { return metrics_api::Provider::GetMeterProvider()->GetMeter( std::string(name), std::string(kMeterVersion)); + } return meterProvider_->GetMeter(std::string(name), std::string(kMeterVersion)); } diff --git a/src/tests/libxrpl/telemetry/GetMeter.cpp b/src/tests/libxrpl/telemetry/GetMeter.cpp index b69920fdeb..f19f18cbee 100644 --- a/src/tests/libxrpl/telemetry/GetMeter.cpp +++ b/src/tests/libxrpl/telemetry/GetMeter.cpp @@ -17,18 +17,18 @@ #ifdef XRPL_ENABLE_TELEMETRY +#include #include #include -#include #include #include -#include #include #include #include #include +#include #include using namespace xrpl; @@ -85,7 +85,7 @@ TEST(GetMeter, global_provider_meter_accepts_updown_counter) // A views-less SDK MeterProvider with no reader is sufficient to prove the // API contract: it hands out a real (non-noop) Meter that creates working // instruments. No exporter/reader means no background threads or network. - std::shared_ptr sdkProvider = + std::shared_ptr const sdkProvider = metrics_sdk::MeterProviderFactory::Create(); metrics_api::Provider::SetMeterProvider( opentelemetry::nostd::shared_ptr(sdkProvider)); diff --git a/src/tests/libxrpl/telemetry/Redaction.cpp b/src/tests/libxrpl/telemetry/Redaction.cpp index db1cc95135..2ef6ed377b 100644 --- a/src/tests/libxrpl/telemetry/Redaction.cpp +++ b/src/tests/libxrpl/telemetry/Redaction.cpp @@ -4,7 +4,6 @@ #include #include -#include #include using namespace xrpl; diff --git a/src/xrpld/telemetry/TxTracing.h b/src/xrpld/telemetry/TxTracing.h index 066c018601..a6633034d3 100644 --- a/src/xrpld/telemetry/TxTracing.h +++ b/src/xrpld/telemetry/TxTracing.h @@ -17,6 +17,8 @@ #include #include +#include + namespace xrpl::telemetry { /** Create a "tx.receive" span for a transaction received from a peer. diff --git a/src/xrpld/telemetry/ValidationTracker.h b/src/xrpld/telemetry/ValidationTracker.h index 32956235f7..9c7d5d9bd1 100644 --- a/src/xrpld/telemetry/ValidationTracker.h +++ b/src/xrpld/telemetry/ValidationTracker.h @@ -10,6 +10,7 @@ #include #include +#include #include #include #include diff --git a/src/xrpld/telemetry/detail/ValidationTracker.cpp b/src/xrpld/telemetry/detail/ValidationTracker.cpp index ffe8951a3b..f84a7a21c3 100644 --- a/src/xrpld/telemetry/detail/ValidationTracker.cpp +++ b/src/xrpld/telemetry/detail/ValidationTracker.cpp @@ -12,6 +12,7 @@ #include #include #include +#include namespace xrpl::telemetry { @@ -282,11 +283,11 @@ void ValidationTracker::repairWindowEntry(std::deque& window, uint256 const& hash) { // Scan backwards since late repairs target recently added entries. - for (auto it = window.rbegin(); it != window.rend(); ++it) + for (auto& event : std::views::reverse(window)) { - if (!it->agreed && it->ledgerHash == hash) + if (!event.agreed && event.ledgerHash == hash) { - it->agreed = true; + event.agreed = true; return; } }