X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=mixer.cpp;h=6846d83ffdbaef73420d638cc1b282ce11cb02a3;hb=96cb6414f85e0ef4d660b7bd56267303e80fcd05;hp=c551354e794ab87ed1307b940933978e11553c4c;hpb=fc65b01785b439f1ce0e8b04a33ad8abd5b4091e;p=nageru diff --git a/mixer.cpp b/mixer.cpp index c551354..6846d83 100644 --- a/mixer.cpp +++ b/mixer.cpp @@ -207,8 +207,6 @@ void QueueLengthPolicy::register_metrics(const vector> &lab void QueueLengthPolicy::update_policy(unsigned queue_length) { - metric_input_queue_length_frames = queue_length; - if (queue_length == 0) { // Starvation. if (been_at_safe_point_since_last_starvation && safe_queue_length < unsigned(global_flags.max_input_queue_frames)) { ++safe_queue_length; @@ -402,9 +400,13 @@ Mixer::Mixer(const QSurfaceFormat &format, unsigned num_cards) set_output_card_internal(global_flags.output_card); } + metric_start_time_seconds = get_timestamp_for_metrics(); + global_metrics.add("frames_output_total", &metric_frames_output_total); global_metrics.add("frames_output_dropped", &metric_frames_output_dropped); - global_metrics.add("uptime_seconds", &metric_uptime_seconds); + global_metrics.add("start_time_seconds", &metric_start_time_seconds, Metrics::TYPE_GAUGE); + global_metrics.add("memory_used_bytes", &metrics_memory_used_bytes); + global_metrics.add("metrics_memory_locked_limit_bytes", &metrics_memory_locked_limit_bytes); } Mixer::~Mixer() @@ -935,7 +937,6 @@ void Mixer::thread_func() metric_frames_output_total = frame_num; metric_frames_output_dropped = stats_dropped_frames; - metric_uptime_seconds = elapsed; if (frame_num % 100 == 0) { printf("%d frames (%d dropped) in %.3f seconds = %.1f fps (%.1f ms/frame)", @@ -967,12 +968,16 @@ void Mixer::thread_func() long(limit.rlim_cur / 1048576), float(100.0 * (used.ru_maxrss * 1024.0) / limit.rlim_cur)); } + metrics_memory_locked_limit_bytes = limit.rlim_cur; } else { printf(", using %ld MB memory (not locked)", long(used.ru_maxrss / 1024)); + metrics_memory_locked_limit_bytes = 0.0 / 0.0; } printf("\n"); + + metrics_memory_used_bytes = used.ru_maxrss; } @@ -1040,6 +1045,7 @@ void Mixer::trim_queue(CaptureCard *card, unsigned card_index) ++dropped_frames; } + metric_input_queue_length_frames = queue_length; card->metric_input_dropped_frames_jitter += dropped_frames; #if 0