From e343bb7e6be7055573e74bd0617eb2cfb776fa77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emanuel=20Sch=C3=BCtze?= Date: Wed, 8 Jun 2022 18:46:14 +0200 Subject: [PATCH] Updated services + Add OpenTelemetry (#6434) OpenTelemetry now available in dev mode. -> run `make run-dev-otel` As of now backend and datastore report spans. --- Makefile | 8 +++++++- docker/dc.otel.dev.yml | 13 +++++++++++++ docker/docker-compose.dev.yml | 1 + docker/otel-collector-config.yml | 21 +++++++++++++++++++++ docker/services.env | 6 +++++- openslides-autoupdate-service | 2 +- openslides-backend | 2 +- openslides-client | 2 +- openslides-datastore-service | 2 +- openslides-icc-service | 2 +- openslides-vote-service | 2 +- 11 files changed, 53 insertions(+), 8 deletions(-) create mode 100644 docker/dc.otel.dev.yml create mode 100644 docker/otel-collector-config.yml diff --git a/Makefile b/Makefile index 92acb70b6..25c7bd105 100644 --- a/Makefile +++ b/Makefile @@ -17,9 +17,15 @@ build-dev: run-dev: | build-dev docker-compose -f docker/docker-compose.dev.yml up $(ARGS) +run-dev-otel: | build-dev + docker-compose -f docker/docker-compose.dev.yml -f docker/dc.otel.dev.yml up $(ARGS) + stop-dev: docker-compose -f docker/docker-compose.dev.yml down --volumes --remove-orphans +stop-dev-otel: + docker-compose -f docker/docker-compose.dev.yml -f docker/dc.otel.dev.yml down --volumes --remove-orphans + copy-node-modules: docker-compose -f docker/docker-compose.dev.yml exec client bash -c "cp -r /app/node_modules/ /app/src/" mv openslides-client/client/src/node_modules/ openslides-client/client/ @@ -43,4 +49,4 @@ cypress-run: cypress-docker: docker-compose -f integration/docker-compose.yml build - docker-compose -f integration/docker-compose.yml up \ No newline at end of file + docker-compose -f integration/docker-compose.yml up diff --git a/docker/dc.otel.dev.yml b/docker/dc.otel.dev.yml new file mode 100644 index 000000000..a79d6f51f --- /dev/null +++ b/docker/dc.otel.dev.yml @@ -0,0 +1,13 @@ +version: "3" +services: + + collector: + image: otel/opentelemetry-collector:0.41.0 + command: ["--config=/etc/otel-collector-config.yml"] + volumes: + - ./otel-collector-config.yml:/etc/otel-collector-config.yml + + jaeger: + image: jaegertracing/all-in-one + ports: + - "16686:16686" diff --git a/docker/docker-compose.dev.yml b/docker/docker-compose.dev.yml index ebe2e59d4..7a1fbfc6d 100644 --- a/docker/docker-compose.dev.yml +++ b/docker/docker-compose.dev.yml @@ -179,6 +179,7 @@ services: - VOTE_DATABASE_NAME=openslides - AUTH=ticket - AUTH_HOST=auth + - VOTE_DISABLE_LOG=true volumes: - ../openslides-vote-service/cmd:/root/cmd - ../openslides-vote-service/internal:/root/internal diff --git a/docker/otel-collector-config.yml b/docker/otel-collector-config.yml new file mode 100644 index 000000000..f38a15496 --- /dev/null +++ b/docker/otel-collector-config.yml @@ -0,0 +1,21 @@ +receivers: + otlp: + protocols: + http: + grpc: + +exporters: + jaeger: + endpoint: jaeger:14250 + tls: + insecure: true + +processors: + batch: + +service: + pipelines: + traces: + receivers: [otlp] + processors: [batch] + exporters: [ jaeger] diff --git a/docker/services.env b/docker/services.env index 0e0eb66cd..9753b0e96 100644 --- a/docker/services.env +++ b/docker/services.env @@ -42,4 +42,8 @@ VOTE_REDIS_HOST=cache VOTE_DATABASE_HOST=postgres VOTE_DATABASE_USER=openslides VOTE_DATABASE_PASSWORD=openslides -VOTE_DATABASE_NAME=openslides \ No newline at end of file +VOTE_DATABASE_NAME=openslides + +OTEL_EXPORTER_JAEGER_ENDPOINT=http://jaeger:14268/api/traces +OTEL_EXPORTER_OTLP_ENDPOINT=collector:4318 +OPENTELEMETRY_ENABLED=0 diff --git a/openslides-autoupdate-service b/openslides-autoupdate-service index 9fb651504..de856b2d8 160000 --- a/openslides-autoupdate-service +++ b/openslides-autoupdate-service @@ -1 +1 @@ -Subproject commit 9fb65150444a37cb8c7947ec11ab724220b2a138 +Subproject commit de856b2d8c9917c7aa43ed56800f4e1db783090d diff --git a/openslides-backend b/openslides-backend index ce6dfdb0e..80735ba29 160000 --- a/openslides-backend +++ b/openslides-backend @@ -1 +1 @@ -Subproject commit ce6dfdb0eb12717b10c0a074ff10dae1a481a0b9 +Subproject commit 80735ba29c0a13aa88fc68634def8cad71cc209a diff --git a/openslides-client b/openslides-client index 4b7cb9f05..23991a05b 160000 --- a/openslides-client +++ b/openslides-client @@ -1 +1 @@ -Subproject commit 4b7cb9f057f3dc975a6b53e911d7542a2bdacb88 +Subproject commit 23991a05b7ab58bd596d27cb645466f354d97c20 diff --git a/openslides-datastore-service b/openslides-datastore-service index 4f3a04b68..2c4d872bf 160000 --- a/openslides-datastore-service +++ b/openslides-datastore-service @@ -1 +1 @@ -Subproject commit 4f3a04b6898243e40bca0d2817dfaaf0f80d3167 +Subproject commit 2c4d872bfabf6c9fcc13bb3dfc35abf3bf89a3fd diff --git a/openslides-icc-service b/openslides-icc-service index 077ff2140..6c1bf8bc5 160000 --- a/openslides-icc-service +++ b/openslides-icc-service @@ -1 +1 @@ -Subproject commit 077ff2140f9d5c29202875e4f1f6321a5eff5630 +Subproject commit 6c1bf8bc55469ec96d9d74fea69e0356a11eb9e3 diff --git a/openslides-vote-service b/openslides-vote-service index cfe20d6bb..cded5f9bf 160000 --- a/openslides-vote-service +++ b/openslides-vote-service @@ -1 +1 @@ -Subproject commit cfe20d6bb425645429d9cff78630bfd640a91007 +Subproject commit cded5f9bf05786bf85c111c5d5f5157399eb8163