Documentation forSolarWinds Observability SaaS

Database metrics

The following Database Instances entities can be monitored with SolarWinds Observability SaaS: MySQL, MongoDB, PostgreSQL, SQL Server, and Redis.

Many of the collected metrics from Database Instance entities are displayed as widgets in SolarWinds Observability explorers; additional metrics may be collected and available in the Metrics Explorer. You can also create an alert for when an entity's metric value moves out of a specific range. See Entities in SolarWinds Observability SaaS for information about entity types in SolarWinds Observability SaaS.

When Database Instance entities are monitored, metrics from related entities may also be included in Database Instance viewers and dashboards.

The following table lists the critical metrics collected for these entities. To see the Database Instance metrics in the Metrics Explorer, type dbo. in the search box.

Metric Units Description
sw.metrics.healthscore Percent (%)

Health score. A health score provides real-time insight into the overall health and performance of your monitored entities. The health score is calculated based on anomalies detected for the entity, alerts triggered for the entity's metrics, and the status of the entity. The health score is displayed as a single numerical value that ranges from a Good (70-100) to Moderate (40-69) to Bad (0-39) distinction.

To view the health score for database instance entities in the Metrics Explorer, filter the sw.metrics.healthscore metric by entity_types and select databaseinstance.

dbo.host.queries.errors.tput EPS

Errors, Error Rate. The number of recorded errors for your database instances per second; the total number of errors returned per second across your monitored databases. Incorrect database responses may indicate request are failing, while throughput and response time appear healthy.

dbo.host.queries.latency_us milliseconds (ms)

Response Time. The amount of query latency in milliseconds per query execution across your monitored databases. May be displayed as:

  • Average Response Time. An average of the query latency per query execution for all monitored databases during the selected time period
dbo.host.queries.p99_latency_us milliseconds (ms)

Response Time 99th percentile. The amount of response time in the 99th percentile value for each of the top selected queries.

dbo.host.queries.time_us Count

Load. The load on your monitored databases, as a number of requests executing simultaneously. Concurrency reveals load (or demand) in a way that is orthogonal to variations in request speed or frequency.

dbo.host.queries.tput QPS

Throughput. The number of queries or statements completed per second. This is a metric of traffic intensity and frequency, showing how many requests your servers are processing.

Database host metrics

Metric Description
dbo.host.callers Metrics related to queries, grouped by connected client. IP address bytes are underscore separated as the dot is a reserved character in metric names. Comes from the protocol decoder. These metrics are only available with the On-Host configuration.
dbo.host.connections The number of connections throughput and connection time throughput. These metrics are only available with the On-Host configuration.
dbo.host.dbs Metrics by database, such as affected_rows, data_length, index_total, row_count, total_length, etc. This data is used by the Profiler to allow ranking of Databases.
dbo.host.queries Query data, grouped by q, p, e, or c (for query/prepare/execute/close) and query digest. Each metric is suffixed with .tput (except time_us and tput itself) as they are per-second derivatve values. This information comes from the protocol decoder, in addition to PERFORMANCE_SCHEMA and PG_STAT_STATEMENTS. This data is used by the Profiler to allow ranking of Queries.
dbo.host.queries.tagged.* Used by the profiler to allow ranking of Query Tags. Query tags are only available with the On-Host configuration.
dbo.host.samples Contains the count of failed_rules per query digest.
dbo.host.status Total bytes_sent and bytes_received.
dbo.host.tables Metrics by table: data_length, index_length, total_length, data_free, and row_count. Comes from INFORMATION_SCHEMA in MySQL and pg_statio_user_tables view in PostgreSQL.
dbo.host.totals Total metrics for all queries combined, for an entire host, regardless of database type.
dbo.host.totals.queries.* Includes totals for all query metrics, including affected_rows, errors, latency, rows_examined, etc.
dbo.host.totals.queries.latency.* Count of queries whose latency was in this latency band.
dbo.host.totals.queries.p99_latency_us Total P99 latency for the selected dbo.host. 99% of query executions were faster than this latency.
dbo.host.totals.queries.time_us The total execution time of all queries which finished in a given second.
dbo.host.totals.queries.tput The number of queries which finished executing in a given second.
dbo.host.users Metrics by user across databases and tables: affected_rows, errors.<code>, errors.no_good_index, no_index, slow, time_us, and tput. Each of these are suffixed with .tput (except time_us and tput itself) as they are per-second derivative values. Comes from the protocol decoder.
dbo.host.verbs Metrics by query verb (ALTER, SELECT, etc.), such as affected_rows, no_index, rows_examined, slow, etc. This data is used by the Profiler to allow ranking of Query Verbs.

MongoDB database metrics

Metric Description
dbo.mongo.connpool The number of open outgoing connections from the database instance.
dbo.mongo.status.asserts The number of assertions raised during the MongoDB process.
dbo.mongo.status.background_flushing The number of writes to disk during the MongoDB process.
dbo.mongo.status.connections The MongoDB connection(s) status.
dbo.mongo.status.dur The status of the MongoDB instance’s journaling-related operations and performance.
dbo.mongo.status.extra_info Additional information regarding the underlying system.
dbo.mongo.status.global_lock Reports on the database’s lock state.
dbo.mongo.status.locks For each lock <type>, data on lock <modes>.
dbo.mongo.status.mem MongoDB system architecture and current memory use.
dbo.mongo.status.metrics Various statistics that reflect the current use and state of a running mongod instance.
dbo.mongo.status.network MongoDB’s network usage.
dbo.mongo.status.opcounters Operations by type since the MongoDB instance last started.
dbo.mongo.status.opcounters_repl Database replication operations by type since the MongoDB instance last started.
dbo.mongo.status.wired_tiger Metrics about the Wired Tiger storage engine.

MySQL database metrics

Metric Description
dbo.mysql.innodb InnoDB engine information, from selected portions of the return from SHOW ENGINE INNODB STATUS. For more information on SHOW ENGINE, see the MySQL 13.7.5.15 SHOW ENGINE Statement documentation.
dbo.mysql.innodb.pending_reads The number of InnoDB buffer pool pages waiting to be read in to the buffer pool.
dbo.mysql.innodb.trx.state.active.count

The total count of InnoDB transactions in the activestate.

dbo.mysql.innodb.trx.state.active.time_us

The total time InnoDB transactions in the activestate.

dbo.mysql.innodb.trx.state.acitve.idle.count

The total count of InnoDB transactions in the idlestate.

dbo.mysql.innodb.trx.state.acitve.idle.time_us

The total time InnoDB transactions were in the idlestate.

dbo.mysql.innodb.trx.state.notstarted.count

The total count of InnoDB transactions in the notstartedstate.

dbo.mysql.innodb.trx.state.prepared.count

The total count of InnoDB transactions in the preparedstate.

dbo.mysql.innodb.trx.state.prepared.time_us

The total time InnoDB transactions were in the preparedstate.

dbo.mysql.processlist Process information from performance_schema.threads, INFORMATION_SCHEMA.processlist, or SHOW PROCESSLIST, in that order, depending on which process is available to query. See 13.7.5.29 SHOW PROCESSLIST Statement in the MySQL documentation for more information about each child under dbo.mysql.processlist, such as callers, command, and query.
dbo.mysql.processlist.callers.count The total count of processlist query threads grouped by client IP addresses.
dbo.mysql.processlist.callers.time_us The total time for processlist threads grouped by client IP addresses.
dbo.mysql.processlist.query.count Total count for all processlist query threads grouped by query.
dbo.mysql.processlist.query.time_us Total time for all processlist query threads grouped by query.
dbo.mysql.processlist.state.count Total count for all processlist query threads grouped by state.
dbo.mysql.processlist.state.time_us Total time for all processlist query thread grouped by state.
dbo.mysql.processlist.users.count Total count for all processlist query threads grouped by user.
dbo.mysql.processlist.users.time_us Total time for all processlist query threads grouped by user.
dbo.mysql.status Metrics built from MySQL’s server status variables, retrieved from SHOW GLOBAL STATUS. For more information about each variable, see 5.1.9 Server Status Variables in the MySQL documentation.
dbo.mysql.status.binlog_ Binlog statistics from SHOW STATUS.
dbo.mysql.status.com_ The number of times each statement type has been executed. There is one status variable for each type of statement. For example, com_delete and com_update count DELETE and UPDATE statements, respectively.
dbo.mysql.status.com_stmt_ These metrics are for prepared statement commands. Their names refer to the COM_xxx command set used in the network layer.
dbo.mysql.status.connection_errors_ These metrics provide information about errors that occur during the client connection process. They represent error counts aggregated across all connections. For more information on each error, see the MySQL documentation.
dbo.mysql.status.created_tmp_ Metrics about MySQL’s use of temporary files and tables. If created_tmp_disk_tables is large, you may want to increase the tmp_table_size or max_heap_table_size value to lessen the likelihood that internal temporary tables in memory will be converted to on-disk tables. You can compare the number of internal on-disk temporary tables created to the total number of internal temporary tables created by comparing the values of the created_tmp_disk_tables and created_tmp_tables variables.
dbo.mysql.status.handler_read_ Data about how MySQL is reading data from tables. Large numbers of handler_read_rnd and handler_read_rnd_next indicates your tables are poorly indexed or queries are not written to use the indexes you have.
dbo.mysql.status.innodb_adaptive_hash_ Activity against the adaptive hash index. A high number of searches and activity usually indicates the index is effective.
dbo.mysql.status.innodb_row_lock_ InnoDB row lock information, including average and total wait time, the number of row locks being waited for, and the number of total operations which waited for a lock.
dbo.mysql.status.performance_schema_lost These variables provide information about instrumentation that could not be loaded or created due to memory constraints.
dbo.mysql.status.select_* How MySQL performed SELECT statements. If select_full_join and select_range_check are not 0, you should carefully check the indexes of your tables. select_range is normally not a critical issue even if the value is large.
dbo.mysql.status.sort_* Indicates the number of times a query executed using each sort type. For example sort_merge_passes indicates the number of merge passes that the sort algorithm has had to do.
dbo.mysql.status.ssl_* Indicates the number of SSL-related events that have occurred. For example, ssl_accepts indicates the number of accepted SSL connections.
dbo.mysql.status.table_open_* Hits and misses of table cache lookups. Overflows is the number of times, after a table is opened or closed, a cache instance has an unused entry and the size of the instance is larger than table_open_cache / table_open_cache_instances.
dbo.mysql.tables Metrics about the non-temporary tables that are open in the table cache, provided by SHOW OPEN TABLES.

SQL Server database metrics

Metric Description
dbo.mssql.perf_counters.memory_broker_clerks.* Provides metrics for statistics related to memory broker clerks. For more information, see SQL Server, Memory Broker Clerks object in the Microsoft documentation.
dbo.mssql.perf_counters.memory_node.* Provides metrics to monitor server memory usage on NUMA nodes. For more information, see SQL Server, Memory Node object in the Microsoft documentation.
dbo.mssql.perf_counters.databases.* Provides metrics to monitor bulk copy operations, backup and restore throughput, and transaction log activities. For more information, see SQL Server, Databases object in the Microsoft documentation.
dbo.mssql.perf_counters.general_statistics.* Provides metrics to monitor general server-wide activity, such as the number of current connections and the number of users connecting and disconnecting per second from computers running an instance of SQL Server. For more information, see SQL Server, General Statistics object in the Microsoft documentation.
dbo.mssql.perf_counters.transactions.* Provides metrics to monitor the number of transactions active in an instance of the Database Engine, and the effects of those transactions on resources such as the snapshot isolation row version store in tempdb. For more information, see SQL Server, Transactions object.
dbo.mssql.perf_counters.wait_statistics.* Provides metrics that report information about broad categorizations of waits. For more information, see SQL Server, Wait Statistics object in the Microsoft documentation.
dbo.mssql.processlist.* Information regarding query-family specific execution information, which comes from dm_exec_requests, dm_exec_connections, and dm_exec_sessions.
dbo.mssql.waiting_tasks.* Aggregated metrics about all the waits encountered by threads that executed. For more information, see sys.dm_os_wait_stats (Transact-SQL) in the Microsoft documentation.
dbo.mssql.status.* Metrics covering a miscellaneous set of useful information about the computer, and about the resources available to and consumed by SQL Server. For more information, see sys.dm_os_sys_info (Transact-SQL) in the Microsoft documentation.

PostgreSQL metrics

Metric Description
dbo.pgsql.locks Metrics for each PostgreSQL locktype, grouped by held or awaited. This data comes from the pg_locks table. For more information, see 47.59.pg_locks in the PostgreSQL documentation.
dbo.pgsql.processlist.state count and time_us for each PostgreSQL state. This data comes from pg_stat_activity. For more information, see The Statistics Collector in the PostgreSQL documentation.
dbo.pgsql.processlist.users count and time_us by user. This data comes from pg_stat_activity.For more information, see The Statistics Collector in the PostgreSQL documentation.
dbo.pgsql.processlist.query count and time_us by query ID. This data comes from pg_stat_activity. For more information, see The Statistics Collector in the PostgreSQL documentation.
dbo.pgsql.status.blk_read_time_us Time spent reading data file blocks by backends, in microseconds.
dbo.pgsql.status.blk_write_time_us Time spent writing data file blocks by backends, in microseconds.
dbo.pgsql.status.blks_hit The number of times disk blocks were found already in the buffer cache, so that a read was not necessary (this only includes hits in the PostgreSQL buffer cache, not the operating system’s file system cache).
dbo.pgsql.status.blks_read The number of blocks read from disk.
dbo.pgsql.status.buffers_alloc The number of buffers allocated.
dbo.pgsql.status.buffers_backend The number of buffers written directly by a backend.
dbo.pgsql.status.buffers_backend_fsync The number of times a backend had to execute its own fsync call (normally the background writer handles those even when the backend does its own write).
dbo.pgsql.status.buffers_checkpoint The number of buffers written during checkpoints.
dbo.pgsql.status.buffers_clean The number of buffers written by the background writer.
dbo.pgsql.status.checkpoint_sync_time The total amount of time that has been spent in the portion of checkpoint processing where files are synchronized to disk, in milliseconds.
dbo.pgsql.status.checkpoint_write_time The total amount of time that has been spent in the portion of checkpoint processing where files are written to disk, in milliseconds.
dbo.pgsql.status.checkpoints_req The number of requested checkpoints that have been performed.
dbo.pgsql.status.checkpoints_timed The number of scheduled checkpoints that have been performed.
dbo.pgsql.status.conflicts The number of queries canceled due to conflicts with recovery in this database.
dbo.pgsql.status.numbackends The number of backends currently connected.
dbo.pgsql.status.replication_delay_us Replication delay, in microseconds.
dbo.pgsql.status.temp_bytes The total amount of data written to temporary files by queries. All temporary files are counted, regardless of why the temporary file was created, and regardless of the log_temp_files setting.
dbo.pgsql.status.temp_files The number of temporary files created by queries. All temporary files are counted, regardless of why the temporary file was created (e.g., sorting or hashing), and regardless of the log_temp_files setting.
dbo.pgsql.status.tup_deleted The number of rows deleted by queries.
dbo.pgsql.status.tup_fetched The number of rows fetched by queries.
dbo.pgsql.status.tup_inserted The number of rows inserted by queries.
dbo.pgsql.status.tup_returned The number of rows returned by queries.
dbo.pgsql.status.tup_updated The number of rows updated by queries.
dbo.pgsql.status.xact_commit The number of transactions that have been committed.
dbo.pgsql.status.xact_rollback The number of transactions that have been rolled back.
dbo.pgsql.totals count and time_us totals for state, users, and query.

Redis metrics

Metric Description
dbo.redis.status.aof_delayed_fsync Delayed fsync counter.
dbo.redis.status.aof_enabled Flag indicating AOF logging is activated.
dbo.redis.status.aof_pending_bio_fsync The number of fsync pending jobs in background I/O queue.
dbo.redis.status.aof_pending_rewrite Flag indicating an AOF rewrite operation will be scheduled once the on-going RDB save is complete.
dbo.redis.status.aof_rewrite_in_progress Flag indicating a AOF rewrite operation is on-going.
dbo.redis.status.aof_rewrite_scheduled Flag indicating an AOF rewrite operation will be scheduled once the on-going RDB save is complete.
dbo.redis.status.blocked_clients The number of clients pending on a blocking call (BLPOP, BRPOP, BRPOPLPUSH).
dbo.redis.status.client_biggest_input_buf The biggest input buffer among current client connections.
dbo.redis.status.client_longest_output_list The longest output list among current client connections.
dbo.redis.status.cluster_enabled Indicates Redis cluster is enabled.
dbo.redis.status.connected_clients The number of client connections (excluding connections from replicas).
dbo.redis.status.connected_slaves The number of connected replicas.
dbo.redis.status.evicted_keys The number of evicted keys due to maxmemory limit.
dbo.redis.status.expired_keys The total number of key expiration events.
dbo.redis.status.instantaneous_ops_per_sec The number of commands processed per second.
dbo.redis.status.keyspace_hits The number of successful lookup of keys in the main dictionary.
dbo.redis.status.keyspace_misses The number of failed lookup of keys in the main dictionary.
dbo.redis.status.latest_fork_usec The duration of the latest fork operation in microseconds.
dbo.redis.status.loading_start_time Epoch-based timestamp of the start of the load operation.
dbo.redis.status.loading Flag indicating if the load of a dump file is on-going.
dbo.redis.status.loading_loaded_perc Flag indicating if the load of a dump file is on-going (as a percentage).
dbo.redis.status.mem_fragmentation_ratio Ratio between used_memory_rss and used_memory.
dbo.redis.status.pubsub_channels Global number of pub/sub channels with client subscriptions.
dbo.redis.status.pubsub_patterns Global number of pub/sub pattern with client subscriptions.
dbo.redis.status.rdb_bgsave_in_progress Flag indicating a RDB save is on-going.
dbo.redis.status.rdb_changes_since_last_save The number of changes since the last dump.
dbo.redis.status.rejected_connections The number of connections rejected because of maxclients limit.
dbo.redis.status.repl_backlog_active Flag indicating replication backlog is active.
dbo.redis.status.total_commands_processed The total number of commands processed by the server.
dbo.redis.status.total_connections_received The total number of connections accepted by the server.
dbo.redis.status.uptime_in_seconds The number of seconds since the Redis server started.
dbo.redis.status.used_cpu_sys_children System CPU consumed by the background processes.
dbo.redis.status.used_cpu_sys System CPU consumed by the Redis server.
dbo.redis.status.used_cpu_user_children User CPU consumed by the background processes.
dbo.redis.status.used_cpu_user User CPU consumed by the Redis server.
dbo.redis.status.used_memory_lua Number of bytes used by the Lua engine.
dbo.redis.status.used_memory_peak Peak memory consumed by Redis (in bytes)/
dbo.redis.status.used_memory_rss The number of bytes that Redis allocated as seen by the operating system.
dbo.redis.status.used_memory The total number of bytes allocated by Redis using its allocator.

Related entities metrics

When a Database Instance is monitored, metrics from the related host entity are often collected at the same time. The following host metrics are often reported alongside Database Instance entities in SolarWinds Observability explorers. See Self-managed host metrics for information about these metrics.

  • system.cpu.utilization (CPU Utilization)
  • system.disk.io (Disk Throughput)
  • system.memory.usage (Memory Utilization)
  • system.network.io (Network Throughput)