X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=mixer.h;h=9b14dc233a241ed6ed3b30e82323c96dc14cbf45;hb=7c26af1581077cb63dc0bd76942f1f4262312f7f;hp=dd44f74bd74906b88c622dd8ff5e819d703daf87;hpb=9e054cd044975cd8ec42609564be39099ce19679;p=nageru diff --git a/mixer.h b/mixer.h index dd44f74..9b14dc2 100644 --- a/mixer.h +++ b/mixer.h @@ -88,7 +88,7 @@ public: been_at_safe_point_since_last_starvation = false; } - void register_metrics(const std::string &card_name); + void register_metrics(const std::vector> &labels); void update_policy(unsigned queue_length); // Call before picking out a frame, so 0 means starvation. unsigned get_safe_queue_length() const { return safe_queue_length; } @@ -455,6 +455,8 @@ private: int last_timecode = -1; // Unwrapped. // Metrics. + std::vector> labels; + std::atomic metric_input_received_frames{0}; std::atomic metric_input_dropped_frames_jitter{0}; std::atomic metric_input_dropped_frames_error{0}; std::atomic metric_input_resets{0}; @@ -543,7 +545,9 @@ private: // Metrics. std::atomic metric_frames_output_total{0}; std::atomic metric_frames_output_dropped{0}; - std::atomic metric_uptime_seconds{0.0}; + std::atomic metric_start_time_seconds{0.0 / 0.0}; + std::atomic metrics_memory_used_bytes{0}; + std::atomic metrics_memory_locked_limit_bytes{0.0 / 0.0}; }; extern Mixer *global_mixer;