From 96eff5aa552257bb5a5af17b3b17cc819d746b36 Mon Sep 17 00:00:00 2001 From: vianney Date: Mon, 20 Apr 2026 10:51:37 +0200 Subject: [PATCH 1/2] fix(telemetry): skip empty payloads on stop --- libdd-telemetry/src/worker/mod.rs | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/libdd-telemetry/src/worker/mod.rs b/libdd-telemetry/src/worker/mod.rs index 93a2b040b6..77a3fa95e6 100644 --- a/libdd-telemetry/src/worker/mod.rs +++ b/libdd-telemetry/src/worker/mod.rs @@ -377,13 +377,15 @@ impl TelemetryWorker { } self.data.metric_buckets.flush_aggregates(); - let observability_events = self.build_observability_batch(); - if let Err(e) = self - .send_payload(&data::Payload::MessageBatch(observability_events)) - .await - { - self.log_err(&e); + let batch = self.build_observability_batch(); + if !batch.is_empty() { + let payload = data::Payload::MessageBatch(batch); + match self.send_payload(&payload).await { + Ok(()) => self.payload_sent_success(&payload), + Err(e) => self.log_err(&e), + } } + self.data.started = false; if !self.config.restartable { self.deadlines.clear_pending(); From e776ab71e6a3db2ad6d124abd7aa284db6627e60 Mon Sep 17 00:00:00 2001 From: vianney Date: Mon, 20 Apr 2026 10:53:12 +0200 Subject: [PATCH 2/2] fix(telemetry): only cleanup if the worker is restartable --- libdd-telemetry/src/worker/mod.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libdd-telemetry/src/worker/mod.rs b/libdd-telemetry/src/worker/mod.rs index 77a3fa95e6..f00c2d43eb 100644 --- a/libdd-telemetry/src/worker/mod.rs +++ b/libdd-telemetry/src/worker/mod.rs @@ -381,7 +381,11 @@ impl TelemetryWorker { if !batch.is_empty() { let payload = data::Payload::MessageBatch(batch); match self.send_payload(&payload).await { - Ok(()) => self.payload_sent_success(&payload), + Ok(()) => { + if self.config.restartable { + self.payload_sent_success(&payload) + } + } Err(e) => self.log_err(&e), } }