From 5b26d491b7c8da5ec5a767982db62002ae440c05 Mon Sep 17 00:00:00 2001 From: ioito Date: Thu, 19 May 2022 14:36:43 +0800 Subject: [PATCH] fix(cloudmon): report influxdb data --- pkg/cloudmon/collectors/common/multiCloudMonUtils.go | 5 +++-- pkg/util/influxdb/metrics.go | 4 +++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/pkg/cloudmon/collectors/common/multiCloudMonUtils.go b/pkg/cloudmon/collectors/common/multiCloudMonUtils.go index 8b9baae0c6..b5555292ec 100644 --- a/pkg/cloudmon/collectors/common/multiCloudMonUtils.go +++ b/pkg/cloudmon/collectors/common/multiCloudMonUtils.go @@ -636,7 +636,7 @@ func cloudproviderRunfunc(ctx context.Context, factory ICloudReportFactory, prov session *mcclient.ClientSession) { opt := o.Options group, _ := errgroup.WithContext(ctx) - for i, _ := range ResMonTypeList { + for i := range ResMonTypeList { resType := ResMonTypeList[i] group.Go(func() error { log.Errorf("cloudprovider: %s,operator: %s start report().", provider.Name, resType) @@ -658,7 +658,8 @@ func CustomizeRunFunc(ctx context.Context, factory ICloudReportFactory, provider opt := o.Options err := factory.NewCloudReport(provider, session, &opt.ReportOptions, "").Report() if err != nil { - log.Errorf("provider: %s report metric err: %v", provider.Name, err) + // provider maybe nil + log.Errorf("provider: %v report metric err: %v", provider, err) return } log.Errorf("operator: %s report() end.", factory.GetId()) diff --git a/pkg/util/influxdb/metrics.go b/pkg/util/influxdb/metrics.go index 4383d03b6d..f8e2a8eb7b 100644 --- a/pkg/util/influxdb/metrics.go +++ b/pkg/util/influxdb/metrics.go @@ -50,10 +50,12 @@ func (m *SMetricData) Line() string { line := strings.Builder{} line.WriteString(m.Name) + keys := map[string]bool{} for i := range m.Tags { - if len(m.Tags[i].Key) > 0 && len(m.Tags[i].Value) > 0 { + if _, ok := keys[m.Tags[i].Key]; !ok && len(m.Tags[i].Key) > 0 && len(m.Tags[i].Value) > 0 { line.WriteByte(',') line.WriteString(m.Tags[i].String()) + keys[m.Tags[i].Key] = true } } line.WriteByte(' ')