class mola::MetricsRegistry

Overview

Owns the set of named metric channels for one MolaVizImGuiCore instance.

#include <MetricsRegistry.h>

class MetricsRegistry
{
public:
    // methods

    MetricChannelImpl::Ptr get_or_create(const std::string& name, const std::string& unit);
    std::vector<std::string> channel_names() const;
    MetricChannelImpl::Ptr find(const std::string& name) const;
    std::shared_ptr<std::atomic<bool>> any_window_open() const;
};

Methods

MetricChannelImpl::Ptr get_or_create(const std::string& name, const std::string& unit)

Idempotent: returns the existing channel if name was already registered.

std::vector<std::string> channel_names() const

Sorted list of registered channel names, for the “add channel” combo.

std::shared_ptr<std::atomic<bool>> any_window_open() const

Shared gate: producers early-out on push() when this is false. The renderer recomputes it once per frame from the set of open plot windows with >=1 channel.