From 272725c97f0d0b308cbb400db8f0ab8ae864845d Mon Sep 17 00:00:00 2001 From: Bogdan Drutu Date: Fri, 11 Oct 2019 13:59:50 -0700 Subject: [PATCH] Add option to completely skip the create metric descriptor logic. (#25) Signed-off-by: Bogdan Drutu --- exporter/stackdriverexporter/config.go | 1 + exporter/stackdriverexporter/config_test.go | 10 ++++++---- exporter/stackdriverexporter/stackdriver.go | 3 +++ exporter/stackdriverexporter/testdata/config.yaml | 2 ++ 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/exporter/stackdriverexporter/config.go b/exporter/stackdriverexporter/config.go index 3435828eac47..447276497b35 100644 --- a/exporter/stackdriverexporter/config.go +++ b/exporter/stackdriverexporter/config.go @@ -23,4 +23,5 @@ type Config struct { Prefix string `mapstructure:"metric-prefix"` Endpoint string `mapstructure:"endpoint"` NumOfWorkers int `mapstructure:"number-of-workers"` + SkipCreateMetricDescriptor bool `mapstructure:"skip-create-metric-descriptor"` } diff --git a/exporter/stackdriverexporter/config_test.go b/exporter/stackdriverexporter/config_test.go index 1c763b504f6d..3e19bbb31e9f 100644 --- a/exporter/stackdriverexporter/config_test.go +++ b/exporter/stackdriverexporter/config_test.go @@ -46,9 +46,11 @@ func TestLoadConfig(t *testing.T) { r1 := cfg.Exporters["stackdriver/customname"].(*Config) assert.Equal(t, r1, &Config{ - ExporterSettings: configmodels.ExporterSettings{TypeVal: typeStr, NameVal: "stackdriver/customname"}, - ProjectID: "my-project", - Prefix: "prefix", - Endpoint: "test-endpoint", + ExporterSettings: configmodels.ExporterSettings{TypeVal: typeStr, NameVal: "stackdriver/customname"}, + ProjectID: "my-project", + Prefix: "prefix", + Endpoint: "test-endpoint", + NumOfWorkers: 3, + SkipCreateMetricDescriptor: true, }) } diff --git a/exporter/stackdriverexporter/stackdriver.go b/exporter/stackdriverexporter/stackdriver.go index e2eae1299c85..edecfca020e3 100644 --- a/exporter/stackdriverexporter/stackdriver.go +++ b/exporter/stackdriverexporter/stackdriver.go @@ -75,6 +75,9 @@ func newStackdriverMetricsExporter(cfg *Config) (exporter.MetricsExporter, error if cfg.NumOfWorkers > 0 { options.NumberOfWorkers = cfg.NumOfWorkers } + if cfg.SkipCreateMetricDescriptor { + options.SkipCMD = true + } sde, serr := stackdriver.NewExporter(options) if serr != nil { return nil, fmt.Errorf("cannot configure Stackdriver metric exporter: %v", serr) diff --git a/exporter/stackdriverexporter/testdata/config.yaml b/exporter/stackdriverexporter/testdata/config.yaml index 0f4bbc385767..b8a982bb15ce 100644 --- a/exporter/stackdriverexporter/testdata/config.yaml +++ b/exporter/stackdriverexporter/testdata/config.yaml @@ -10,6 +10,8 @@ exporters: project: my-project metric-prefix: prefix endpoint: test-endpoint + number-of-workers: 3 + skip-create-metric-descriptor: true stackdriver/disabled: # will be ignored disabled: true