OpenTelemetry SDK for Goのデフォルトエンドポイントはhttpsプロトコル
OpenTelemetry Protocol ExporterのConfiguration Optionsには
Endpoint (OTLP/HTTP): Default:
http://localhost:4318Endpoint (OTLP/gRPC): Default:http://localhost:4317
と書いてあるが、Go SDKのデフォルトは例えばTracing/gRPCの場合、https://localhost:4317 のようにHTTPSが使われることになっている。
/*OTEL_EXPORTER_OTLP_ENDPOINT, OTEL_EXPORTER_OTLP_TRACES_ENDPOINT (default: "https://localhost:4317")*/ローカルホストで待ち受ける場合、一般的には http を期待すると思われるので、Go SDKでは以下のように明示的なオプションを渡すか、環境変数を設定して上書きが必要となる。
// export OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317 としても同じexp, err := otlpmetricgrpc.New(ctx, otlpmetricgrpc.WithInsecure(), otlpmetricgrpc.WithEndpoint("localhost:4317"),)デフォルトが https であることはThe default endpoint should use HTTP, not HTTPSというディスカッションのスレッドで話題に挙がっているけれど、対応しないと閉じられてしまった。