Full visibility into federated graphs with Tracing

Julius de BruijnJulius de BruijnBenjamin RabierBenjamin RabierJonathan BrennanJonathan BrennanJakob NorlinJakob NorlinMohammed Taher GhazalMohammed Taher Ghazal
Full visibility into federated graphs with Tracing

At Grafbase, our mission is to continually enhance developers’ experience by increasing productivity and efficiency. Today, we are excited to roll out Tracing, our latest feature that is designed to provide detailed, end-to-end visibility into your GraphQL requests.

Tracing is a diagnostic tool used to track a request’s journey across distributed systems. It provides in-depth insights into each request’s path, revealing how it interacts with your services, databases, and third-party integrations. With Grafbase Tracing, you can now track not only external services but also internal workings of the Grafbase Gateway, delivering unparalleled transparency into your API’s performance.

With Traces you can:

  • Identify performance bottlenecks by tracking latency across services.
  • Monitor error propagation across microservices.
  • Optimize service reliability by analyzing detailed trace queries, mutations, and subscriptions.

Getting started is easy.

  1. Add your access token to the Grafbase Gateway configuration.
  2. Start sending requests to your API. Traces will automatically be generated and made available in the Grafbase dashboard.

If you are using a third-party OpenTelemetry service, additional tracing configuratoins are required in your Grafbase configurations file. Check out the documentation here for more detailed instructions.

The Traces page in the Grafbase dashboard provides a real-time view of all recent request traces

A screenshot of the Traces page

The table is automatically updated with new data points from the last 15 minutes, but you can easily adjust the time range for historical queries.

A screenshot of the spans modal of a trace

Each trace entry includes key performance metrics and logs.

Key features of the dashboard include:

  • Real-time data: continuously updated lists of traces.
  • Detailed view: click on a trace to explore every step in its lifecycle, including duration and operation details.

In high-traffic APIs, the dashboard can display a large volume of traces.

To simplify debugging, you can filter traces based on several attributes:

  • Trace ID search for a specific trace using its unique identification number.
  • Operation Name locate traces for a particular operation(e.g. getFeed).
  • Operation Type filter traces by operation type - Query, Mutation, or Subscription.
  • Http Status Code find traces based on their HTTP status code.
  • Duration identify traces that took a specific amount of time to process.
  • Client Name/Version filter traces by client name or version for more focused debugging or monitoring.

For a complete list of filtering options and how to configure them, refer to our documentation here.

Your input helps us to improve,refine, and evolve Grafbase. Join the conversation on Discord, where you can share your ideas and feedback directly with the Grafbase team and get involved with our Community.