in pkg/defaultcomponents/defaults.go [56:143]
func Components() (component.Factories, error) {
var errs error
factories, err := defaultcomponents.Components()
if err != nil {
return component.Factories{}, err
}
// enable extensions
extensions := []component.ExtensionFactory{
awsproxy.NewFactory(),
ecsobserver.NewFactory(),
healthcheckextension.NewFactory(),
pprofextension.NewFactory(),
}
for _, ext := range factories.Extensions {
extensions = append(extensions, ext)
}
factories.Extensions, err = component.MakeExtensionFactoryMap(extensions...)
if err != nil {
errs = multierr.Append(errs, err)
}
// enable the selected receivers
receivers := []component.ReceiverFactory{
awsecscontainermetricsreceiver.NewFactory(),
awscontainerinsightreceiver.NewFactory(),
awsxrayreceiver.NewFactory(),
statsdreceiver.NewFactory(),
prometheusreceiver.NewFactory(),
jaegerreceiver.NewFactory(),
zipkinreceiver.NewFactory(),
}
for _, rcv := range factories.Receivers {
receivers = append(receivers, rcv)
}
factories.Receivers, err = component.MakeReceiverFactoryMap(receivers...)
if err != nil {
errs = multierr.Append(errs, err)
}
// enable the selected processors
processors := []component.ProcessorFactory{
attributesprocessor.NewFactory(),
resourceprocessor.NewFactory(),
probabilisticsamplerprocessor.NewFactory(),
spanprocessor.NewFactory(),
filterprocessor.NewFactory(),
metricstransformprocessor.NewFactory(),
resourcedetectionprocessor.NewFactory(),
metricsgenerationprocessor.NewFactory(),
cumulativetodeltaprocessor.NewFactory(),
deltatorateprocessor.NewFactory(),
}
for _, pr := range factories.Processors {
processors = append(processors, pr)
}
factories.Processors, err = component.MakeProcessorFactoryMap(processors...)
if err != nil {
errs = multierr.Append(errs, err)
}
// enable the selected exporters
exporters := []component.ExporterFactory{
awsxrayexporter.NewFactory(),
awsemfexporter.NewFactory(),
awsprometheusremotewriteexporter.NewFactory(),
prometheusexporter.NewFactory(),
fileexporter.NewFactory(),
dynatraceexporter.NewFactory(),
sapmexporter.NewFactory(),
signalfxexporter.NewFactory(),
// disable it until security team reviews it
//splunkhecexporter.NewFactory(),
// New Relic offers native OTLP ingest. Sign up at https://forms.gle/fa2pWcQxgVQYMggEA
//newrelicexporter.NewFactory(),
datadogexporter.NewFactory(),
logzioexporter.NewFactory(),
}
for _, exp := range factories.Exporters {
exporters = append(exporters, exp)
}
factories.Exporters, err = component.MakeExporterFactoryMap(exporters...)
if err != nil {
errs = multierr.Append(errs, err)
}
return factories, errs
}