-
Notifications
You must be signed in to change notification settings - Fork 66
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Frontend Traces Linking To Backend Traces #705
Comments
Hi there, I solved this via the recommended approach of integrating the middleware in my backend: https://grafana.com/docs/grafana-cloud/monitor-applications/frontend-observability/apm-integration/#nodejs-example Statement from the docs:
|
Hi, Thank you for your response. After investigating further, we identified the issue was related to trace propagation. In our setup, both the frontend and backend are auto-instrumented, but the frontend was using the To resolve this, we updated the configuration at the OpenTelemetry Collector level to convert and align the For reference added collector deployment file format with updated attributes.
Thank you for your help. |
## Description
We have enabled frontend observability for our Angular application using the Grafana Faro Web SDK and Faro Web Tracing CDN. The frontend traces are being sent to Grafana Tempo via Grafana Alloy, and they are visible in Tempo.
For our Java backend services, we are using the OpenTelemetry Operator with auto-instrumentation. Both the frontend and backend traces are being generated successfully but are appearing separately in Grafana Tempo.
According to the documentation, trace propagation should automatically link the frontend and backend traces, but this linkage is not happening in Grafana Tempo. We have confirmed that the traceparent header is present in the backend API request and matches the frontend trace. Despite this, no trace linkage is observed between the frontend and backend traces.
## Steps to reproduce
Versions:
Grafana Faro Web SDK : 1.10.2
Faro Web Tracing CDN : 1.10.2
OpenTelemetry Operator Helm Chart : v0.94.0
Java Auto-instrumentation Agent : 1.32.1
Frontend Setup:
We integrated the Grafana Faro Web SDK and Faro Web Tracing CDN into the index.html of our Angular application. The app initiates a GET API call to a backend service for data.
The Angular app sends traces correctly, and they are visible in Grafana Tempo. Below is the index.html setup used to initialize Faro:
Observations:
When a frontend API call is made, we can see the traceparent header in the request headers sent to the backend service, and it matches the frontend trace:
traceparent: 00-74jfk49nslkc0485b0859djsc5-3ldskskxcc-01
this trace id send request headers to backend is same as frontend generate trace. but backend service generating new traceid for this request.
the traces do not link in Grafana Tempo.
Backend Setup:
We are using OpenTelemetry Operator with the following configuration for auto-instrumenting our Java backend services:
yaml
## Expected behavior
We expect Grafana Tempo to show the complete trace flow, from the frontend request in the Angular application to the backend response in the Java service. The traces from the frontend and backend should be automatically linked using trace propagation.
The text was updated successfully, but these errors were encountered: