#pragma once #include namespace DB { class AsynchronousMetrics; class Context; /** Implements system table asynchronous_metrics, which allows to get values of periodically (asynchronously) updated metrics. */ class StorageSystemAsynchronousMetrics final : public IStorageSystemOneBlock { public: StorageSystemAsynchronousMetrics(const StorageID & table_id_, const AsynchronousMetrics & async_metrics_); std::string getName() const override { return "SystemAsynchronousMetrics"; } static ColumnsDescription getColumnsDescription(); private: const AsynchronousMetrics & async_metrics; protected: void fillData(MutableColumns & res_columns, ContextPtr, const ActionsDAG::Node *, std::vector) const override; }; }