@cryptotaxi247 / netdata-1 / commits / 7a450a5f4

do not report stale metrics to prometheus; fixes #5064 (#5084)

Costa Tsaousis committed Jan 3, 2019 at 16:30 UTC 7a450a5f43d483a6e5e983b6449c569f116a1278
1 file changed +6 -10
backends/prometheus/backend_prometheus.c
+6 -10
@@ -298,6 +298,9 @@ static void rrd_stats_api_v1_charts_allmetrics_prometheus(RRDHOST *host, BUFFER
298 if (as_collected) {
299 // we need as-collected / raw data
300
301 + if(unlikely(rd->last_collected_time.tv_sec < after))
302 + continue;
303 +
304 const char *t = "gauge", *h = "gives";
305 if(rd->algorithm == RRD_ALGORITHM_INCREMENTAL ||
306 rd->algorithm == RRD_ALGORITHM_PCENT_OVER_DIFF_TOTAL) {
@@ -512,12 +515,9 @@ static inline time_t prometheus_preparation(RRDHOST *host, BUFFER *wb, BACKEND_O
515 }
516
517 if(output_options & PROMETHEUS_OUTPUT_HELP) {
515 - int show_range = 1;
518 char *mode;
517 - if(BACKEND_OPTIONS_DATA_SOURCE(backend_options) == BACKEND_SOURCE_DATA_AS_COLLECTED) {
519 + if(BACKEND_OPTIONS_DATA_SOURCE(backend_options) == BACKEND_SOURCE_DATA_AS_COLLECTED)
520 mode = "as collected";
519 - show_range = 0;
520 - }
521 else if(BACKEND_OPTIONS_DATA_SOURCE(backend_options) == BACKEND_SOURCE_DATA_AVERAGE)
522 mode = "average";
523 else if(BACKEND_OPTIONS_DATA_SOURCE(backend_options) == BACKEND_SOURCE_DATA_SUM)
@@ -525,19 +525,15 @@ static inline time_t prometheus_preparation(RRDHOST *host, BUFFER *wb, BACKEND_O
525 else
526 mode = "unknown";
527
528 - buffer_sprintf(wb, "# COMMENT netdata \"%s\" to %sprometheus \"%s\", source \"%s\", last seen %lu %s"
528 + buffer_sprintf(wb, "# COMMENT netdata \"%s\" to %sprometheus \"%s\", source \"%s\", last seen %lu %s, time range %lu to %lu\n\n"
529 , host->hostname
530 , (first_seen)?"FIRST SEEN ":""
531 , server
532 , mode
533 , (unsigned long)((first_seen)?0:(now - after))
534 , (first_seen)?"never":"seconds ago"
535 + , (unsigned long)after, (unsigned long)now
536 );
536 -
537 - if(show_range)
538 - buffer_sprintf(wb, ", time range %lu to %lu", (unsigned long)after, (unsigned long)now);
539 -
540 - buffer_strcat(wb, "\n\n");
537 }
538
539 return after;