Skip to content

Commit ab2cba7

Browse files
jeffreyc-splunkemadererRyan Fitzpatrick
authored
Release v0.35.0 (#749)
* Release v0.35.0 * Rename configparser.Parser to configparser.ConfigMap * Rename pdata.NewAttributeValueNull to pdata.NewAttributeValueEmpty * Fix issues with Logger removal * Update tests for 0.35.0 Co-authored-by: emaderer <[email protected]> Co-authored-by: Ryan Fitzpatrick <[email protected]>
1 parent e14f1b9 commit ab2cba7

File tree

17 files changed

+310
-273
lines changed

17 files changed

+310
-273
lines changed

CHANGELOG.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,24 @@
22

33
## Unreleased
44

5+
## v0.35.0
6+
7+
This Splunk OpenTelemetry Connector release includes changes from the [opentelemetry-collector v0.35.0](https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.35.0) and the [opentelemetry-collector-contrib v0.35.0](https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/v0.35.0) releases.
8+
9+
## 🚀 New components 🚀
10+
11+
- [`groupbyattrs` processor](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/groupbyattrsprocessor)
12+
13+
### 💡 Enhancements 💡
14+
15+
- Update bundled Smart Agent to [v5.13.0](https://github.com/signalfx/signalfx-agent/releases/tag/v5.13.0) (#738)
16+
- Add SUSE support to [Linux installer script](https://github.com/signalfx/splunk-otel-collector/blob/main/docs/getting-started/linux-installer.md) (collector only, log collection with Fluentd not yet supported) (#720)
17+
- Add SUSE support to [puppet module](https://forge.puppet.com/modules/signalfx/splunk_otel_collector) (collector only, log collection with Fluentd not yet supported) (#737)
18+
19+
### 🧰 Bug fixes 🧰
20+
21+
- `smartagent` receiver: Properly parse receiver creator endpoints (#718)
22+
523
## v0.34.1
624

725
### 💡 Enhancements 💡

go.mod

Lines changed: 84 additions & 84 deletions
Large diffs are not rendered by default.

go.sum

Lines changed: 151 additions & 132 deletions
Large diffs are not rendered by default.

internal/configprovider/config_source_provider.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ func NewConfigSourceParserProvider(pp parserprovider.ParserProvider, logger *zap
5252
// Get returns a config.Parser that wraps the parserprovider.Default() with a parser
5353
// that can load and inject data from config sources. If there are no config sources
5454
// in the configuration the returned parser behaves like the parserprovider.Default().
55-
func (c *configSourceParserProvider) Get() (*configparser.Parser, error) {
55+
func (c *configSourceParserProvider) Get() (*configparser.ConfigMap, error) {
5656
defaultParser, err := c.pp.Get()
5757
if err != nil {
5858
return nil, err

internal/configprovider/config_source_provider_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ type mockParserProvider struct {
136136

137137
var _ (parserprovider.ParserProvider) = (*mockParserProvider)(nil)
138138

139-
func (mpp *mockParserProvider) Get() (*configparser.Parser, error) {
139+
func (mpp *mockParserProvider) Get() (*configparser.ConfigMap, error) {
140140
if mpp.ErrOnGet {
141141
return nil, &errOnParserProviderGet{errors.New("mockParserProvider.Get() forced test error")}
142142
}
@@ -151,6 +151,6 @@ type fileParserProvider struct {
151151

152152
var _ (parserprovider.ParserProvider) = (*fileParserProvider)(nil)
153153

154-
func (fpp *fileParserProvider) Get() (*configparser.Parser, error) {
154+
func (fpp *fileParserProvider) Get() (*configparser.ConfigMap, error) {
155155
return configparser.NewParserFromFile(fpp.FileName)
156156
}

internal/configprovider/manager.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ type Manager struct {
178178
// NewManager creates a new instance of a Manager to be used to inject data from
179179
// ConfigSource objects into a configuration and watch for updates on the injected
180180
// data.
181-
func NewManager(parser *configparser.Parser, logger *zap.Logger, buildInfo component.BuildInfo, factories Factories) (*Manager, error) {
181+
func NewManager(parser *configparser.ConfigMap, logger *zap.Logger, buildInfo component.BuildInfo, factories Factories) (*Manager, error) {
182182
configSourcesSettings, err := Load(context.Background(), parser, factories)
183183
if err != nil {
184184
return nil, err
@@ -196,10 +196,10 @@ func NewManager(parser *configparser.Parser, logger *zap.Logger, buildInfo compo
196196
return newManager(cfgSources), nil
197197
}
198198

199-
// Resolve inspects the given configparser.Parser and resolves all config sources referenced
200-
// in the configuration, returning a configparser.Parser fully resolved. This must be called only
199+
// Resolve inspects the given configparser.ConfigMap and resolves all config sources referenced
200+
// in the configuration, returning a configparser.ConfigMap fully resolved. This must be called only
201201
// once per lifetime of a Manager object.
202-
func (m *Manager) Resolve(ctx context.Context, parser *configparser.Parser) (*configparser.Parser, error) {
202+
func (m *Manager) Resolve(ctx context.Context, parser *configparser.ConfigMap) (*configparser.ConfigMap, error) {
203203
res := configparser.NewParser()
204204
allKeys := parser.AllKeys()
205205
for _, k := range allKeys {
@@ -525,7 +525,7 @@ func parseCfgSrc(s string) (cfgSrcName, selector string, params interface{}, err
525525
selector = strings.Trim(parts[0], " ")
526526

527527
if len(parts) > 1 && len(parts[1]) > 0 {
528-
var p *configparser.Parser
528+
var p *configparser.ConfigMap
529529
if p, err = configparser.NewParserFromBuffer(bytes.NewReader([]byte(parts[1]))); err != nil {
530530
return
531531
}
@@ -586,7 +586,7 @@ func parseParamsAsURLQuery(s string) (interface{}, error) {
586586
}
587587

588588
// expandEnvVars is used to expand environment variables with the same syntax used
589-
// by configparser.Parser.
589+
// by configparser.ConfigMap.
590590
func expandEnvVars(s string) string {
591591
return os.Expand(s, func(str string) string {
592592
// This allows escaping environment variable substitution via $$, e.g.

internal/configprovider/parser.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ type (
4040

4141
// Load reads the configuration for ConfigSource objects from the given parser and returns a map
4242
// from the full name of config sources to the respective ConfigSettings.
43-
func Load(ctx context.Context, v *configparser.Parser, factories Factories) (map[string]ConfigSettings, error) {
43+
func Load(ctx context.Context, v *configparser.ConfigMap, factories Factories) (map[string]ConfigSettings, error) {
4444
processedParser, err := processParser(ctx, v)
4545
if err != nil {
4646
return nil, err
@@ -54,8 +54,8 @@ func Load(ctx context.Context, v *configparser.Parser, factories Factories) (map
5454
return cfgSrcSettings, nil
5555
}
5656

57-
// processParser prepares a configparser.Parser to be used to load config source settings.
58-
func processParser(ctx context.Context, v *configparser.Parser) (*configparser.Parser, error) {
57+
// processParser prepares a configparser.ConfigMap to be used to load config source settings.
58+
func processParser(ctx context.Context, v *configparser.ConfigMap) (*configparser.ConfigMap, error) {
5959
// Use a manager to resolve environment variables with a syntax consistent with
6060
// the config source usage.
6161
manager := newManager(make(map[string]configsource.ConfigSource))

internal/extension/smartagentextension/config.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ type Config struct {
3434
saconfig.Config `mapstructure:"-,squash"`
3535
}
3636

37-
func (cfg *Config) Unmarshal(componentParser *configparser.Parser) error {
37+
func (cfg *Config) Unmarshal(componentParser *configparser.ConfigMap) error {
3838
allSettings := componentParser.ToStringMap()
3939

4040
configDirSet := false

internal/extension/smartagentextension/extension_test.go

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,13 @@ import (
2121
"github.com/signalfx/signalfx-agent/pkg/core/config"
2222
"github.com/stretchr/testify/require"
2323
"go.opentelemetry.io/collector/component"
24-
"go.uber.org/zap"
2524

2625
"github.com/signalfx/splunk-otel-collector/internal/components/componenttest"
2726
)
2827

2928
func TestExtensionLifecycle(t *testing.T) {
3029
ctx := context.Background()
31-
createParams := component.ExtensionCreateSettings{
32-
Logger: zap.NewNop(),
33-
}
30+
createParams := component.ExtensionCreateSettings{}
3431
cfg := &Config{
3532
Config: config.Config{
3633
BundleDir: "/bundle/",

internal/receiver/smartagentreceiver/config.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ func (cfg *Config) validate() error {
6565

6666
// Unmarshal dynamically creates the desired Smart Agent monitor config
6767
// from the provided receiver config content.
68-
func (cfg *Config) Unmarshal(componentParser *configparser.Parser) error {
68+
func (cfg *Config) Unmarshal(componentParser *configparser.ConfigMap) error {
6969
// AllSettings() is the user provided config and intoCfg is the default Config instance we populate to
7070
// form the final desired version. To do so, we manually obtain all Config items, leaving only Smart Agent
7171
// monitor config settings to be unmarshalled to their respective custom monitor config types.

internal/receiver/smartagentreceiver/converter/event_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ func TestEventToPDataLogs(tt *testing.T) {
3838
expectedLog: newExpectedLog(
3939
"",
4040
map[string]pdata.AttributeValue{
41-
"com.splunk.signalfx.event_category": pdata.NewAttributeValueNull(),
41+
"com.splunk.signalfx.event_category": pdata.NewAttributeValueEmpty(),
4242
}, 0,
4343
),
4444
},

internal/receiver/smartagentreceiver/factory_test.go

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ import (
2424
"go.opentelemetry.io/collector/component"
2525
"go.opentelemetry.io/collector/config/configcheck"
2626
"go.opentelemetry.io/collector/consumer/consumertest"
27-
"go.uber.org/zap"
2827
)
2928

3029
func TestCreateDefaultConfig(t *testing.T) {
@@ -39,7 +38,7 @@ func TestCreateMetricsReceiver(t *testing.T) {
3938
cfg := factory.CreateDefaultConfig()
4039
cfg.(*Config).monitorConfig = &haproxy.Config{}
4140

42-
params := component.ReceiverCreateSettings{Logger: zap.NewNop()}
41+
params := component.ReceiverCreateSettings{}
4342
receiver, err := factory.CreateMetricsReceiver(context.Background(), params, cfg, consumertest.NewNop())
4443
assert.NoError(t, err)
4544
assert.NotNil(t, receiver)
@@ -52,7 +51,7 @@ func TestCreateMetricsReceiverWithInvalidConfig(t *testing.T) {
5251
cfg := &Config{}
5352
require.Error(t, cfg.validate())
5453

55-
params := component.ReceiverCreateSettings{Logger: zap.NewNop()}
54+
params := component.ReceiverCreateSettings{}
5655
receiver, err := factory.CreateMetricsReceiver(context.Background(), params, cfg, consumertest.NewNop())
5756
require.Error(t, err)
5857
assert.EqualError(t, err, "you must supply a valid Smart Agent Monitor config")
@@ -66,7 +65,7 @@ func TestCreateLogsReceiver(t *testing.T) {
6665
cfg := factory.CreateDefaultConfig()
6766
cfg.(*Config).monitorConfig = &haproxy.Config{}
6867

69-
params := component.ReceiverCreateSettings{Logger: zap.NewNop()}
68+
params := component.ReceiverCreateSettings{}
7069
receiver, err := factory.CreateLogsReceiver(context.Background(), params, cfg, consumertest.NewNop())
7170
assert.NoError(t, err)
7271
assert.NotNil(t, receiver)
@@ -79,7 +78,7 @@ func TestCreateLogsReceiverWithInvalidConfig(t *testing.T) {
7978
cfg := &Config{}
8079
require.Error(t, cfg.validate())
8180

82-
params := component.ReceiverCreateSettings{Logger: zap.NewNop()}
81+
params := component.ReceiverCreateSettings{}
8382
receiver, err := factory.CreateLogsReceiver(context.Background(), params, cfg, consumertest.NewNop())
8483
require.Error(t, err)
8584
assert.EqualError(t, err, "you must supply a valid Smart Agent Monitor config")
@@ -93,7 +92,7 @@ func TestCreateTracesReceiver(t *testing.T) {
9392
cfg := factory.CreateDefaultConfig()
9493
cfg.(*Config).monitorConfig = &haproxy.Config{}
9594

96-
params := component.ReceiverCreateSettings{Logger: zap.NewNop()}
95+
params := component.ReceiverCreateSettings{}
9796
receiver, err := factory.CreateTracesReceiver(context.Background(), params, cfg, consumertest.NewNop())
9897
assert.NoError(t, err)
9998
assert.NotNil(t, receiver)
@@ -106,7 +105,7 @@ func TestCreateTracesReceiverWithInvalidConfig(t *testing.T) {
106105
cfg := &Config{}
107106
require.Error(t, cfg.validate())
108107

109-
params := component.ReceiverCreateSettings{Logger: zap.NewNop()}
108+
params := component.ReceiverCreateSettings{}
110109
receiver, err := factory.CreateTracesReceiver(context.Background(), params, cfg, consumertest.NewNop())
111110
require.Error(t, err)
112111
assert.EqualError(t, err, "you must supply a valid Smart Agent Monitor config")
@@ -120,7 +119,7 @@ func TestCreateMetricsThenLogsAndThenTracesReceiver(t *testing.T) {
120119
cfg := factory.CreateDefaultConfig()
121120
cfg.(*Config).monitorConfig = &haproxy.Config{}
122121

123-
params := component.ReceiverCreateSettings{Logger: zap.NewNop()}
122+
params := component.ReceiverCreateSettings{}
124123
nextMetricsConsumer := consumertest.NewNop()
125124
metricsReceiver, err := factory.CreateMetricsReceiver(context.Background(), params, cfg, nextMetricsConsumer)
126125
assert.NoError(t, err)
@@ -150,7 +149,7 @@ func TestCreateTracesThenLogsAndThenMetricsReceiver(t *testing.T) {
150149
cfg := factory.CreateDefaultConfig()
151150
cfg.(*Config).monitorConfig = &haproxy.Config{}
152151

153-
params := component.ReceiverCreateSettings{Logger: zap.NewNop()}
152+
params := component.ReceiverCreateSettings{}
154153
nextTracesConsumer := consumertest.NewNop()
155154
tracesReceiver, err := factory.CreateTracesReceiver(context.Background(), params, cfg, nextTracesConsumer)
156155
assert.NoError(t, err)

tests/go.mod

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@ require (
66
github.com/docker/docker v20.10.8+incompatible
77
github.com/docker/go-connections v0.4.0
88
github.com/google/uuid v1.3.0
9-
github.com/shirou/gopsutil v3.21.7+incompatible
9+
github.com/shirou/gopsutil v3.21.8+incompatible
1010
github.com/signalfx/com_signalfx_metrics_protobuf v0.0.2
1111
github.com/signalfx/signalfx-go v1.8.1
1212
github.com/stretchr/testify v1.7.0
1313
github.com/testcontainers/testcontainers-go v0.11.1
14-
go.opentelemetry.io/collector v0.34.0
15-
go.opentelemetry.io/collector/model v0.34.0
16-
go.opentelemetry.io/otel/trace v1.0.0-RC2
14+
go.opentelemetry.io/collector v0.35.0
15+
go.opentelemetry.io/collector/model v0.35.0
16+
go.opentelemetry.io/otel/trace v1.0.0-RC3
1717
go.uber.org/atomic v1.9.0
1818
go.uber.org/zap v1.19.0
1919
gopkg.in/yaml.v2 v2.4.0
@@ -40,7 +40,7 @@ require (
4040
github.com/golang/protobuf v1.5.2 // indirect
4141
github.com/gorilla/mux v1.8.0 // indirect
4242
github.com/gorilla/websocket v1.4.2 // indirect
43-
github.com/knadh/koanf v1.2.1 // indirect
43+
github.com/knadh/koanf v1.2.2 // indirect
4444
github.com/mitchellh/copystructure v1.2.0 // indirect
4545
github.com/mitchellh/mapstructure v1.4.1 // indirect
4646
github.com/mitchellh/reflectwalk v1.0.2 // indirect
@@ -66,7 +66,7 @@ require (
6666
go.opentelemetry.io/contrib v0.22.0 // indirect
6767
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.22.0 // indirect
6868
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.22.0 // indirect
69-
go.opentelemetry.io/otel v1.0.0-RC2 // indirect
69+
go.opentelemetry.io/otel v1.0.0-RC3 // indirect
7070
go.opentelemetry.io/otel/internal/metric v0.22.0 // indirect
7171
go.opentelemetry.io/otel/metric v0.22.0 // indirect
7272
go.uber.org/multierr v1.6.0 // indirect
@@ -83,13 +83,13 @@ require (
8383
)
8484

8585
replace (
86-
github.com/open-telemetry/opentelemetry-collector-contrib/exporter/signalfxexporter v0.0.0-00010101000000-000000000000 => github.com/open-telemetry/opentelemetry-collector-contrib/exporter/signalfxexporter v0.34.0
87-
github.com/open-telemetry/opentelemetry-collector-contrib/exporter/splunkhecexporter v0.0.0-00010101000000-000000000000 => github.com/open-telemetry/opentelemetry-collector-contrib/exporter/splunkhecexporter v0.34.0
88-
github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer v0.0.0-00010101000000-000000000000 => github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer v0.34.0
89-
github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.0.0-00010101000000-000000000000 => github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.34.0
90-
github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8sconfig v0.0.0-00010101000000-000000000000 => github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8sconfig v0.34.0
91-
github.com/open-telemetry/opentelemetry-collector-contrib/internal/splunk v0.0.0-00010101000000-000000000000 => github.com/open-telemetry/opentelemetry-collector-contrib/internal/splunk v0.34.0
92-
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/batchperresourceattr v0.0.0-00010101000000-000000000000 => github.com/open-telemetry/opentelemetry-collector-contrib/pkg/batchperresourceattr v0.34.0
93-
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8sclusterreceiver v0.0.0-00010101000000-000000000000 => github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8sclusterreceiver v0.34.0
94-
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/redisreceiver v0.0.0-00010101000000-000000000000 => github.com/open-telemetry/opentelemetry-collector-contrib/receiver/redisreceiver v0.34.0
86+
github.com/open-telemetry/opentelemetry-collector-contrib/exporter/signalfxexporter v0.0.0-00010101000000-000000000000 => github.com/open-telemetry/opentelemetry-collector-contrib/exporter/signalfxexporter v0.35.0
87+
github.com/open-telemetry/opentelemetry-collector-contrib/exporter/splunkhecexporter v0.0.0-00010101000000-000000000000 => github.com/open-telemetry/opentelemetry-collector-contrib/exporter/splunkhecexporter v0.35.0
88+
github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer v0.0.0-00010101000000-000000000000 => github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer v0.35.0
89+
github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.0.0-00010101000000-000000000000 => github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.35.0
90+
github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8sconfig v0.0.0-00010101000000-000000000000 => github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8sconfig v0.35.0
91+
github.com/open-telemetry/opentelemetry-collector-contrib/internal/splunk v0.0.0-00010101000000-000000000000 => github.com/open-telemetry/opentelemetry-collector-contrib/internal/splunk v0.35.0
92+
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/batchperresourceattr v0.0.0-00010101000000-000000000000 => github.com/open-telemetry/opentelemetry-collector-contrib/pkg/batchperresourceattr v0.35.0
93+
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8sclusterreceiver v0.0.0-00010101000000-000000000000 => github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8sclusterreceiver v0.35.0
94+
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/redisreceiver v0.0.0-00010101000000-000000000000 => github.com/open-telemetry/opentelemetry-collector-contrib/receiver/redisreceiver v0.35.0
9595
)

0 commit comments

Comments
 (0)