---
title: "Service Graph and Service Graph view | Grafana documentation"
description: "Use the Service Graph and Service Graph view"
---

> For a curated documentation index, see [llms.txt](/llms.txt). For the complete documentation index, see [llms-full.txt](/llms-full.txt).

# Service Graph and Service Graph view

The Service Graph is a visual representation of the relationships between services. Each node on the graph represents a service such as an API or database.

You use the Service Graph to detect performance issues; track increases in error, fault, or throttle rates in services; and investigate root causes by viewing corresponding traces.

[](/media/docs/grafana/data-sources/tempo/query-editor/tempo-ds-query-node-graph.png)

## Display the Service Graph

1. [Configure Grafana Alloy](/docs/tempo/latest/configuration/grafana-alloy/) or [Tempo or GET](/docs/tempo/latest/metrics-generator/service_graphs/#tempo) to generate Service Graph data.
2. Link a Prometheus data source in the Tempo data source’s [Service Graph](/docs/grafana/v12.4/datasources/tempo/configure-tempo-data-source/#configure-service-graph) settings.
3. Navigate to [Explore](/docs/grafana/v12.4/explore/).
4. Select the Tempo data source.
5. Select the **Service Graph** query type.
6. Run the query.
7. *(Optional)* Filter by service name.

For details, refer to [Node Graph panel](/docs/grafana/v12.4/panels-visualizations/visualizations/node-graph/).

Each circle in the graph represents a service. To open a context menu with additional links for quick navigation to other relevant information, click a service.

Numbers inside the circles indicate the average time per request and requests per second.

Each circle’s color represents the percentage of requests in each state:

Expand table

| Color      | State               |
|------------|---------------------|
| **Green**  | Success             |
| **Red**    | Fault               |
| **Yellow** | Errors              |
| **Purple** | Throttled responses |

## Open the Service Graph view

Service graph view displays a table of request rate, error rate, and duration metrics (RED) calculated from your incoming spans. It also includes a node graph view built from your spans.

[](/media/docs/grafana/data-sources/tempo/query-editor/tempo-ds-query-service-graph.png)

For details, refer to the [Service Graph view documentation](/docs/tempo/latest/metrics-generator/service-graph-view/).

To open the Service Graph view:

1. Link a Prometheus data source in the Tempo data source settings.
2. Navigate to [Explore](/docs/grafana/v12.4/explore/).
3. Select the Tempo data source.
4. Select the **Service Graph** query type.
5. Run the query.
6. *(Optional)* Filter your results.

> Note
> 
> Grafana uses the `traces_spanmetrics_calls_total` metric to display the name, rate, and error rate columns, and `traces_spanmetrics_latency_bucket` to display the duration column. These metrics must exist in your Prometheus data source.

To open a query in Prometheus with the span name of that row automatically set in the query, click a row in the **rate**, **error rate**, or **duration** columns.

To open a query in Tempo with the span name of that row automatically set in the query, click a row in the **links** column.

You can also use TraceQL to query the same data programmatically. Refer to [TraceQL query examples](/docs/grafana/v12.4/datasources/tempo/query-editor/traceql-query-examples/) to translate Service Graph observations into queries.

## Troubleshoot

If the Service Graph isn’t displaying data, the table is empty, or you see high cardinality warnings, refer to [Service graph issues](/docs/grafana/v12.4/datasources/tempo/troubleshooting/#service-graph-issues) in the troubleshooting guide.

## Next steps

- [Enable service graphs](/docs/tempo/latest/metrics-from-traces/service_graphs/enable-service-graphs/) - Set up metric generation in Tempo or Alloy.
- [Node graph panel](/docs/grafana/v12.4/panels-visualizations/visualizations/node-graph/) - Navigate and customize the graph layout.
