From 2570ffcd1cfdc48b651e4e81a2759087b8059df5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Renzo=20Tom=C3=A0=20=40=20DPG?= <151731240+rtomadpg@users.noreply.github.com> Date: Thu, 8 May 2025 11:40:13 +0200 Subject: [PATCH 1/2] docs: add note about Tempo appProtocol in proxy-trace.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Renzo Tomà @ DPG <151731240+rtomadpg@users.noreply.github.com> --- .../en/latest/tasks/observability/proxy-trace.md | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/site/content/en/latest/tasks/observability/proxy-trace.md b/site/content/en/latest/tasks/observability/proxy-trace.md index e4b43d4434..c57f710682 100644 --- a/site/content/en/latest/tasks/observability/proxy-trace.md +++ b/site/content/en/latest/tasks/observability/proxy-trace.md @@ -347,5 +347,19 @@ spec: EOF ``` +### Tempo app protocol -[envoy-proxy-crd]: ../../api/extension_types#envoyproxy \ No newline at end of file +Sending traces to Tempo requires the receiving Service to have the `appProtocol` set to `grpc`. Envoy requires this to understand if GRPC or HTTP should used. + +Using the "tempo-distributed" Helm chart you can set the following Helm values: + +```yaml +distributor: + appProtocol: + grpc: grpc +``` + +Without this configuration of Tempo, configuring Envoy with `spec.telemetry.tracing.provider.backendRefs` will result in Envoy talking HTTP to Tempo's GRPC endpoint. + + +[envoy-proxy-crd]: ../../api/extension_types#envoyproxy From 192703792a972305e11a63946e8e3c021bee1d3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Renzo=20Tom=C3=A0=20=40=20DPG?= <151731240+rtomadpg@users.noreply.github.com> Date: Thu, 8 May 2025 12:54:53 +0200 Subject: [PATCH 2/2] Update proxy-trace.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Renzo Tomà @ DPG <151731240+rtomadpg@users.noreply.github.com> --- .../en/latest/tasks/observability/proxy-trace.md | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/site/content/en/latest/tasks/observability/proxy-trace.md b/site/content/en/latest/tasks/observability/proxy-trace.md index c57f710682..807f7f2eaa 100644 --- a/site/content/en/latest/tasks/observability/proxy-trace.md +++ b/site/content/en/latest/tasks/observability/proxy-trace.md @@ -347,11 +347,12 @@ spec: EOF ``` -### Tempo app protocol +### Tempo and appProtocol -Sending traces to Tempo requires the receiving Service to have the `appProtocol` set to `grpc`. Envoy requires this to understand if GRPC or HTTP should used. +When using Grafana Tempo it is important to note that the [tempo-distributed Helm chart](https://github.com/grafana/helm-charts/tree/main/charts/tempo-distributed) +will omit a `appProtocol` in the `tempo-distributor` Service. Without this protocol hint, Envoy will send traces to Tempo using the wrong protocol: HTTP, instead of GRPC. -Using the "tempo-distributed" Helm chart you can set the following Helm values: +You can add the protocol hint to the `tempo-distributor` Service, by supplying these values to the "tempo-distributed" Helm chart: ```yaml distributor: @@ -359,7 +360,4 @@ distributor: grpc: grpc ``` -Without this configuration of Tempo, configuring Envoy with `spec.telemetry.tracing.provider.backendRefs` will result in Envoy talking HTTP to Tempo's GRPC endpoint. - - [envoy-proxy-crd]: ../../api/extension_types#envoyproxy