been_at_safe_point_since_last_starvation = false;
}
- void register_metrics(const std::string &card_name);
+ void register_metrics(const std::vector<std::pair<std::string, std::string>> &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; }
int last_timecode = -1; // Unwrapped.
// Metrics.
+ std::vector<std::pair<std::string, std::string>> labels;
+ std::atomic<int64_t> metric_input_received_frames{0};
std::atomic<int64_t> metric_input_dropped_frames_jitter{0};
std::atomic<int64_t> metric_input_dropped_frames_error{0};
std::atomic<int64_t> metric_input_resets{0};
// Metrics.
std::atomic<int64_t> metric_frames_output_total{0};
std::atomic<int64_t> metric_frames_output_dropped{0};
- std::atomic<double> metric_uptime_seconds{0.0};
+ std::atomic<double> metric_start_time_seconds{0.0 / 0.0};
+ std::atomic<int64_t> metrics_memory_used_bytes{0};
+ std::atomic<double> metrics_memory_locked_limit_bytes{0.0 / 0.0};
};
extern Mixer *global_mixer;