From d5b6f2974bd6059c55f643b5da9da7d14386e64e Mon Sep 17 00:00:00 2001 From: mmetc <92726601+mmetc@users.noreply.github.com> Date: Tue, 19 Sep 2023 13:53:50 +0200 Subject: [PATCH] Avoid sending nil body with metrics (#2470) --- pkg/apiserver/apic_metrics.go | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/pkg/apiserver/apic_metrics.go b/pkg/apiserver/apic_metrics.go index eb239fba9..d4e8ed374 100644 --- a/pkg/apiserver/apic_metrics.go +++ b/pkg/apiserver/apic_metrics.go @@ -129,12 +129,15 @@ func (a *apic) SendMetrics(stop chan (bool)) { metTicker.Stop() metrics, err := a.GetMetrics() if err != nil { - log.Errorf("unable to get metrics (%s), will retry", err) + log.Errorf("unable to get metrics (%s)", err) } - log.Info("capi metrics: sending") - _, _, err = a.apiClient.Metrics.Add(context.Background(), metrics) - if err != nil { - log.Errorf("capi metrics: failed: %s", err) + // metrics are nil if they could not be retrieved + if metrics != nil { + log.Info("capi metrics: sending") + _, _, err = a.apiClient.Metrics.Add(context.Background(), metrics) + if err != nil { + log.Errorf("capi metrics: failed: %s", err) + } } metTicker.Reset(nextMetInt()) case <-a.metricsTomb.Dying(): // if one apic routine is dying, do we kill the others?