summaryrefslogtreecommitdiff
path: root/main.go
diff options
context:
space:
mode:
authorLibravatar Terin Stock <terinjokes@gmail.com>2023-03-12 22:57:11 +0100
committerLibravatar Terin Stock <terinjokes@gmail.com>2023-03-12 22:57:11 +0100
commit2ff4b6b10da1456feb39f76b33a5fbce66413b48 (patch)
tree8ae1c0c2e9768084edcf69b7ece79e4831509118 /main.go
parentinitial commit (diff)
downloadotelcol-ts-trunk.tar.xz
otelcol-ts: v0.73.0HEADtrunk
Diffstat (limited to 'main.go')
-rw-r--r--main.go80
1 files changed, 80 insertions, 0 deletions
diff --git a/main.go b/main.go
new file mode 100644
index 0000000..a3c82d2
--- /dev/null
+++ b/main.go
@@ -0,0 +1,80 @@
+package main
+
+import (
+ "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusremotewriteexporter"
+ "github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension"
+ "github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourcedetectionprocessor"
+ "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/chronyreceiver"
+ "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver"
+ "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/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"
+)
+
+var version = "latest"
+
+func main() {
+ var err error
+ factories := otelcol.Factories{}
+ receivers := []receiver.Factory{
+ chronyreceiver.NewFactory(),
+ hostmetricsreceiver.NewFactory(),
+ otlpreceiver.NewFactory(),
+ prometheusreceiver.NewFactory(),
+ }
+ factories.Receivers, err = receiver.MakeFactoryMap(receivers...)
+ if err != nil {
+ panic(err)
+ }
+
+ exporters := []exporter.Factory{
+ otlpexporter.NewFactory(),
+ prometheusremotewriteexporter.NewFactory(),
+ }
+ factories.Exporters, err = exporter.MakeFactoryMap(exporters...)
+ if err != nil {
+ panic(err)
+ }
+
+ processors := []processor.Factory{
+ batchprocessor.NewFactory(),
+ memorylimiterprocessor.NewFactory(),
+ resourcedetectionprocessor.NewFactory(),
+ }
+ factories.Processors, err = processor.MakeFactoryMap(processors...)
+ if err != nil {
+ panic(err)
+ }
+
+ extensions := []extension.Factory{
+ healthcheckextension.NewFactory(),
+ zpagesextension.NewFactory(),
+ }
+ factories.Extensions, err = extension.MakeFactoryMap(extensions...)
+ if err != nil {
+ panic(err)
+ }
+
+ info := component.BuildInfo{
+ Command: "otelcol-ts",
+ Description: "OpenTelemetry Collector (ts)",
+ Version: version,
+ }
+
+ cmd := otelcol.NewCommand(otelcol.CollectorSettings{
+ BuildInfo: info,
+ Factories: factories,
+ })
+ if err := cmd.Execute(); err != nil {
+ panic(err)
+ }
+}