generated from newrelic/developer-toolkit-template-go
-
Notifications
You must be signed in to change notification settings - Fork 6
/
components.go
76 lines (67 loc) · 2.53 KB
/
components.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
// Copyright New Relic Corporation. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
package components // import "github.com/newrelic/opentelemetry-collector-components/internal/components"
import (
"github.com/newrelic/opentelemetry-collector-components/connector/apmconnector"
"github.com/newrelic/opentelemetry-collector-components/processor/apmprocessor"
"github.com/newrelic/opentelemetry-collector-components/receiver/nopreceiver"
"go.opentelemetry.io/collector/connector"
"go.opentelemetry.io/collector/exporter"
"go.opentelemetry.io/collector/exporter/loggingexporter"
"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"
"go.opentelemetry.io/collector/receiver/otlpreceiver"
"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/receiver/hostmetricsreceiver"
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver"
)
func Components() (otelcol.Factories, error) {
var err error
factories := otelcol.Factories{}
extensions := []extension.Factory{}
factories.Extensions, err = extension.MakeFactoryMap(extensions...)
if err != nil {
return otelcol.Factories{}, err
}
receivers := []receiver.Factory{
hostmetricsreceiver.NewFactory(),
otlpreceiver.NewFactory(),
prometheusreceiver.NewFactory(),
nopreceiver.NewFactory(),
}
factories.Receivers, err = receiver.MakeFactoryMap(receivers...)
if err != nil {
return otelcol.Factories{}, err
}
exporters := []exporter.Factory{
loggingexporter.NewFactory(),
otlpexporter.NewFactory(),
prometheusexporter.NewFactory(),
prometheusremotewriteexporter.NewFactory(),
}
factories.Exporters, err = exporter.MakeFactoryMap(exporters...)
if err != nil {
return otelcol.Factories{}, err
}
processors := []processor.Factory{
batchprocessor.NewFactory(),
apmprocessor.NewFactory(),
}
factories.Processors, err = processor.MakeFactoryMap(processors...)
if err != nil {
return otelcol.Factories{}, err
}
connectors := []connector.Factory{
apmconnector.NewFactory(),
}
factories.Connectors, err = connector.MakeFactoryMap(connectors...)
if err != nil {
return otelcol.Factories{}, err
}
return factories, nil
}