otelcollector/opentelemetry-collector-builder/components.go (39 lines of code) (raw):

package main import ( "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusexporter" "github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor" "github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourceprocessor" "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver" "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/exporter" "go.opentelemetry.io/collector/exporter/otlpexporter" "go.opentelemetry.io/collector/extension" "go.opentelemetry.io/collector/otelcol" "go.opentelemetry.io/collector/processor" "go.opentelemetry.io/collector/processor/batchprocessor" "go.opentelemetry.io/collector/receiver" ) func components() (otelcol.Factories, error) { promReceiver := prometheusreceiver.NewFactory() otlpExporter := otlpexporter.NewFactory() promExporter := prometheusexporter.NewFactory() batchProcessor := batchprocessor.NewFactory() resourceProcessor := resourceprocessor.NewFactory() filterProcessor := filterprocessor.NewFactory() factories := otelcol.Factories{ Extensions: map[component.Type]extension.Factory{}, Receivers: map[component.Type]receiver.Factory{ promReceiver.Type(): promReceiver, }, Exporters: map[component.Type]exporter.Factory{ otlpExporter.Type(): otlpExporter, promExporter.Type(): promExporter, }, Processors: map[component.Type]processor.Factory{ batchProcessor.Type(): batchProcessor, resourceProcessor.Type(): resourceProcessor, filterProcessor.Type(): filterProcessor, }, } return factories, nil }