Skip to content

Add random sample tracing to the Boost RPC api #721

Open
@jacobheun

Description

@jacobheun

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

No one assigned

    Type

    No type

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions