Fix chart filtering (#10218)
Vladimir Kobal committed
Nov 10, 2020 at 14:47 UTC
1825ac4c1a03689a866b3d63851c306a8730beef
3 files changed
+13
-17
exporting/prometheus/prometheus.c
+1
-1
@@ -8,7 +8,7 @@
8
// /api/v1/allmetrics?format=prometheus and /api/v1/allmetrics?format=prometheus_all_hosts
9
10
/**
11
- * Check if a chart can be sent to an external databese
11
+ * Check if a chart can be sent to Prometheus
12
*
13
* @param instance an instance data structure.
14
* @param st a chart.
exporting/prometheus/remote_write/remote_write.c
+11
-13
@@ -191,19 +191,17 @@ int format_chart_prometheus_remote_write(struct instance *instance, RRDSET *st)
191
prometheus_label_copy(family, st->family, PROMETHEUS_ELEMENT_MAX);
192
prometheus_name_copy(context, st->context, PROMETHEUS_ELEMENT_MAX);
193
194
- if (likely(can_send_rrdset(instance, st))) {
195
- as_collected = (EXPORTING_OPTIONS_DATA_SOURCE(instance->config.options) == EXPORTING_SOURCE_DATA_AS_COLLECTED);
196
- homogeneous = 1;
197
- if (as_collected) {
198
- if (rrdset_flag_check(st, RRDSET_FLAG_HOMOGENEOUS_CHECK))
199
- rrdset_update_heterogeneous_flag(st);
200
-
201
- if (rrdset_flag_check(st, RRDSET_FLAG_HETEROGENEOUS))
202
- homogeneous = 0;
203
- } else {
204
- if (EXPORTING_OPTIONS_DATA_SOURCE(instance->config.options) == EXPORTING_SOURCE_DATA_AVERAGE)
205
- prometheus_units_copy(units, st->units, PROMETHEUS_ELEMENT_MAX, 0);
206
- }
194
+ as_collected = (EXPORTING_OPTIONS_DATA_SOURCE(instance->config.options) == EXPORTING_SOURCE_DATA_AS_COLLECTED);
195
+ homogeneous = 1;
196
+ if (as_collected) {
197
+ if (rrdset_flag_check(st, RRDSET_FLAG_HOMOGENEOUS_CHECK))
198
+ rrdset_update_heterogeneous_flag(st);
199
+
200
+ if (rrdset_flag_check(st, RRDSET_FLAG_HETEROGENEOUS))
201
+ homogeneous = 0;
202
+ } else {
203
+ if (EXPORTING_OPTIONS_DATA_SOURCE(instance->config.options) == EXPORTING_SOURCE_DATA_AVERAGE)
204
+ prometheus_units_copy(units, st->units, PROMETHEUS_ELEMENT_MAX, 0);
205
}
206
207
return 0;
exporting/send_data.c
+1
-3
@@ -64,7 +64,7 @@ void simple_connector_receive_response(int *sock, struct instance *instance)
64
{
65
static BUFFER *response = NULL;
66
if (!response)
67
- response = buffer_create(1);
67
+ response = buffer_create(4096);
68
69
struct stats *stats = &instance->stats;
70
#ifdef ENABLE_HTTPS
@@ -79,8 +79,6 @@ void simple_connector_receive_response(int *sock, struct instance *instance)
79
80
// loop through to collect all data
81
while (*sock != -1 && errno != EWOULDBLOCK) {
82
- buffer_need_bytes(response, 4096);
83
-
82
ssize_t r;
83
#ifdef ENABLE_HTTPS
84
if (exporting_tls_is_enabled(instance->config.type, options) &&