diff --git a/extension/solarwindsapmsettingsextension/extension.go b/extension/solarwindsapmsettingsextension/extension.go index a22b30ec20dc..3b5741efd370 100644 --- a/extension/solarwindsapmsettingsextension/extension.go +++ b/extension/solarwindsapmsettingsextension/extension.go @@ -9,6 +9,7 @@ import ( "github.com/gogo/protobuf/proto" "github.com/solarwindscloud/apm-proto/go/collectorpb" "go.opentelemetry.io/collector/component" + "go.opentelemetry.io/collector/extension" "go.uber.org/zap" "google.golang.org/grpc" "google.golang.org/grpc/credentials" @@ -32,6 +33,14 @@ type solarwindsapmSettingsExtension struct { client collectorpb.TraceCollectorClient } +func newSolarwindsApmSettingsExtension(extensionCfg *Config, logger *zap.Logger) (extension.Extension, error) { + settingsExtension := &solarwindsapmSettingsExtension{ + config: extensionCfg, + logger: logger, + } + return settingsExtension, nil +} + func Refresh(extension *solarwindsapmSettingsExtension) { extension.logger.Info("Time to refresh from " + extension.config.Endpoint) if hostname, err := os.Hostname(); err != nil { @@ -135,12 +144,8 @@ func Refresh(extension *solarwindsapmSettingsExtension) { if value, ok := item.Arguments["ProfilingInterval"]; ok { arguments["ProfilingInterval"] = int32(binary.LittleEndian.Uint32(value)) } - /** - * We don't want to expose SignatureKey now - */ - //if value, ok := item.Arguments["SignatureKey"]; ok { - // arguments["SignatureKey"] = string(value) - //} + // Remove SignatureKey from collector response + delete(arguments, "SignatureKey") } settings = append(settings, setting) } diff --git a/extension/solarwindsapmsettingsextension/extension_test.go b/extension/solarwindsapmsettingsextension/extension_test.go index 0da0c7374cff..9c865fd6f9e4 100644 --- a/extension/solarwindsapmsettingsextension/extension_test.go +++ b/extension/solarwindsapmsettingsextension/extension_test.go @@ -1 +1,29 @@ package solarwindsapmsettingsextension + +import ( + "context" + "github.com/stretchr/testify/require" + "go.opentelemetry.io/collector/extension" + "go.uber.org/zap" + "testing" +) + +func TestCreateExtension(t *testing.T) { + conf := &Config{ + Endpoint: "apm.collector.cloud.solarwinds.com:443", + Key: "vlEW1JtimSH2LlBsNrPdeEjBxNl5z8Bp7gX55bNTk3_GIxHWedgj42GDFBWpRe2ne7TffHk:jerry_test", + Interval: "1s", + } + ex := createAnExtension(conf, t) + ex.Shutdown(context.TODO()) +} + +// create extension +func createAnExtension(c *Config, t *testing.T) extension.Extension { + logger, err := zap.NewProduction() + ex, err := newSolarwindsApmSettingsExtension(c, logger) + require.NoError(t, err) + err = ex.Start(context.TODO(), nil) + require.NoError(t, err) + return ex +} diff --git a/extension/solarwindsapmsettingsextension/factory.go b/extension/solarwindsapmsettingsextension/factory.go index deb5f0439a0f..61be48b8b49b 100644 --- a/extension/solarwindsapmsettingsextension/factory.go +++ b/extension/solarwindsapmsettingsextension/factory.go @@ -20,14 +20,7 @@ func createDefaultConfig() component.Config { } func createExtension(_ context.Context, settings extension.CreateSettings, cfg component.Config) (extension.Extension, error) { - logger := settings.Logger - extensionCfg := cfg.(*Config) - - settingsExtension := &solarwindsapmSettingsExtension{ - logger: logger, - config: extensionCfg, - } - return settingsExtension, nil + return newSolarwindsApmSettingsExtension(cfg.(*Config), settings.Logger) } func NewFactory() extension.Factory {