Skip to content

Commit 13ca9f2

Browse files
Remove CommonSettings struct,
Make SvcSettings private Signed-off-by: Patryk Matyjasek <[email protected]>
1 parent 77438b6 commit 13ca9f2

File tree

9 files changed

+42
-72
lines changed

9 files changed

+42
-72
lines changed

cmd/otelcol/main.go

+5-9
Original file line numberDiff line numberDiff line change
@@ -31,17 +31,13 @@ func main() {
3131
if err != nil {
3232
log.Fatalf("failed to build default components: %v", err)
3333
}
34-
35-
commonSettings := service.CommonSettings{
36-
BuildInfo: component.BuildInfo{
37-
Command: "otelcol",
38-
Description: "OpenTelemetry Collector",
39-
Version: version.Version,
40-
},
41-
Factories: factories,
34+
info := component.BuildInfo{
35+
Command: "otelcol",
36+
Description: "OpenTelemetry Collector",
37+
Version: version.Version,
4238
}
4339

44-
if err := run(service.AppSettings{CommonSettings: commonSettings}); err != nil {
40+
if err := run(service.AppSettings{BuildInfo: info, Factories: factories}); err != nil {
4541
log.Fatal(err)
4642
}
4743
}

component/component.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,9 @@ package component
1717
import (
1818
"context"
1919

20-
"go.opentelemetry.io/collector/config"
2120
"go.uber.org/zap"
21+
22+
"go.opentelemetry.io/collector/config"
2223
)
2324

2425
// Component is either a receiver, exporter, processor or an extension.

service/application.go

+8-12
Original file line numberDiff line numberDiff line change
@@ -81,19 +81,19 @@ type Application struct {
8181

8282
// New creates and returns a new instance of Application.
8383
func New(set AppSettings) (*Application, error) {
84-
if err := configcheck.ValidateConfigFromFactories(set.CommonSettings.Factories); err != nil {
84+
if err := configcheck.ValidateConfigFromFactories(set.Factories); err != nil {
8585
return nil, err
8686
}
8787

8888
app := &Application{
89-
info: set.CommonSettings.BuildInfo,
90-
factories: set.CommonSettings.Factories,
89+
info: set.BuildInfo,
90+
factories: set.Factories,
9191
stateChannel: make(chan State, Closed+1),
9292
}
9393

9494
rootCmd := &cobra.Command{
95-
Use: set.CommonSettings.BuildInfo.Command,
96-
Version: set.CommonSettings.BuildInfo.Version,
95+
Use: set.BuildInfo.Command,
96+
Version: set.BuildInfo.Version,
9797
RunE: func(cmd *cobra.Command, args []string) error {
9898
var err error
9999
if app.logger, err = newLogger(set.LoggingOptions); err != nil {
@@ -220,13 +220,9 @@ func (app *Application) setupConfigurationComponents(ctx context.Context) error
220220

221221
app.logger.Info("Applying configuration...")
222222

223-
commonSettings := CommonSettings{
224-
BuildInfo: app.info,
225-
Factories: app.factories,
226-
}
227-
228-
service, err := newService(&SvcSettings{
229-
CommonSettings: commonSettings,
223+
service, err := newService(&svcSettings{
224+
BuildInfo: app.info,
225+
Factories: app.factories,
230226
Config: cfg,
231227
Logger: app.logger,
232228
AsyncErrorChannel: app.asyncErrorChannel,

service/application_test.go

+10-20
Original file line numberDiff line numberDiff line change
@@ -51,12 +51,11 @@ func TestApplication_Start(t *testing.T) {
5151
return nil
5252
}
5353

54-
commonSettings := CommonSettings{
55-
BuildInfo: component.DefaultBuildInfo(),
56-
Factories: factories,
57-
}
58-
59-
app, err := New(AppSettings{CommonSettings: commonSettings, LoggingOptions: []zap.Option{zap.Hooks(hook)}})
54+
app, err := New(AppSettings{
55+
BuildInfo: component.DefaultBuildInfo(),
56+
Factories: factories,
57+
LoggingOptions: []zap.Option{zap.Hooks(hook)},
58+
})
6059
require.NoError(t, err)
6160
assert.Equal(t, app.rootCmd, app.Command())
6261

@@ -124,12 +123,7 @@ func TestApplication_ReportError(t *testing.T) {
124123
factories, err := defaultcomponents.Components()
125124
require.NoError(t, err)
126125

127-
commonSettings := CommonSettings{
128-
BuildInfo: component.DefaultBuildInfo(),
129-
Factories: factories,
130-
}
131-
132-
app, err := New(AppSettings{CommonSettings: commonSettings})
126+
app, err := New(AppSettings{BuildInfo: component.DefaultBuildInfo(), Factories: factories})
133127
require.NoError(t, err)
134128

135129
app.rootCmd.SetArgs([]string{"--config=testdata/otelcol-config-minimal.yaml"})
@@ -152,16 +146,12 @@ func TestApplication_StartAsGoRoutine(t *testing.T) {
152146
factories, err := defaultcomponents.Components()
153147
require.NoError(t, err)
154148

155-
commonSettings := CommonSettings{
156-
BuildInfo: component.DefaultBuildInfo(),
157-
Factories: factories,
158-
}
159-
160-
params := AppSettings{
161-
CommonSettings: commonSettings,
149+
set := AppSettings{
150+
BuildInfo: component.DefaultBuildInfo(),
151+
Factories: factories,
162152
ParserProvider: new(minimalParserLoader),
163153
}
164-
app, err := New(params)
154+
app, err := New(set)
165155
require.NoError(t, err)
166156

167157
appDone := make(chan struct{})

service/application_windows_test.go

+1-5
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,7 @@ func TestWindowsService_Execute(t *testing.T) {
3434
factories, err := defaultcomponents.Components()
3535
require.NoError(t, err)
3636

37-
componentSettings := component.ComponentSettings{
38-
BuildInfo: component.DefaultBuildInfo(),
39-
}
40-
41-
s := NewWindowsService(Settings{Factories: factories, ComponentSettings: componentSettings})
37+
s := NewWindowsService(svcSettings{BuildInfo: component.DefaultBuildInfo(), Factories: factories})
4238

4339
appDone := make(chan struct{})
4440
requests := make(chan svc.ChangeRequest)

service/service.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,10 @@ type service struct {
4040
builtExtensions builder.Extensions
4141
}
4242

43-
func newService(set *SvcSettings) (*service, error) {
43+
func newService(set *svcSettings) (*service, error) {
4444
srv := &service{
45-
factories: set.CommonSettings.Factories,
46-
buildInfo: set.CommonSettings.BuildInfo,
45+
factories: set.Factories,
46+
buildInfo: set.BuildInfo,
4747
config: set.Config,
4848
logger: set.Logger,
4949
asyncErrorChannel: set.AsyncErrorChannel,

service/service_test.go

+4-7
Original file line numberDiff line numberDiff line change
@@ -103,15 +103,12 @@ func createExampleService(t *testing.T) *service {
103103
require.NoError(t, err)
104104
cfg, err := configtest.LoadConfigFile(t, path.Join(".", "testdata", "otelcol-nop.yaml"), factories)
105105
require.NoError(t, err)
106-
commonSettings := CommonSettings{
106+
107+
srv, err := newService(&svcSettings{
107108
BuildInfo: component.DefaultBuildInfo(),
108109
Factories: factories,
109-
}
110-
111-
srv, err := newService(&SvcSettings{
112-
CommonSettings: commonSettings,
113-
Logger: zap.NewNop(),
114-
Config: cfg,
110+
Logger: zap.NewNop(),
111+
Config: cfg,
115112
})
116113
require.NoError(t, err)
117114
return srv

service/settings.go

+7-10
Original file line numberDiff line numberDiff line change
@@ -22,19 +22,13 @@ import (
2222
"go.opentelemetry.io/collector/service/parserprovider"
2323
)
2424

25-
// CommonSettings holds common settings for Service and Application
26-
type CommonSettings struct {
25+
// svcSettings holds configuration for building a new service.
26+
type svcSettings struct {
2727
// Factories component factories.
2828
Factories component.Factories
2929

3030
// BuildInfo provides application start information.
3131
BuildInfo component.BuildInfo
32-
}
33-
34-
// SvcSettings holds configuration for building a new service.
35-
type SvcSettings struct {
36-
// CommonSettings contains Factories and BuildInfo
37-
CommonSettings CommonSettings
3832

3933
// Config represents the configuration of the service.
4034
Config *config.Config
@@ -48,8 +42,11 @@ type SvcSettings struct {
4842

4943
// AppSettings holds configuration for creating a new Application.
5044
type AppSettings struct {
51-
// CommonSettings contains Factories and BuildInfo
52-
CommonSettings CommonSettings
45+
// Factories component factories.
46+
Factories component.Factories
47+
48+
// BuildInfo provides application start information.
49+
BuildInfo component.BuildInfo
5350

5451
// ParserProvider provides the configuration's Parser.
5552
// If it is not provided a default provider is used. The default provider loads the configuration

testbed/testbed/otelcol_runner.go

+2-5
Original file line numberDiff line numberDiff line change
@@ -84,15 +84,12 @@ func (ipp *InProcessCollector) PrepareConfig(configStr string) (configCleanup fu
8484
}
8585

8686
func (ipp *InProcessCollector) Start(args StartParams) error {
87-
commonSettings := service.CommonSettings{
87+
settings := service.AppSettings{
8888
BuildInfo: component.BuildInfo{
8989
Command: "otelcol",
9090
Version: version.Version,
9191
},
92-
Factories: ipp.factories,
93-
}
94-
settings := service.AppSettings{
95-
CommonSettings: commonSettings,
92+
Factories: ipp.factories,
9693
ParserProvider: parserprovider.NewInMemory(strings.NewReader(ipp.configStr)),
9794
}
9895
var err error

0 commit comments

Comments
 (0)