From d7f5ba41cda3e0b55de4c8bc1a7b7c86beff54be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maximilian=20Pa=C3=9F?= <22845248+mpass99@users.noreply.github.com> Date: Fri, 26 Jan 2024 22:46:00 +0100 Subject: [PATCH] Decouple InfluxDB writings from request handling. With #451, we found that writing an InfluxDB data point might block and lead to high latencies. --- pkg/monitoring/influxdb2_middleware.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkg/monitoring/influxdb2_middleware.go b/pkg/monitoring/influxdb2_middleware.go index aecd78ea..39f57c2f 100644 --- a/pkg/monitoring/influxdb2_middleware.go +++ b/pkg/monitoring/influxdb2_middleware.go @@ -164,7 +164,8 @@ func ChangedPrewarmingPoolSize(id dto.EnvironmentID, count uint) { func WriteInfluxPoint(p *write.Point) { if influxClient != nil { p.AddTag("stage", config.Config.InfluxDB.Stage) - influxClient.WritePoint(p) + // We identified that the influxClient is not truly asynchronous. See #541. + go func() { influxClient.WritePoint(p) }() } else { entry := log.WithField("name", p.Name()) for _, tag := range p.TagList() {