#pragma once #include #include #include #include #include #include #include #include namespace DB { using AsynchronousMetricValue = double; using AsynchronousMetricValues = std::unordered_map; /** AsynchronousMetricLog is a log of metric values measured at regular time interval. */ struct AsynchronousMetricLogElement { UInt16 event_date; time_t event_time; Decimal64 event_time_microseconds; std::string metric_name; double value; static std::string name() { return "AsynchronousMetricLog"; } static NamesAndTypesList getNamesAndTypes(); static NamesAndAliases getNamesAndAliases() { return {}; } void appendToBlock(MutableColumns & columns) const; }; class AsynchronousMetricLog : public SystemLog { public: using SystemLog::SystemLog; void addValues(const AsynchronousMetricValues &); }; }