Internal telemetry breaks compiled binaries on unsupported OSes (original) (raw)
Component(s)
service
What happened?
Describe the bug
Custom compiled binaries for AIX (and other unsupported OSes) do not start. The following error is thrown when starting the collector:
Error: failed to register process metrics: not implemented yet 2025/12/17 13:32:42 collector server run finished with error: failed to register process metrics: not implemented yet
The root cause is that the gopsutil library does not support AIX, however setting the following in the service config should disable internal telemetry and suppress this error:
telemetry: metrics: level: none
This appears to be a regression of this change, affecting all releases starting with 0.136.0.
Steps to reproduce
Compile a recent version of the OTel collector (anything 0.136.0 or later) with GOOS=aix GOARCH=ppc64. I used the following minimal builder config to avoid other compatibility issues while testing:
dist: name: otelcol-aix description: OpenTelemetry collector built for AIX output_path: ./otelcol-aix version: 0.142.0
exporters:
- gomod: go.opentelemetry.io/collector/exporter/debugexporter v0.142.0
- gomod: go.opentelemetry.io/collector/exporter/otlpexporter v0.142.0
- gomod: go.opentelemetry.io/collector/exporter/otlphttpexporter v0.142.0
processors:
- gomod: go.opentelemetry.io/collector/processor/batchprocessor v0.142.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/datadogsemanticsprocessor v0.142.0
receivers:
- gomod: go.opentelemetry.io/collector/receiver/nopreceiver v0.142.0
- gomod: go.opentelemetry.io/collector/receiver/otlpreceiver v0.142.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/datadogreceiver v0.142.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filelogreceiver v0.142.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filestatsreceiver v0.142.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/fluentforwardreceiver v0.142.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver v0.142.0
providers:
- gomod: go.opentelemetry.io/collector/confmap/provider/envprovider v1.47.0
- gomod: go.opentelemetry.io/collector/confmap/provider/fileprovider v1.47.0
- gomod: go.opentelemetry.io/collector/confmap/provider/httpprovider v1.47.0
- gomod: go.opentelemetry.io/collector/confmap/provider/httpsprovider v1.47.0
- gomod: go.opentelemetry.io/collector/confmap/provider/yamlprovider v1.47.0
extensions:
- gomod: go.opentelemetry.io/collector/extension/zpagesextension v0.142.0
After building the executable, copy to the AIX host, add execute permissions, and run with a minimal configuration shown below.
What did you expect to see?
Setting service.telemetry.metrics.level: none should prevent the failed to register process metrics: not implemented yet error message and allow the collector to start normally.
What did you see instead?
The collector fails to start with the following output:
2025-12-17T13:32:42.931-0600 info otelconftelemetry/metrics.go:25 Internal metrics telemetry disabled {"resource": {"service.instance.id": "92ad75d1-ae5f-4752-a41c-274e9a4e8a06", "service.name": "otelcol-aix", "service.version": "0.142.0"}} 2025-12-17T13:32:42.932-0600 error service@v0.142.0/service.go:176 error found during service initialization {"resource": {"service.instance.id": "92ad75d1-ae5f-4752-a41c-274e9a4e8a06", "service.name": "otelcol-aix", "service.version": "0.142.0"}, "error": "failed to register process metrics: not implemented yet"} go.opentelemetry.io/collector/service.New.func2 go.opentelemetry.io/collector/service@v0.142.0/service.go:176 go.opentelemetry.io/collector/service.New go.opentelemetry.io/collector/service@v0.142.0/service.go:241 go.opentelemetry.io/collector/otelcol.(*Collector).setupConfigurationComponents go.opentelemetry.io/collector/otelcol@v0.142.0/collector.go:212 go.opentelemetry.io/collector/otelcol.(*Collector).Run go.opentelemetry.io/collector/otelcol@v0.142.0/collector.go:330 go.opentelemetry.io/collector/otelcol.NewCommand.func1 go.opentelemetry.io/collector/otelcol@v0.142.0/command.go:39 github.com/spf13/cobra.(*Command).execute github.com/spf13/cobra@v1.10.2/command.go:1015 github.com/spf13/cobra.(*Command).ExecuteC github.com/spf13/cobra@v1.10.2/command.go:1148 github.com/spf13/cobra.(*Command).Execute github.com/spf13/cobra@v1.10.2/command.go:1071 main.runInteractive go.opentelemetry.io/collector/cmd/builder/main.go:58 main.run go.opentelemetry.io/collector/cmd/builder/main_others.go:10 main.main go.opentelemetry.io/collector/cmd/builder/main.go:51 runtime.main runtime/proc.go:285 Error: failed to register process metrics: not implemented yet 2025/12/17 13:32:42 collector server run finished with error: failed to register process metrics: not implemented yet
Collector version
0.142.0
Environment information
Environment
OS: AIX 7.3
Compiler(if manually compiled): go1.25.5, ocb 0.142.0
OpenTelemetry Collector configuration
receivers: hostmetrics: scrapers: cpu: disk:
processors: batch: timeout: 10s
exporters: debug: verbosity: detailed
service: telemetry: metrics: level: none
pipelines: metrics: receivers: [hostmetrics] processors: [batch] exporters: [debug]
Log output
Additional context
Because this is a regression, there is a previous closed issue reported: #12098
Issue was fixed in this PR.
Fix is present in service.go v0.135.0, missing in v0.136.0.
Tip
React with 👍 to help prioritize this issue. Please use comments to provide useful context, avoiding +1 or me too, to help us triage it. Learn more here.