mirror of
https://github.com/XRPLF/rippled.git
synced 2026-07-28 01:20:32 +00:00
fix(telemetry): add getMeter override to test mock (originating branch)
getMeter() became a pure virtual on THIS branch (native-metrics), which makes the TestTelemetry mock abstract and would break a telemetry=ON build of phase7/phase8 in isolation. The override was previously only on phase9 (where it was mis-attributed); relocate it to phase7 where the pure virtual is introduced, so every branch from here forward builds. Mirrors NullTelemetry: an inert meter from a process-wide noop provider. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -19,6 +19,9 @@
|
||||
#include <opentelemetry/context/context.h>
|
||||
#include <opentelemetry/exporters/memory/in_memory_span_data.h>
|
||||
#include <opentelemetry/exporters/memory/in_memory_span_exporter_factory.h>
|
||||
#include <opentelemetry/metrics/meter.h>
|
||||
#include <opentelemetry/metrics/meter_provider.h>
|
||||
#include <opentelemetry/metrics/noop.h>
|
||||
#include <opentelemetry/nostd/shared_ptr.h>
|
||||
#include <opentelemetry/sdk/resource/resource.h>
|
||||
#include <opentelemetry/sdk/trace/samplers/always_on_factory.h>
|
||||
@@ -152,6 +155,19 @@ public:
|
||||
return provider_->GetTracer(std::string(name));
|
||||
}
|
||||
|
||||
/**
|
||||
* @return A meter from a noop provider; the scope tests exercise only
|
||||
* tracing, so metrics instruments are inert.
|
||||
*/
|
||||
opentelemetry::nostd::shared_ptr<opentelemetry::metrics::Meter>
|
||||
getMeter(std::string_view name) override
|
||||
{
|
||||
static auto noopProvider =
|
||||
opentelemetry::nostd::shared_ptr<opentelemetry::metrics::MeterProvider>(
|
||||
new opentelemetry::metrics::NoopMeterProvider());
|
||||
return noopProvider->GetMeter(std::string(name), std::string(kMeterVersion));
|
||||
}
|
||||
|
||||
opentelemetry::nostd::shared_ptr<opentelemetry::trace::Span>
|
||||
startSpan(std::string_view name, opentelemetry::trace::SpanKind kind) override
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user