opentelemetry-collector
opentelemetry-collector copied to clipboard
Collector with custom plugins compilation broken
Hi,
we are using our collector with contrib plugins using ocb.
The config file is the following:
dist:
name: edge
description: open telemetry collector with additional filelog receiver
output_path: .
otelcol_version: 0.99.0
receivers:
- gomod:
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filelogreceiver v0.99.0
- gomod:
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver v0.99.0
- gomod:
go.opentelemetry.io/collector/receiver/otlpreceiver v0.99.0
processors:
- gomod:
go.opentelemetry.io/collector/processor/batchprocessor v0.99.0
- gomod:
github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourceprocessor v0.99.0
- gomod:
go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.99.0
exporters:
- gomod:
go.opentelemetry.io/collector/exporter/debugexporter v0.99.0
- gomod:
go.opentelemetry.io/collector/exporter/otlphttpexporter v0.99.0
- gomod:
github.com/open-telemetry/opentelemetry-collector-contrib/exporter/lokiexporter v0.99.0
These are the steps:
curl --proto '=https' --tlsv1.2 -fL -o src/ocb \
https://github.com/open-telemetry/opentelemetry-collector/releases/download/cmd%2Fbuilder%2Fv0.99.0/ocb_0.99.0_linux_amd64
chmod +x src/ocb
GOFLAGS=-buildvcs=false ./ocb --config builder_config.yaml
We have successfully compiled it at 2024-07-30 in the morning and we have tried a new compilation yesterday (2024-10-17) with this error:
+ GOFLAGS=-buildvcs=false ./ocb --config builder_config.yaml
2024-10-17T14:46:22.551Z INFO internal/command.go:125 OpenTelemetry Collector Builder {"version": "0.99.0", "date": "2024-04-22T20:31:41Z"}
2024-10-17T14:46:22.552Z INFO internal/command.go:161 Using config file {"path": "builder_config.yaml"}
2024-10-17T14:46:22.552Z INFO builder/config.go:118 Using go {"go-executable": "/usr/local/go/bin/go"}
2024-10-17T14:46:22.553Z INFO builder/main.go:101 Sources created {"path": "."}
2024-10-17T14:46:39.085Z INFO builder/main.go:197 Getting go modules
2024-10-17T14:46:42.544Z INFO builder/main.go:112 Compiling
Error: failed to compile the OpenTelemetry Collector distribution: go subcommand failed with args '[build -trimpath -o edge -ldflags=-s -w]': exit status 1, error message: # go.opentelemetry.io/otel/sdk/metric
/go/pkg/mod/go.opentelemetry.io/otel/sdk/[email protected]/meter.go:65:22: cannot use (*meter)(nil) (value of type *meter) as "go.opentelemetry.io/otel/metric".Meter value in variable declaration: *meter does not implement "go.opentelemetry.io/otel/metric".Meter (missing method Float64Gauge)
/go/pkg/mod/go.opentelemetry.io/otel/sdk/[email protected]/provider.go:90:9: cannot use mp.meters.Lookup(s, func() *meter {…}) (value of type *meter) as "go.opentelemetry.io/otel/metric".Meter value in return statement: *meter does not implement "go.opentelemetry.io/otel/metric".Meter (missing method Float64Gauge)
How is possible? The plugins, the ocb and base otel collector versions are the same but the compilation fails. This is a huge stability problems if the build version is not reproducible.
Is there a workaround or a bufix for this problem?