VictoriaMetrics/app/vmagent/remotewrite
Aliaksandr Valialkin 3365dd508f
app/vmagent/remotewrite: do not spend CPU time on an attempt to send data to blocked queue if some queues are unblocked
Previously remotewrite.TryPush() was trying to send data to remote storages with blocked persistent queues,
if some persistent queues to other remote storage systems were unblocked. This resulted in excess CPU usage
on relabeling and stream aggregation for the remote storage with blocked queues.

The solution is to check whether some peristent storages have blocked queues and skip them before applying
per- -remoteWrite.url relabeling and streaming aggregation.

While at it, properly update per- -remoteWrite.url vmagent_remotewrite_samples_dropped_total and vmagent_remotewrite_push_failures_total
counters when global streaming aggregation cannot send data to remote storage systems because of blocked queues.
See https://github.com/VictoriaMetrics/VictoriaMetrics/issues/5467 and https://github.com/VictoriaMetrics/VictoriaMetrics/pull/6268 .

This is a follow-up for 87fd400dfc and f153f54d11

Updates https://github.com/VictoriaMetrics/VictoriaMetrics/pull/6248
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/pull/6065
2024-07-15 09:40:34 +02:00
..
client.go chore: follow-up after c740a8042e 2024-06-03 11:53:37 +02:00
pendingseries_test.go Revert "Exemplar support (#5982)" 2024-07-03 16:09:18 +02:00
pendingseries_timing_test.go lib/prompbmarshal: switch to github.com/VictoriaMetrics/easyproto 2024-01-16 20:48:30 +02:00
pendingseries.go Revert "Exemplar support (#5982)" 2024-07-03 16:09:18 +02:00
relabel_test.go app/vmagent/remotewrite: fix data race when extra labels are added to samples before sending them to multiple remote storage systems 2023-09-08 23:26:40 +02:00
relabel.go all: consistently use 'any' instead of 'interface{}' 2024-07-10 00:23:26 +02:00
remotewrite_test.go app/vmagent/remotewrite: follow-up for 87fd400dfc 2024-07-13 02:30:10 +02:00
remotewrite.go app/vmagent/remotewrite: do not spend CPU time on an attempt to send data to blocked queue if some queues are unblocked 2024-07-15 09:40:34 +02:00
streamaggr.go app/vmagent/remotewrite: do not spend CPU time on an attempt to send data to blocked queue if some queues are unblocked 2024-07-15 09:40:34 +02:00