mirror of
https://github.com/hanzoai/otel-collector.git
synced 2026-10-30 18:26:25 +00:00
316 lines
15 KiB
Go
316 lines
15 KiB
Go
package components
|
|
|
|
import (
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awss3exporter"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/exporter/carbonexporter"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/exporter/fileexporter"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/exporter/jaegerexporter"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/exporter/jaegerthrifthttpexporter"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/exporter/kafkaexporter"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/exporter/loadbalancingexporter"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/exporter/parquetexporter"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusexporter"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusremotewriteexporter"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/exporter/pulsarexporter"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/exporter/zipkinexporter"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/extension/basicauthextension"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/extension/bearertokenauthextension"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/extension/httpforwarder"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/extension/jaegerremotesampling"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/extension/oauth2clientauthextension"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/dockerobserver"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/ecsobserver"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/ecstaskobserver"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/hostobserver"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/k8sobserver"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/extension/oidcauthextension"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/extension/pprofextension"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage/filestorage"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/processor/attributesprocessor"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/processor/cumulativetodeltaprocessor"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/processor/deltatorateprocessor"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/processor/groupbyattrsprocessor"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/processor/groupbytraceprocessor"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/processor/k8sattributesprocessor"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/processor/logstransformprocessor"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/processor/metricsgenerationprocessor"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/processor/metricstransformprocessor"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/processor/probabilisticsamplerprocessor"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/processor/redactionprocessor"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourcedetectionprocessor"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourceprocessor"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/processor/routingprocessor"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/processor/schemaprocessor"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/processor/servicegraphprocessor"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/processor/spanmetricsprocessor"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/processor/spanprocessor"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/processor/tailsamplingprocessor"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/apachereceiver"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/awscloudwatchreceiver"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/awscontainerinsightreceiver"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/awsecscontainermetricsreceiver"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/awsxrayreceiver"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/carbonreceiver"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/collectdreceiver"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/couchdbreceiver"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/dockerstatsreceiver"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/dotnetdiagnosticsreceiver"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/elasticsearchreceiver"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filelogreceiver"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/fluentforwardreceiver"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/httpcheckreceiver"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jaegerreceiver"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jmxreceiver"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/journaldreceiver"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8sclusterreceiver"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8seventsreceiver"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8sobjectsreceiver"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kafkametricsreceiver"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kafkareceiver"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kubeletstatsreceiver"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/memcachedreceiver"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mongodbatlasreceiver"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mongodbreceiver"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mysqlreceiver"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/nginxreceiver"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/oracledbreceiver"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/otlpjsonfilereceiver"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/podmanreceiver"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/postgresqlreceiver"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusexecreceiver"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/pulsarreceiver"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/rabbitmqreceiver"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/receivercreator"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/redisreceiver"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/simpleprometheusreceiver"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/skywalkingreceiver"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/sqlqueryreceiver"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/sqlserverreceiver"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/statsdreceiver"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/syslogreceiver"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/tcplogreceiver"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/udplogreceiver"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver"
|
|
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zookeeperreceiver"
|
|
"go.opentelemetry.io/collector/exporter"
|
|
"go.opentelemetry.io/collector/exporter/loggingexporter"
|
|
"go.opentelemetry.io/collector/exporter/otlpexporter"
|
|
"go.opentelemetry.io/collector/exporter/otlphttpexporter"
|
|
"go.opentelemetry.io/collector/extension"
|
|
"go.opentelemetry.io/collector/extension/ballastextension"
|
|
"go.opentelemetry.io/collector/extension/zpagesextension"
|
|
"go.opentelemetry.io/collector/otelcol"
|
|
"go.opentelemetry.io/collector/processor"
|
|
"go.opentelemetry.io/collector/processor/batchprocessor"
|
|
"go.opentelemetry.io/collector/processor/memorylimiterprocessor"
|
|
"go.opentelemetry.io/collector/receiver"
|
|
"go.opentelemetry.io/collector/receiver/otlpreceiver"
|
|
"go.uber.org/multierr"
|
|
|
|
"github.com/SigNoz/signoz-otel-collector/exporter/clickhouselogsexporter"
|
|
"github.com/SigNoz/signoz-otel-collector/exporter/clickhousemetricsexporter"
|
|
"github.com/SigNoz/signoz-otel-collector/exporter/clickhousetracesexporter"
|
|
_ "github.com/SigNoz/signoz-otel-collector/pkg/parser/grok"
|
|
"github.com/SigNoz/signoz-otel-collector/processor/signozspanmetricsprocessor"
|
|
"github.com/SigNoz/signoz-otel-collector/processor/signoztailsampler"
|
|
)
|
|
|
|
func Components() (otelcol.Factories, error) {
|
|
var errs []error
|
|
factories, err := CoreComponents()
|
|
if err != nil {
|
|
return otelcol.Factories{}, err
|
|
}
|
|
|
|
var 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{
|
|
apachereceiver.NewFactory(),
|
|
awscloudwatchreceiver.NewFactory(),
|
|
awscontainerinsightreceiver.NewFactory(),
|
|
awsecscontainermetricsreceiver.NewFactory(),
|
|
awsxrayreceiver.NewFactory(),
|
|
carbonreceiver.NewFactory(),
|
|
collectdreceiver.NewFactory(),
|
|
couchdbreceiver.NewFactory(),
|
|
dockerstatsreceiver.NewFactory(),
|
|
dotnetdiagnosticsreceiver.NewFactory(),
|
|
elasticsearchreceiver.NewFactory(),
|
|
filelogreceiver.NewFactory(),
|
|
fluentforwardreceiver.NewFactory(),
|
|
hostmetricsreceiver.NewFactory(),
|
|
httpcheckreceiver.NewFactory(),
|
|
jaegerreceiver.NewFactory(),
|
|
jmxreceiver.NewFactory(),
|
|
journaldreceiver.NewFactory(),
|
|
k8sclusterreceiver.NewFactory(),
|
|
k8seventsreceiver.NewFactory(),
|
|
k8sobjectsreceiver.NewFactory(),
|
|
kafkametricsreceiver.NewFactory(),
|
|
kafkareceiver.NewFactory(),
|
|
kubeletstatsreceiver.NewFactory(),
|
|
memcachedreceiver.NewFactory(),
|
|
mongodbatlasreceiver.NewFactory(),
|
|
mongodbreceiver.NewFactory(),
|
|
mysqlreceiver.NewFactory(),
|
|
nginxreceiver.NewFactory(),
|
|
opencensusreceiver.NewFactory(),
|
|
oracledbreceiver.NewFactory(),
|
|
otlpjsonfilereceiver.NewFactory(),
|
|
podmanreceiver.NewFactory(),
|
|
postgresqlreceiver.NewFactory(),
|
|
prometheusexecreceiver.NewFactory(),
|
|
prometheusreceiver.NewFactory(),
|
|
pulsarreceiver.NewFactory(),
|
|
rabbitmqreceiver.NewFactory(),
|
|
receivercreator.NewFactory(),
|
|
redisreceiver.NewFactory(),
|
|
sqlqueryreceiver.NewFactory(),
|
|
sqlserverreceiver.NewFactory(),
|
|
simpleprometheusreceiver.NewFactory(),
|
|
skywalkingreceiver.NewFactory(),
|
|
statsdreceiver.NewFactory(),
|
|
syslogreceiver.NewFactory(),
|
|
tcplogreceiver.NewFactory(),
|
|
udplogreceiver.NewFactory(),
|
|
zipkinreceiver.NewFactory(),
|
|
zookeeperreceiver.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{
|
|
awss3exporter.NewFactory(),
|
|
carbonexporter.NewFactory(),
|
|
clickhousemetricsexporter.NewFactory(),
|
|
clickhousetracesexporter.NewFactory(),
|
|
clickhouselogsexporter.NewFactory(),
|
|
fileexporter.NewFactory(),
|
|
jaegerexporter.NewFactory(),
|
|
jaegerthrifthttpexporter.NewFactory(),
|
|
kafkaexporter.NewFactory(),
|
|
loadbalancingexporter.NewFactory(),
|
|
opencensusexporter.NewFactory(),
|
|
parquetexporter.NewFactory(),
|
|
prometheusexporter.NewFactory(),
|
|
prometheusremotewriteexporter.NewFactory(),
|
|
pulsarexporter.NewFactory(),
|
|
zipkinexporter.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{
|
|
attributesprocessor.NewFactory(),
|
|
cumulativetodeltaprocessor.NewFactory(),
|
|
deltatorateprocessor.NewFactory(),
|
|
filterprocessor.NewFactory(),
|
|
groupbyattrsprocessor.NewFactory(),
|
|
groupbytraceprocessor.NewFactory(),
|
|
k8sattributesprocessor.NewFactory(),
|
|
metricsgenerationprocessor.NewFactory(),
|
|
metricstransformprocessor.NewFactory(),
|
|
probabilisticsamplerprocessor.NewFactory(),
|
|
redactionprocessor.NewFactory(),
|
|
resourcedetectionprocessor.NewFactory(),
|
|
resourceprocessor.NewFactory(),
|
|
routingprocessor.NewFactory(),
|
|
schemaprocessor.NewFactory(),
|
|
servicegraphprocessor.NewFactory(),
|
|
signozspanmetricsprocessor.NewFactory(),
|
|
spanmetricsprocessor.NewFactory(),
|
|
spanprocessor.NewFactory(),
|
|
tailsamplingprocessor.NewFactory(),
|
|
transformprocessor.NewFactory(),
|
|
logstransformprocessor.NewFactory(),
|
|
signoztailsampler.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...)
|
|
}
|
|
|
|
func CoreComponents() (
|
|
otelcol.Factories,
|
|
error,
|
|
) {
|
|
var errs error
|
|
|
|
extensions, err := extension.MakeFactoryMap(
|
|
ballastextension.NewFactory(),
|
|
basicauthextension.NewFactory(),
|
|
bearertokenauthextension.NewFactory(),
|
|
dockerobserver.NewFactory(),
|
|
ecsobserver.NewFactory(),
|
|
ecstaskobserver.NewFactory(),
|
|
filestorage.NewFactory(),
|
|
hostobserver.NewFactory(),
|
|
httpforwarder.NewFactory(),
|
|
jaegerremotesampling.NewFactory(),
|
|
k8sobserver.NewFactory(),
|
|
oauth2clientauthextension.NewFactory(),
|
|
oidcauthextension.NewFactory(),
|
|
healthcheckextension.NewFactory(),
|
|
pprofextension.NewFactory(),
|
|
zpagesextension.NewFactory(),
|
|
)
|
|
errs = multierr.Append(errs, err)
|
|
|
|
receivers, err := receiver.MakeFactoryMap(
|
|
otlpreceiver.NewFactory(),
|
|
)
|
|
errs = multierr.Append(errs, err)
|
|
|
|
exporters, err := exporter.MakeFactoryMap(
|
|
loggingexporter.NewFactory(),
|
|
otlpexporter.NewFactory(),
|
|
otlphttpexporter.NewFactory(),
|
|
)
|
|
errs = multierr.Append(errs, err)
|
|
|
|
processors, err := processor.MakeFactoryMap(
|
|
batchprocessor.NewFactory(),
|
|
memorylimiterprocessor.NewFactory(),
|
|
)
|
|
errs = multierr.Append(errs, err)
|
|
|
|
factories := otelcol.Factories{
|
|
Extensions: extensions,
|
|
Receivers: receivers,
|
|
Processors: processors,
|
|
Exporters: exporters,
|
|
}
|
|
|
|
return factories, errs
|
|
}
|