From 695fdff448ea9398c470d946df94fce5181e4a6a Mon Sep 17 00:00:00 2001 From: Pablo Baeyens Date: Thu, 10 Mar 2022 12:44:50 +0100 Subject: [PATCH] [exporter/datadog] Remove reference to `Config` on `GetHost` --- exporter/datadogexporter/internal/metadata/host.go | 7 +++---- .../datadogexporter/internal/metadata/host_test.go | 11 +++-------- .../datadogexporter/internal/metadata/metadata.go | 2 +- exporter/datadogexporter/metrics_exporter.go | 2 +- exporter/datadogexporter/traces_exporter.go | 2 +- 5 files changed, 9 insertions(+), 15 deletions(-) diff --git a/exporter/datadogexporter/internal/metadata/host.go b/exporter/datadogexporter/internal/metadata/host.go index 4b7ff1b61008..64f58aaf90af 100644 --- a/exporter/datadogexporter/internal/metadata/host.go +++ b/exporter/datadogexporter/internal/metadata/host.go @@ -17,7 +17,6 @@ package metadata // import "github.com/open-telemetry/opentelemetry-collector-co import ( "go.uber.org/zap" - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/datadogexporter/config" "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/datadogexporter/internal/metadata/ec2" "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/datadogexporter/internal/metadata/system" "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/datadogexporter/internal/metadata/valid" @@ -30,9 +29,9 @@ import ( // 2. Cache // 3. EC2 instance metadata // 4. System -func GetHost(logger *zap.Logger, cfg *config.Config) string { - if cfg.Hostname != "" { - return cfg.Hostname +func GetHost(logger *zap.Logger, configHostname string) string { + if configHostname != "" { + return configHostname } if cacheVal, ok := cache.Cache.Get(cache.CanonicalHostnameKey); ok { diff --git a/exporter/datadogexporter/internal/metadata/host_test.go b/exporter/datadogexporter/internal/metadata/host_test.go index 96edd0686edc..e40c3177af5b 100644 --- a/exporter/datadogexporter/internal/metadata/host_test.go +++ b/exporter/datadogexporter/internal/metadata/host_test.go @@ -22,7 +22,6 @@ import ( "github.com/stretchr/testify/require" "go.uber.org/zap" - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/datadogexporter/config" "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/datadogexporter/internal/utils/cache" ) @@ -34,15 +33,11 @@ func TestHost(t *testing.T) { // if the cache key is already set. cache.Cache.Delete(cache.CanonicalHostnameKey) - host := GetHost(logger, &config.Config{ - TagsConfig: config.TagsConfig{Hostname: "test-host"}, - }) + host := GetHost(logger, "test-host") assert.Equal(t, host, "test-host") // config.Config.Hostname does not get stored in the cache - host = GetHost(logger, &config.Config{ - TagsConfig: config.TagsConfig{Hostname: "test-host-2"}, - }) + host = GetHost(logger, "test-host-2") assert.Equal(t, host, "test-host-2") // Disable EC2 Metadata service to prevent fetching hostname from there, @@ -53,7 +48,7 @@ func TestHost(t *testing.T) { require.NoError(t, err) defer os.Setenv(awsEc2MetadataDisabled, curr) - host = GetHost(logger, &config.Config{}) + host = GetHost(logger, "") osHostname, err := os.Hostname() require.NoError(t, err) // TODO: Investigate why the returned host contains more data on github actions. diff --git a/exporter/datadogexporter/internal/metadata/metadata.go b/exporter/datadogexporter/internal/metadata/metadata.go index a29028933933..057d3df3f7d6 100644 --- a/exporter/datadogexporter/internal/metadata/metadata.go +++ b/exporter/datadogexporter/internal/metadata/metadata.go @@ -123,7 +123,7 @@ func metadataFromAttributes(attrs pdata.AttributeMap) *HostMetadata { func fillHostMetadata(params component.ExporterCreateSettings, cfg *config.Config, hm *HostMetadata) { // Could not get hostname from attributes if hm.InternalHostname == "" { - hostname := GetHost(params.Logger, cfg) + hostname := GetHost(params.Logger, cfg.Hostname) hm.InternalHostname = hostname hm.Meta.Hostname = hostname } diff --git a/exporter/datadogexporter/metrics_exporter.go b/exporter/datadogexporter/metrics_exporter.go index 7541ca76f062..17e9a3eab4d3 100644 --- a/exporter/datadogexporter/metrics_exporter.go +++ b/exporter/datadogexporter/metrics_exporter.go @@ -55,7 +55,7 @@ type hostProvider struct { } func (p *hostProvider) Hostname(context.Context) (string, error) { - return metadata.GetHost(p.logger, p.cfg), nil + return metadata.GetHost(p.logger, p.cfg.Hostname), nil } // translatorFromConfig creates a new metrics translator from the exporter config. diff --git a/exporter/datadogexporter/traces_exporter.go b/exporter/datadogexporter/traces_exporter.go index f362356e149c..07c9b3a94249 100644 --- a/exporter/datadogexporter/traces_exporter.go +++ b/exporter/datadogexporter/traces_exporter.go @@ -127,7 +127,7 @@ func (exp *traceExporter) pushTraceData( // convert traces to datadog traces and group trace payloads by env // we largely apply the same logic as the serverless implementation, simplified a bit // https://github.com/DataDog/datadog-serverless-functions/blob/f5c3aedfec5ba223b11b76a4239fcbf35ec7d045/aws/logs_monitoring/trace_forwarder/cmd/trace/main.go#L61-L83 - fallbackHost := metadata.GetHost(exp.params.Logger, exp.cfg) + fallbackHost := metadata.GetHost(exp.params.Logger, exp.cfg.Hostname) ddTraces, ms := convertToDatadogTd(td, fallbackHost, exp.cfg, exp.denylister, exp.params.BuildInfo) // group the traces by env to reduce the number of flushes