apiclarity icon indicating copy to clipboard operation
apiclarity copied to clipboard

Building Custom OpenTelemetry Collector fails

Open schultyy opened this issue 10 months ago • 0 comments

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:

schultyy avatar Aug 18 '23 17:08 schultyy