From c48e16ef0ee32c58c298dc74f6eafbda3da3c8ac Mon Sep 17 00:00:00 2001 From: Tristan Sloughter Date: Sun, 19 Nov 2023 02:34:52 -0700 Subject: [PATCH 1/3] update exporter proto instructions --- apps/opentelemetry_exporter/README.md | 30 +++++++++++++++------------ 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/apps/opentelemetry_exporter/README.md b/apps/opentelemetry_exporter/README.md index ea831b5b..d75320e6 100644 --- a/apps/opentelemetry_exporter/README.md +++ b/apps/opentelemetry_exporter/README.md @@ -156,24 +156,28 @@ The second element of the configuration tuple is a configuration map. It can con - `compression` - an atom. Setting it to `gzip` enables gzip compression. - `ssl_options` - a list of SSL options. See Erlang's [SSL docs](https://www.erlang.org/doc/man/ssl.html#TLS/DTLS%20OPTION%20DESCRIPTIONS%20-%20CLIENT) for what options are available. -## Contributing +### Upgrading OpenTelemetry Protos -This project uses a submodule during development, it is not needed if the application is being used as a dependency, so be sure to clone with the option `recurse-submodules`: +The protos are in a separate repository, +[opentelemetry-proto](https://github.com/open-telemetry/opentelemetry-proto/), +and used as a submodule in this repo. To update the Erlang protobuf modules and +GRPC client first update the submodule and then use the [rebar3 grpcbox +plugin](https://github.com/tsloughter/grpcbox_plugin/) to generate the client: ```shell -$ git clone --recurse-submodules https://github.com/opentelemetry-beam/opentelemetry_exporter -``` +$ pushd apps/opentelemetry_exporter/opentelemetry-proto +$ git fetch origin +$ git checkout +$ popd -### Upgrading OpenTelemetry Protos +# bug in grpcbox plugin means we need to delete _pb files first to regenerate them +$ rm./apps/opentelemetry_exporter/src/opentelemetry_exporter_trace_service_pb.erl ./apps/opentelemetry_exporter/src/opentelemetry_exporter_metrics_service_pb.erl ./apps/opentelemetry_exporter/src/opentelemetry_exporter_logs_service_pb.erl -The protos are in a separate repository, [opentelemetry-proto](https://github.com/open-telemetry/opentelemetry-proto/), and used as a submodule in this repo. To update the Erlang protobuf modules and GRPC client first update the submodule and then use the [rebar3 grpcbox plugin](https://github.com/tsloughter/grpcbox_plugin/) to generate the client: - -```shell -$ git submodule update --remote opentelemetry-proto $ rebar3 grpc gen -t client -===> Writing src/trace_service_pb.erl -===> Writing src/opentelemetry_proto_collector_trace_v_1_trace_service_client.erl (forcibly overwriting) -$ mv src/opentelemetry_proto_collector_trace_v_1_trace_service_client.erl src/opentelemetry_trace_service.erl +... +$ mv apps/opentelemetry_exporter/src/opentelemetry_proto_collector_trace_v_1_trace_service_client.erl apps/opentelemetry_exporter/src/opentelemetry_trace_service.erl +$ mv apps/opentelemetry_exporter/src/opentelemetry_proto_collector_logs_v_1_logs_service_client.erl apps/opentelemetry_exporter/src/opentelemetry_logs_service.erl +$ mv apps/opentelemetry_exporter/src/opentelemetry_proto_collector_metrics_v_1_metrics_service_client.erl apps/opentelemetry_exporter/src/opentelemetry_metrics_service.erl ``` -Then open `src/opentelemetry_trace_service.erl` and fix the module name. +Then open each moved module and fix the module name. From ca1191ce6939817f013e6aae25930359805a5210 Mon Sep 17 00:00:00 2001 From: Tristan Sloughter Date: Sun, 19 Nov 2023 02:40:46 -0700 Subject: [PATCH 2/3] update collector to 0.89 and fix jaeger collector config for it --- config/otel-collector-config.yaml | 6 +++--- docker-compose.yml | 5 +---- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/config/otel-collector-config.yaml b/config/otel-collector-config.yaml index f82a594a..26729c04 100644 --- a/config/otel-collector-config.yaml +++ b/config/otel-collector-config.yaml @@ -14,8 +14,8 @@ exporters: zipkin: endpoint: "http://zipkin:9411/api/v2/spans" - jaeger: - endpoint: jaeger-all-in-one:14250 + otlp/jaeger: + endpoint: jaeger-all-in-one:4317 tls: insecure: true @@ -31,7 +31,7 @@ service: traces: receivers: [otlp] processors: [batch] - exporters: [logging, zipkin, jaeger] + exporters: [logging, zipkin, otlp/jaeger] metrics: receivers: [otlp] processors: [batch] diff --git a/docker-compose.yml b/docker-compose.yml index 28cfa01b..beb6bb8a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,7 +1,7 @@ version: "3" services: otel: - image: otel/opentelemetry-collector-contrib:0.79.0 + image: otel/opentelemetry-collector-contrib:0.89.0 command: ["--config=/conf/otel-collector-config.yaml"] privileged: true ports: @@ -20,8 +20,5 @@ services: jaeger-all-in-one: image: jaegertracing/all-in-one:latest - restart: always ports: - "16686:16686" - - "14268" - - "14250" From 45e42210fb2ef0e4039c9a73c08c166a922f31b1 Mon Sep 17 00:00:00 2001 From: Tristan Sloughter Date: Sun, 19 Nov 2023 02:42:09 -0700 Subject: [PATCH 3/3] bump proto to 1.0.0 (no generated code changes) --- apps/opentelemetry_exporter/opentelemetry-proto | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/opentelemetry_exporter/opentelemetry-proto b/apps/opentelemetry_exporter/opentelemetry-proto index 1608f92c..c4dfbc51 160000 --- a/apps/opentelemetry_exporter/opentelemetry-proto +++ b/apps/opentelemetry_exporter/opentelemetry-proto @@ -1 +1 @@ -Subproject commit 1608f92cf08119f9aec237c910b200d1317ec696 +Subproject commit c4dfbc51f3cd4089778555a2ac5d9bc093ed2956