Overview

OpenTelemetry MySQL metrics in a MySQL dashboard

The MySQL receiver allows for collection of MySQL metrics and access to the out of the box MySQL Dashboard, MySQL Overview. Please configure the receiver according to the specifications of the latest version of the mysqlreceiver.

For more information, see the OpenTelemetry project documentation for the MySQL receiver.

Setup

To collect MySQL metrics with OpenTelemetry for use with Datadog:

  1. Configure the MySQL receiver in your OpenTelemetry Collector configuration.
  2. Ensure the OpenTelemetry Collector is configured to export to Datadog.

Refer to the MySQL receiver documentation for detailed configuration options and requirements.

Data collected

OTELDATADOGDESCRIPTIONFILTER
mysql.buffer_pool.data_pagesmysql.innodb.buffer_pool_pages_dataThe number of data pages in the InnoDB buffer pool.
mysql.buffer_pool.data_pagesmysql.innodb.buffer_pool_pages_dirtyThe number of data pages in the InnoDB buffer pool.status: dirty
mysql.buffer_pool.operationsmysql.innodb.buffer_pool_read_ahead_rndThe number of operations on the InnoDB buffer pool.operation: read_ahead_rnd
mysql.buffer_pool.operationsmysql.innodb.buffer_pool_write_requestsThe number of operations on the InnoDB buffer pool.operation: write_requests
mysql.buffer_pool.operationsmysql.innodb.buffer_pool_read_aheadThe number of operations on the InnoDB buffer pool.operation: read_ahead
mysql.buffer_pool.operationsmysql.innodb.buffer_pool_read_ahead_evictedThe number of operations on the InnoDB buffer pool.operation: read_ahead_evicted
mysql.buffer_pool.operationsmysql.innodb.buffer_pool_wait_freeThe number of operations on the InnoDB buffer pool.operation: wait_free
mysql.buffer_pool.operationsmysql.innodb.buffer_pool_read_requestsThe number of operations on the InnoDB buffer pool.operation: read_requests
mysql.buffer_pool.operationsmysql.innodb.buffer_pool_readsThe number of operations on the InnoDB buffer pool.operation: reads
mysql.buffer_pool.page_flushesmysql.innodb.buffer_pool_pages_flushedThe number of requests to flush pages from the InnoDB buffer pool.
mysql.buffer_pool.pagesmysql.innodb.buffer_pool_pages_freeThe number of pages in the InnoDB buffer pool.kind: free
mysql.buffer_pool.pagesmysql.innodb.buffer_pool_pages_totalThe number of pages in the InnoDB buffer pool.
mysql.buffer_pool.usagemysql.innodb.buffer_pool_dataThe number of bytes in the InnoDB buffer pool.
mysql.buffer_pool.usagemysql.innodb.buffer_pool_dirtyThe number of bytes in the InnoDB buffer pool.status: dirty
mysql.client.network.iomysql.performance.bytes_sentThe number of transmitted bytes between server and clients.kind: sent
mysql.client.network.iomysql.performance.bytes_receivedThe number of transmitted bytes between server and clients.kind: received
mysql.commandsmysql.performance.com_updateThe number of times each type of command has been executed.kind: update
mysql.commandsmysql.performance.com_insertThe number of times each type of command has been executed.kind: insert
mysql.commandsmysql.performance.com_deleteThe number of times each type of command has been executed.kind: delete
mysql.commandsmysql.performance.com_selectThe number of times each type of command has been executed.kind: select
mysql.double_writesmysql.innodb.dblwr_writesThe number of writes to the InnoDB doublewrite buffer.kind: writes
mysql.double_writesmysql.innodb.dblwr_pages_writtenThe number of writes to the InnoDB doublewrite buffer.kind: pages_written
mysql.handlersmysql.performance.handler_deleteThe number of requests to various MySQL handlers.kind: delete
mysql.handlersmysql.performance.handler_commitThe number of requests to various MySQL handlers.kind: commit
mysql.handlersmysql.performance.handler_read_keyThe number of requests to various MySQL handlers.kind: read_key
mysql.handlersmysql.performance.handler_read_prevThe number of requests to various MySQL handlers.kind: read_prev
mysql.handlersmysql.performance.handler_read_rndThe number of requests to various MySQL handlers.kind: read_rnd
mysql.handlersmysql.performance.handler_read_rnd_nextThe number of requests to various MySQL handlers.kind: read_rnd_next
mysql.handlersmysql.performance.handler_rollbackThe number of requests to various MySQL handlers.kind: rollback
mysql.handlersmysql.performance.handler_prepareThe number of requests to various MySQL handlers.kind: prepare
mysql.handlersmysql.performance.handler_read_nextThe number of requests to various MySQL handlers.kind: read_next
mysql.handlersmysql.performance.handler_writeThe number of requests to various MySQL handlers.kind: write
mysql.handlersmysql.performance.handler_updateThe number of requests to various MySQL handlers.kind: update
mysql.handlersmysql.performance.handler_read_firstThe number of requests to various MySQL handlers.kind: read_first
mysql.joinsmysql.performance.select_full_joinThe number of joins that perform table scans.kind: full
mysql.joinsmysql.performance.select_full_range_joinThe number of joins that perform table scans.kind: full_range
mysql.joinsmysql.performance.select_rangeThe number of joins that perform table scans.kind: range
mysql.joinsmysql.performance.select_range_checkThe number of joins that perform table scans.kind: range_check
mysql.joinsmysql.performance.select_scanThe number of joins that perform table scans.kind: scan
mysql.locksmysql.performance.table_locks_immediateThe number of MySQL locks.kind: immediate
mysql.locksmysql.performance.table_locks_waitedThe number of MySQL locks.kind: waited
mysql.log_operationsmysql.innodb.log_write_requestsThe number of InnoDB log operations.operation: write_requests
mysql.log_operationsmysql.innodb.log_writesThe number of InnoDB log operations.operation: writes
mysql.log_operationsmysql.innodb.log_waitsThe number of InnoDB log operations.operation: waits
mysql.operationsmysql.innodb.data_fsyncsThe number of InnoDB operations.operation: fsyncs
mysql.page_operationsmysql.innodb.pages_createdThe number of InnoDB page operations.operation: created
mysql.page_operationsmysql.innodb.pages_readThe number of InnoDB page operations.operation: read
mysql.page_operationsmysql.innodb.pages_writtenThe number of InnoDB page operations.operation: written
mysql.replica.time_behind_sourcemysql.replication.seconds_behind_sourceThis field is an indication of how “late” the replica is.
mysql.row_locksmysql.innodb.current_row_locksThe number of InnoDB row locks.
mysql.row_locksmysql.innodb.row_lock_current_waitsThe number of InnoDB row locks.kind: waits
mysql.row_operationsmysql.innodb.rows_updatedThe number of InnoDB row operations.operation: updated
mysql.row_operationsmysql.innodb.rows_readThe number of InnoDB row operations.operation: read
mysql.row_operationsmysql.innodb.rows_insertedThe number of InnoDB row operations.operation: inserted
mysql.row_operationsmysql.innodb.rows_deletedThe number of InnoDB row operations.operation: deleted
mysql.sortsmysql.performance.sort_scanThe number of MySQL sorts.kind: scan
mysql.sortsmysql.performance.sort_rowsThe number of MySQL sorts.kind: rows
mysql.sortsmysql.performance.sort_merge_passesThe number of MySQL sorts.kind: merge_passes
mysql.sortsmysql.performance.sort_rangeThe number of MySQL sorts.kind: range
mysql.table_open_cachemysql.performance.table_cache_hitsThe number of hits, misses or overflows for open tables cache lookups.status: hit
mysql.table_open_cachemysql.performance.table_cache_missesThe number of hits, misses or overflows for open tables cache lookups.status: miss
mysql.threadsmysql.performance.threads_runningThe state of MySQL threads.kind: running
mysql.threadsmysql.performance.threads_cachedThe state of MySQL threads.kind: cached
mysql.threadsmysql.performance.threads_connectedThe state of MySQL threads.kind: connected
mysql.threadsmysql.performance.threads_createdThe state of MySQL threads.kind: created
mysql.tmp_resourcesmysql.performance.created_tmp_tablesThe number of created temporary resources.resource: tables
mysql.tmp_resourcesmysql.performance.created_tmp_disk_tablesThe number of created temporary resources.resource: disk_tables
mysql.tmp_resourcesmysql.performance.created_tmp_filesThe number of created temporary resources.resource: files

See OpenTelemetry Metrics Mapping for more information.

Further reading

Additional helpful documentation, links, and articles:

PREVIEWING: brett.blue/add-otel-integrations