Skip to content

Commit 32e0923

Browse files
djaglowskidpaasman00
authored andcommitted
Add ModuleInfo struct to extension package
1 parent d5d1f82 commit 32e0923

File tree

5 files changed

+34
-8
lines changed

5 files changed

+34
-8
lines changed

extension/extension.go

+11
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,15 @@ type StatusWatcher interface {
6262
ComponentStatusChanged(source *component.InstanceID, event *component.StatusEvent)
6363
}
6464

65+
// ModuleInfo describes the go module for each component.
66+
type ModuleInfo struct {
67+
Receiver map[component.Type]string
68+
Processor map[component.Type]string
69+
Exporter map[component.Type]string
70+
Extension map[component.Type]string
71+
Connector map[component.Type]string
72+
}
73+
6574
// Settings is passed to Factory.Create(...) function.
6675
type Settings struct {
6776
// ID returns the ID of the component that will be created.
@@ -71,6 +80,8 @@ type Settings struct {
7180

7281
// BuildInfo can be used by components for informational purposes
7382
BuildInfo component.BuildInfo
83+
84+
ModuleInfo ModuleInfo
7485
}
7586

7687
// CreateFunc is the equivalent of Factory.Create(...) function.

otelcol/collector.go

+14-7
Original file line numberDiff line numberDiff line change
@@ -185,13 +185,20 @@ func (col *Collector) setupConfigurationComponents(ctx context.Context) error {
185185
}
186186

187187
col.service, err = service.New(ctx, service.Settings{
188-
BuildInfo: col.set.BuildInfo,
189-
CollectorConf: conf,
190-
Receivers: receiver.NewBuilder(cfg.Receivers, factories.Receivers),
191-
Processors: processor.NewBuilder(cfg.Processors, factories.Processors),
192-
Exporters: exporter.NewBuilder(cfg.Exporters, factories.Exporters),
193-
Connectors: connector.NewBuilder(cfg.Connectors, factories.Connectors),
194-
Extensions: extension.NewBuilder(cfg.Extensions, factories.Extensions),
188+
BuildInfo: col.set.BuildInfo,
189+
CollectorConf: conf,
190+
Receivers: receiver.NewBuilder(cfg.Receivers, factories.Receivers),
191+
Processors: processor.NewBuilder(cfg.Processors, factories.Processors),
192+
Exporters: exporter.NewBuilder(cfg.Exporters, factories.Exporters),
193+
Connectors: connector.NewBuilder(cfg.Connectors, factories.Connectors),
194+
Extensions: extension.NewBuilder(cfg.Extensions, factories.Extensions),
195+
ModuleInfo: extension.ModuleInfo{
196+
Receiver: factories.ReceiverModules,
197+
Processor: factories.ProcessorModules,
198+
Exporter: factories.ExporterModules,
199+
Extension: factories.ExtensionModules,
200+
Connector: factories.ConnectorModules,
201+
},
195202
AsyncErrorChannel: col.asyncErrorChannel,
196203
LoggingOptions: col.set.LoggingOptions,
197204
}, cfg.Service)

service/extensions/extensions.go

+2
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,7 @@ type Settings struct {
172172

173173
// Extensions builder for extensions.
174174
Extensions *extension.Builder
175+
ModuleInfo extension.ModuleInfo
175176
}
176177

177178
type Option func(*Extensions)
@@ -205,6 +206,7 @@ func New(ctx context.Context, set Settings, cfg Config, options ...Option) (*Ext
205206
ID: extID,
206207
TelemetrySettings: set.Telemetry,
207208
BuildInfo: set.BuildInfo,
209+
ModuleInfo: set.ModuleInfo,
208210
}
209211
extSet.TelemetrySettings.ReportStatus = status.NewReportStatusFunc(instanceID, exts.reporter.ReportStatus)
210212
extSet.TelemetrySettings.Logger = components.ExtensionLogger(set.Telemetry.Logger, extID)

service/internal/graph/host.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,8 @@ type Host struct {
3636
Connectors *connector.Builder
3737
Extensions *extension.Builder
3838

39-
BuildInfo component.BuildInfo
39+
ModuleInfo extension.ModuleInfo
40+
BuildInfo component.BuildInfo
4041

4142
Pipelines *Graph
4243
ServiceExtensions *extensions.Extensions

service/service.go

+5
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,9 @@ type Settings struct {
5858
// Extensions builder for extensions.
5959
Extensions *extension.Builder
6060

61+
// ModuleInfo describes the go module for each component.
62+
ModuleInfo extension.ModuleInfo
63+
6164
// AsyncErrorChannel is the channel that is used to report fatal errors.
6265
AsyncErrorChannel chan error
6366

@@ -87,6 +90,7 @@ func New(ctx context.Context, set Settings, cfg Config) (*Service, error) {
8790
Exporters: set.Exporters,
8891
Connectors: set.Connectors,
8992
Extensions: set.Extensions,
93+
ModuleInfo: set.ModuleInfo,
9094
BuildInfo: set.BuildInfo,
9195
AsyncErrorChannel: set.AsyncErrorChannel,
9296
},
@@ -283,6 +287,7 @@ func (srv *Service) initExtensions(ctx context.Context, cfg extensions.Config) e
283287
Telemetry: srv.telemetrySettings,
284288
BuildInfo: srv.buildInfo,
285289
Extensions: srv.host.Extensions,
290+
ModuleInfo: srv.host.ModuleInfo,
286291
}
287292
if srv.host.ServiceExtensions, err = extensions.New(ctx, extensionsSettings, cfg, extensions.WithReporter(srv.reporter)); err != nil {
288293
return fmt.Errorf("failed to build extensions: %w", err)

0 commit comments

Comments
 (0)