From 7ac4f511034b3a69be8cf1344fd8c2693eeeee4c Mon Sep 17 00:00:00 2001 From: "Steinar H. Gunderson" Date: Sat, 17 Jun 2017 18:51:01 +0200 Subject: [PATCH] Add a metric for number of received frames per input, so that one can measure _actual_ fps. --- mixer.cpp | 2 ++ mixer.h | 1 + 2 files changed, 3 insertions(+) diff --git a/mixer.cpp b/mixer.cpp index 07726bd..6ed6211 100644 --- a/mixer.cpp +++ b/mixer.cpp @@ -495,6 +495,7 @@ void Mixer::configure_card(unsigned card_index, CaptureInterface *capture, CardT assert(false); } card->queue_length_policy.register_metrics(labels); + global_metrics.add("input_received_frames", labels, &card->metric_input_received_frames); global_metrics.add("input_dropped_frames_jitter", labels, &card->metric_input_dropped_frames_jitter); global_metrics.add("input_dropped_frames_error", labels, &card->metric_input_dropped_frames_error); global_metrics.add("input_dropped_frames_resets", labels, &card->metric_input_resets); @@ -572,6 +573,7 @@ void Mixer::bm_frame(unsigned card_index, uint16_t timecode, DeviceSpec device{InputSourceType::CAPTURE_CARD, card_index}; CaptureCard *card = &cards[card_index]; + ++card->metric_input_received_frames; card->metric_input_has_signal_bool = video_format.has_signal; card->metric_input_is_connected_bool = video_format.is_connected; card->metric_input_interlaced_bool = video_format.interlaced; diff --git a/mixer.h b/mixer.h index 8504d5e..e142a76 100644 --- a/mixer.h +++ b/mixer.h @@ -455,6 +455,7 @@ private: int last_timecode = -1; // Unwrapped. // Metrics. + 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}; -- 2.39.2