otelcollector/opentelemetry-collector-builder/main.go (33 lines of code) (raw):
package main
import (
"log"
"go.opentelemetry.io/collector/component"
"go.opentelemetry.io/collector/confmap"
"go.opentelemetry.io/collector/confmap/provider/envprovider"
"go.opentelemetry.io/collector/confmap/provider/fileprovider"
"go.opentelemetry.io/collector/otelcol"
)
func main() {
info := component.BuildInfo{
Command: "custom-collector-distro",
Description: "Custom OpenTelemetry Collector distribution",
Version: "0.121.0",
}
set := otelcol.CollectorSettings{
BuildInfo: info,
Factories: components,
ConfigProviderSettings: otelcol.ConfigProviderSettings{
ResolverSettings: confmap.ResolverSettings{
ProviderFactories: []confmap.ProviderFactory{
envprovider.NewFactory(),
fileprovider.NewFactory(),
},
},
},
}
app := otelcol.NewCommand(set)
err := app.Execute()
if err != nil {
log.Fatal("collector server run finished with error: %w", err)
}
}