Skip to content
Last9
Book demo

Discover Databases

Database-centric view of every datastore your services query — throughput, errors, and latency per database, derived from the trace spans your applications already emit

The Databases feature in Discover gives you a database-centric view of every datastore your services talk to. Instead of starting from a service and drilling into its database calls, start from the database itself: see which datastores carry the most load, which are erroring, and which services drive that traffic.

Discover Databases list view

Discover Databases is built entirely from the database client spans your instrumented services already emit — the db.system and net.peer.name attributes on spans identify each datastore. There is nothing to install on the database server.

Prerequisites

Your services need OpenTelemetry instrumentation that records database client spans. Most language auto-instrumentations do this out of the box for common drivers. See the database integrations for instrumentation guides per database and language.

If a service’s database calls appear in its Traces, the databases it queries will appear here.

Understanding the Databases View

Open Discover → Databases to see the datastores detected from your trace data. Last9 automatically detects databases across technologies — MySQL, PostgreSQL, MongoDB, Redis, Aerospike, and any other system that database client spans report via db.system.

Each row in the list shows:

ColumnDescription
Database TypeThe datastore technology, from the db.system attribute
HostThe database host, from net.peer.name
ThroughputQuery rate per minute
Latency (P95)95th-percentile query response time
Error RatePercentage of failed database calls
ServicesNumber of services querying this datastore

Sort by any column, or use the left-side filters to narrow by database type or host.

Database Detail View

Click a database to open its detail view, organized into Overview, Queries, Services, Infrastructure, Logs, and Traces tabs.

Database detail Overview tab

The Overview tab reports:

  • Query Performance Index: A single health score for the datastore, with summary cards for throughput, average response time, and error rate
  • Performance charts: Query response time (AVG, P50, P90, P95, P99) and throughput over the selected range
  • Query Type Distribution: Per-operation breakdown with throughput, average and P95 latency, and error rate
  • Top 10 Slowest Queries and Top 10 Most Frequent: Each query links to its correlated traces, pre-filtered by span name, db.system, and net.peer.name
  • Top 10 Services by Load: Which services drive the query volume — each links to that service’s Database tab
  • Recent Slow Query Samples: Actual query text from traces, with execution time

From Database to Service and Back

Discover Databases and the per-service Database tab are two views of the same data:

  • Start from a service when the symptom is service latency and you suspect a query.
  • Start from a database when the symptom is datastore-wide — connection saturation, a slow replica, a hot table — and you need to know every service contributing load.

Best Practices

  • Watch P95 per operation, not per database. A healthy average hides one slow UPDATE path. The per-operation breakdown isolates it.
  • Use the trace pivot for slow queries. A slow query’s correlated traces show the full request context — which endpoint triggered the query and what else the request did.
  • Check fan-in before scaling up. If one database shows load from many services, the Top Services by Load table tells you whether one consumer is responsible before you reach for a bigger instance.

Troubleshooting

  • A database is missing from the list: confirm the querying service emits database client spans — open the service’s Traces and look for spans with a db.system attribute. If the service itself is missing, see Discover Services prerequisites.

Please get in touch with us on Discord or Email if you have any questions.