Description
Tracing allows to visualize the lifecycle of a request as it passes through our application.
This can be helpful for debugging as well as performance optimization and is thus especially helpful for measurement uploads as our critical path.
Use case
- As a developer, I need traces, in order to understand system performance and to find and eliminate bottlenecks
Implementation ideas (optional)
Add grafana tempo to our stack in order to map out the entire journey of an incoming measurement. A single Trace ID generated at the API gateway could track how long the query spends in the application code versus e.g. the time it takes to write to the database.
Additional information (optional)
Since we already have a bit of code in the application for our k6 load tests, we should get rid of that and replace with the metrics we can get via Grafana Tempo.
Current implementation to look at (and get rid off) is in measurement-timing.server.ts
Description
Tracing allows to visualize the lifecycle of a request as it passes through our application.
This can be helpful for debugging as well as performance optimization and is thus especially helpful for measurement uploads as our critical path.
Use case
Implementation ideas (optional)
Add grafana tempo to our stack in order to map out the entire journey of an incoming measurement. A single Trace ID generated at the API gateway could track how long the query spends in the application code versus e.g. the time it takes to write to the database.
Additional information (optional)
Since we already have a bit of code in the application for our k6 load tests, we should get rid of that and replace with the metrics we can get via Grafana Tempo.
Current implementation to look at (and get rid off) is in
measurement-timing.server.ts