Open
Description
Summary
We want to perform random sample tracing of the Boost RPC api to be able to understand the performance of RPC calls and report those to a local Grafana instance (consider using Tempo for this, for future integrations mention below). Emphasis will be on retrieval for our immediate goals, but assuming sampling of the whole api is an easier top level integration, adding tracing across all calls would also be useful.
Requirements
- Add support to the RPC API for enabling tracing, with a configurable sampling rate (ie: 0.1).
- This should be disabled by default. We'll likely want to pass a flag to the daemon to enable/set this.
- Report traces to a local instance of Grafana
- [Nice to have] spin this up as a container addition to docker support
Future work
- Support parent trace context sharing across Boost services, such as booster bitswap passing its trace ID to the RPC API, so that we can trace e2e calls.
- Report traces to a hosted service, such as a Tempo grafana instance.
References
- Required by Add opt in metrics #365
- There is work being done that's nearing completion to add docker support to Boost for testing, adding an instance of Grafana to this for testing could be useful for development on this issue.
Metadata
Metadata
Assignees
Type
Projects
Status
Todo