Skip to content

Service Graph

Service graph provides a real time visual overview of how your services communicate with each other. It reads distributed traces and identifies which services call downstream services, how many requests flow between them, and how healthy those interactions are.

Note

Service Graph is an Enterprise-only feature.

Key points:

  • It helps you understand system behaviour at a glance.
  • It highlights unusual behaviour so that you can quickly decide where to investigate next using Logs, Metrics, or Traces.
  • It is not intended for detailed debugging.
  • It helps you see the overall topology and identify the services that need closer attention.

Service graph focuses on recent activity. When services are inactive for a period of time, they are removed from the graph to prevent unbounded growth and to keep the view relevant.

Where to find this

  1. Sign in to OpenObserve.
  2. Select Traces in the left navigation panel, then choose Service Graph from the Spans | Traces | Service Graph | Service Catalog toggle in the search bar (Enterprise only).

The topology loads automatically when recent trace activity is available. If there is no trace activity, the section displays a message indicating that no service graph data is available.

What service graph displays

Service graph displays the services in your system and the communication observed between them.

Services

Services

Each service represents an application component discovered from distributed traces. The view displays:

  • The service name
  • A summary of recent requests
  • A colour that reflects the recent error behaviour
Colours

Colours

Colours indicate the health of each service.

  • Green shows healthy behaviour
  • Yellow and orange show increased errors
  • Red shows repeated failures

An always-visible legend on the graph canvas maps these colours to error-rate thresholds: Healthy (<1%), Degraded (1–5%), Warning (5–10%), and Critical (>10%). The legend labels these as Requests and Errors. In Graph view, node size reflects request volume.

Edges

Edges

Edges represent calls from one service to another. They indicate downstream communication and help you identify where issues may originate.

Topology behaviour

Topology behaviour

Service graph displays only recent activity. When a service produces no trace data for a set duration, it is removed from the topology. This design focuses attention on the active state of your system.

Data source

Service graph uses distributed traces as the single data source.
OpenObserve matches client spans and server spans belonging to the same request. This allows the system to identify service relationships, request patterns, and error behaviour.

Service graph does not use logs or metrics directly.

Main controls

Stream selector

Stream selector

Select a trace stream to build the topology from. You can choose a single stream or combine all streams.

Search services

Search services

Enter a service name to filter the view. The graph focuses on the selected service and the services connected to it.

Refresh controls

Refresh controls

Use manual refresh or enable automatic refresh. Auto refresh supports intervals between five seconds and three hundred seconds.

View mode

View mode

Choose between Tree view and Graph view. Both views show the same information using different layouts.

Layout options

Layout options

Tree view supports horizontal, vertical, and radial layouts.
Graph view supports force directed and circular layouts.

Tree view

Tree view arranges services in a structured hierarchy. It is useful when you want to follow traffic from entrypoint services to downstream dependencies.

Graph view

Graph view arranges services as a network. It uses a physics based simulation to maintain stable spacing between services. Force directed layouts group related services together. Circular layouts arrange services around a circle.

Interaction

You can drag services to reposition them. You can zoom and pan to explore specific areas. Hovering over a service displays a summary of request and error behaviour. Click a service node to open a node detail side panel. Filters and layouts can be combined to focus on specific sections of the topology.

Node detail panel

Clicking a service node opens a side panel with details for that service. When a single stream is selected, the panel shows the following tabs:

  • Operations, Nodes, and Pods tabs, where Nodes and Pods reflect the Kubernetes node and pod. Each tab is a table showing request count, errors, and the p50, p75, p95, and p99 latency percentiles. These tables can be sorted by column, and the latency percentile columns sort by numeric value.
  • Metrics tab, which uses selection pills (Essentials, Compute, Memory, Storage, Network, All) along with Pod / Node scope chips.

A View Traces action opens the Spans view pre-filtered by service, operation, node, pod, errors, and duration.

Filter the graph by service

  1. Enter a service name in the Search services field.
  2. Review the focused view of the selected service.

Change the view type

  1. Select Tree view or Graph view.
  2. Select a layout.

Investigate an issue

  1. In the Service graph, identify any services with warning or error colours.
  2. Follow the edges to determine which downstream services may be affected.
  3. Note the service name.
  4. Switch to Logs, Metrics, or Traces and filter by that service for further analysis.