in collector/service/components.go [44:101]
func components() (otelcol.Factories, error) {
errs := []error{}
factories, err := Components()
if err != nil {
return otelcol.Factories{}, err
}
extensions := []extension.Factory{}
for _, ext := range factories.Extensions {
extensions = append(extensions, ext)
}
factories.Extensions, err = extension.MakeFactoryMap(extensions...)
if err != nil {
errs = append(errs, err)
}
receivers := []receiver.Factory{
prometheusreceiver.NewFactory(),
}
for _, rcv := range factories.Receivers {
receivers = append(receivers, rcv)
}
factories.Receivers, err = receiver.MakeFactoryMap(receivers...)
if err != nil {
errs = append(errs, err)
}
exporters := []exporter.Factory{
fileexporter.NewFactory(),
googlecloudexporter.NewFactory(),
googlemanagedprometheusexporter.NewFactory(),
}
for _, exp := range factories.Exporters {
exporters = append(exporters, exp)
}
factories.Exporters, err = exporter.MakeFactoryMap(exporters...)
if err != nil {
errs = append(errs, err)
}
processors := []processor.Factory{
filterprocessor.NewFactory(),
resourcedetectionprocessor.NewFactory(),
metricstransformprocessor.NewFactory(),
resourceprocessor.NewFactory(),
transformprocessor.NewFactory(),
groupbyattrsprocessor.NewFactory(),
}
for _, pr := range factories.Processors {
processors = append(processors, pr)
}
factories.Processors, err = processor.MakeFactoryMap(processors...)
if err != nil {
errs = append(errs, err)
}
return factories, multierr.Combine(errs...)
}