apiclarity
apiclarity copied to clipboard
Building Custom OpenTelemetry Collector fails
What happened:
I'm trying to build a custom OpenTelemetry exporter to use the Trace Analyzer feature.
I installed the latest collector builder:
GO111MODULE=on go install go.opentelemetry.io/collector/cmd/builder@latest
and once trying to run it, it fails with the following error:
builder --config=builder-config.yaml
2023-08-18T13:24:57.204-0400 INFO internal/command.go:117 OpenTelemetry Collector Builder {"version": "dev", "date": "unknown"}
2023-08-18T13:24:57.205-0400 INFO internal/command.go:150 Using config file {"path": "builder-config.yaml"}
2023-08-18T13:24:57.205-0400 INFO builder/config.go:106 Using go {"go-executable": "/usr/local/go/bin/go"}
2023-08-18T13:24:57.208-0400 INFO builder/main.go:69 Sources created {"path": "./otelcol-api"}
Error: failed to update go.mod: exit status 1. Output:
go: github.com/openclarity/apiclarity/plugins/otel-collector/[email protected] (replaced by github.com/openclarity/apiclarity/plugins/otel-collector/[email protected]): version "v0.0.0-20220915093602-8a11adcdb9e1" invalid: missing github.com/openclarity/apiclarity/plugins/otel-collector/apiclarityexporter/go.mod at revision 8a11adcdb9e1
Config: (copied from the instructions here)
dist:
name: otelcol-custom
description: Local OpenTelemetry Collector binary
output_path: /tmp/dist
exporters:
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/alibabacloudlogserviceexporter v0.69.0
- gomod: go.opentelemetry.io/collector/exporter/loggingexporter v0.69.1
receivers:
- gomod: go.opentelemetry.io/collector/receiver/otlpreceiver v0.69.1
processors:
- gomod: go.opentelemetry.io/collector/processor/batchprocessor v0.69.1
What you expected to happen:
A successful build of a custom OTEL Collector.
How to reproduce it (as minimally and precisely as possible):
GO111MODULE=on go install go.opentelemetry.io/collector/cmd/builder@latest
cat > otelcol-builder.yaml <<EOF
dist:
name: otelcol-api
description: "OTel Collector distribution with APIClarity support"
output_path: ./otelcol-api
exporters:
- gomod: "github.com/openclarity/apiclarity/plugins/otel-collector/apiclarityexporter v0.0.0"
- gomod:
"github.com/open-telemetry/opentelemetry-collector-contrib/exporter/jaegerexporter
v0.53.0"
- import: go.opentelemetry.io/collector/exporter/loggingexporter
gomod: go.opentelemetry.io/collector v0.53.0
replaces:
- github.com/openclarity/apiclarity/plugins/otel-collector/apiclarityexporter v0.0.0 => github.com/openclarity/apiclarity/plugins/otel-collector/apiclarityexporter v0.0.0-20220915093602-8a11adcdb9e1
- github.com/openclarity/apiclarity/plugins/api v0.0.0 => github.com/openclarity/apiclarity/plugins/api v0.0.0-20220915093602-8a11adcdb9e1
receivers:
- import: go.opentelemetry.io/collector/receiver/otlpreceiver
gomod: go.opentelemetry.io/collector v0.53.0
processors:
- import: go.opentelemetry.io/collector/processor/batchprocessor
gomod: go.opentelemetry.io/collector v0.53.0
EOF
builder --config=builder-config.yaml
Are there any error messages in API Clarity logs?
(e.g. kubectl logs -n apiclarity --selector=app=apiclarity
)
Anything else we need to know?:
- macOS 13.5 Ventura
-
go version go1.21.0 darwin/amd64
Environment:
- Kubernetes version (use
kubectl version --short
): - Istio version (use
istioctl version
): - APIClarity version (use
kubectl -n apiclarity exec deploy/apiclarity -- ./backend version
) - Cloud provider or hardware configuration:
- Others: