Skip to content

Know which query is slowing your database

Watch the health of PostgreSQL, MySQL, SQL Server, Redis, MongoDB and Elasticsearch through the collector. For PostgreSQL, MySQL and SQL Server, see the top queries, live samples with wait events, explain plans and database load, and which traced services call each database.

  • PostgreSQL · MySQL · SQL Server
  • Redis · MongoDB · Elasticsearch
  • Explain plans

How it works

From a monitoring user to the query that matters

The collector reads what the database already records about itself, so there is nothing to install on the database server.

  1. 01ConnectPick an engine, enter its endpoint and a monitoring user, and choose the collector policy that can reach it.
  2. 02CollectHealth metrics arrive every 30 seconds, with top queries, live samples and plans where the engine supports them.
  3. 03Find the loadDatabase load shows active sessions by wait group: CPU, IO, lock, commit and other.
  4. 04Drill inOpen a normalized query to see its latency, executions, waits, explain plan and recent samples.
  5. 05TuneRecommendations flag expensive scans, missing or unused indexes, regressions and lock contention.
  6. 06Trace it backUsage from traces shows which services call each database, from the spans they already send.

Queries and plans

Every normalized query, with its waits and its plan

Top queries are grouped by their normalized text, so a query that runs a million times with different values is one row. Open one to see where its time goes and the plan the database chose.

  • Live samples show each running query with its state, wait event and the user that ran it
  • Explain plans flag sequential scans and expensive nodes
  • Lock waits show which queries were blocked, and on what

Connect

One form per database, no agent on the server

Connecting a database adds it to a collector policy. The collector signs in as the monitoring user you create, and the queries it runs for monitoring stay out of your query views.

  • PostgreSQL

    Top queries and plans need pg_stat_statements and the pg_monitor role; samples work without them.

  • MySQL

    Query digests, samples and waits come from Performance Schema.

  • SQL Server

    Live sessions and waits, and top queries from Query Store and the execution statistics.

  • Redis, MongoDB, Elasticsearch

    Health metrics for memory, connections, replication, operations and more.

Usage from traces

See which services call each database

Instrumented services already send a span for every database call. Tracix reads them with the OpenTelemetry database conventions, for any engine, and shows throughput, errors and latency by database, operation and calling service.

  • Works for databases you have not connected, as long as your services are traced
  • Each database instance lists the services that call it, with their statements
  • Ready-made monitors you can turn on cover deadlocks, replica lag, connections and cache hit rate

Supported engines

What Tracix reads from each database

Health metrics come from the OpenTelemetry receiver for each engine. Query-level monitoring covers the three relational engines.

EngineHealth metricsTop queries and plansSamples and wait eventsReplication lagSchema objects
PostgreSQLYesYesYesYesTables, indexes, functions
MySQLYesYesYesNoTables
SQL ServerYesYesYesNoNo
RedisYesNoNoNoNo
MongoDBYesNoNoNoNo
ElasticsearchYesNoNoNoNo

Health metrics are collected every 30 seconds by default. Usage from traces works for any database your instrumented services call, whether or not it is connected.

FAQ

Questions database teams ask first

Which databases does Tracix support?
Health metrics for PostgreSQL, MySQL, SQL Server, Redis, MongoDB and Elasticsearch. Query-level monitoring, with top queries, samples, wait events and explain plans, covers PostgreSQL, MySQL and SQL Server.
Do I install anything on the database server?
No. A collector that can reach the database connects over the network as a monitoring user, with TLS and client certificates if you turn them on. The queries it runs for monitoring are left out of your query views.
What does PostgreSQL need for query monitoring?
The pg_stat_statements extension and the pg_monitor role for top queries and explain plans. Live query samples and wait events work without them.
Are the recommendations written by AI?
No. They come from rules over your query telemetry, such as expensive scans, missing or unused indexes, regressions, lock contention and long-running queries. When an AI model is configured, Brain adds a short written summary.

Connect your first database in minutes

Create a monitoring user, pick the collector policy that can reach the database, and the databases page fills in as the first collection runs.