Service map

Embed
Preview of the card
<a href="https://watchtowerops.net/docs/apm-service-map"><img src="https://watchtowerops.net/docs/_api/public/orgs/aa5959cb-1a0b-4a9a-bc9a-913e7ac31cd9/spaces/b7aac181-9916-4805-b253-becc5fd2ca62/pages/761f0b33-b6a7-45d9-b1c3-326b7785d76f/social-card.svg?v=3e7ae33eec8b" alt="Service map" width="600" height="315"></a>

GET /v1/projects/{prj}/apm/map returns the dependency edges spans prove in the range (data) and the dependencies expected there but not seen (expected).

Seen edges

An edge exists only where a span proves it: a CLIENT/PRODUCER span with db.system, messaging.system, peer.service or server.address, or a cross-service parent and child. Datastores show as db (cache when db.system is a key-value cache such as Redis), queues as messaging, other peers as external. Loopback and private-network peers fold into the calling service.

Expected but unseen

expected lists, each once, with its reason:

  • historical: an edge seen in the 7 days before the range but not in it;

  • catalog: a catalog relation (depends_on, consumes, reads, writes, publishes, subscribes) from a service to a service, datastore or queue, not seen in the range;

  • agent: a database, cache or queue a host agent integration reports (wt.integration.up in the last 24 hours) that no span reaches. src is the service a status-page integration is tagged with, or empty.

The console draws them as dashed grey nodes and edges and lists them under the dependency table. A dashed datastore is usually missing client instrumentation; see docs/product/instrumentation-coverage.md.

Updated