The Transactions page helps you:
- Identify frequently retried transactions.
- Troubleshoot high latency transactions or execution failures.
- View transaction details.
To view this page, click SQL Activity in the left-hand navigation of the DB Console. Click the Transactions tab.
Search and filter
By default, the Transactions page shows transactions from all applications and databases running on the cluster.
To search using the search field:
- Type a string over
Search Transactions. New in v22.1.4: To search for exact terms in order, wrap the search string in quotes.
The list of transactions is filtered by the string.
To view statement fingerprints within a specific time interval, click the time interval selector and pick an interval. The time interval field supports preset time intervals (1 Hour, 6 Hours, 1 Day, etc.) and custom time intervals. To select a custom time interval, click the time interval field and select Custom time interval. In the Start (UTC) and End (UTC) fields select or type a date and time.
Use the arrow keys to cycle through previous and next time intervals. When you select a time interval, the same interval is selected in the Metrics page.
It's possible to select an interval for which no transaction statistics exist. CockroachDB persists transaction statistics up to 1 million rows before the oldest row is deleted. The retention period of statistics is reduced the more active a workload is and the more distinct statement fingerprints there are.
To filter the transactions:
Click the Filters field.
To filter by application, select App and select one or more applications.
- Queries from the SQL shell are displayed under the
- If you haven't set
application_namein a client connection string, it appears as
- Queries from the SQL shell are displayed under the
To filter by the nodes on which the transaction ran, click the Node field and select one or more checkboxes.
To display only statement fingerprints that take longer than a specified time to run, specify the time and units.
Statistics aggregation is controlled by the
sql.stats.aggregation.interval cluster setting, set to 1 hour by default.
Aggregated statistics are flushed from memory to statistics tables in the
crdb_internal system catalog every 10 minutes. The flushing interval is controlled by the
sql.stats.flush.interval cluster setting.
The default retention period of the statistics tables is based on the number of rows up to 1 million records. When this threshold is reached, the oldest records are deleted. The
diagnostics.forced_sql_stat_reset.interval cluster setting controls when persisted statistics are deleted only if the internal cleanup service experiences a failure.
If desired, admin users may reset SQL statistics in the DB Console UI and
crdb_internal system catalog by clicking reset SQL stats. This link does not appear for non-admin users.
For an example of querying the statistics table, see Example.
If you haven't yet executed any transactions in the cluster as a user, this page will be blank.
Click to select the columns to display in the table.
The Transactions table gives details for each SQL statement fingerprint in the transaction:
|Transactions||The SQL statement fingerprints that make up the transaction. To view the transaction fingerprint and details, click to open the Transaction Details page.|
|Execution Count||Cumulative number of executions of this transaction within the time interval.
The bar indicates the ratio of runtime success (gray) to retries (red) for the transaction.
|Rows Processed||Average number of rows read and written while executing statements with this fingerprint within the time interval.|
|Bytes Read||Aggregation of all bytes read from disk across all operators for this transaction within the time interval.
The gray bar indicates the mean number of bytes read from disk. The blue bar indicates one standard deviation from the mean.
|Transaction Time||Average planning and execution time of this transaction within the time interval.
The gray bar indicates the mean latency. The blue bar indicates one standard deviation from the mean.
|Contention||Average time this transaction was in contention with other transactions within the time interval.|
|Max Memory||Maximum memory used by this transaction at any time during its execution within the time interval.
The gray bar indicates the average max memory usage. The blue bar indicates one standard deviation from the mean.
|Network||Amount of data transferred over the network for this transaction within the time interval.
If this value is 0, the transaction was executed on a single node.
The gray bar indicates the mean number of bytes sent over the network. The blue bar indicates one standard deviation from the mean.
|Retries||Cumulative number of retries of this transaction within the time interval.|
|Regions/Nodes||The region and nodes in which the transaction was executed.
Regions/Nodes are not visible for CockroachDB Serverless clusters.
|Statements||Number of SQL statements in the transaction.|
Significant transactions on your database are likely to have a high execution count or number of rows read.
To view transaction details, click a transaction fingerprint in the Transactions column to open the Transaction Details page.
Transaction Details page
The details displayed on the Transaction Details page reflect the time interval selected on the Transactions page.
- The transaction fingerprint is displayed as a list of the individual SQL statement fingerprints in the transaction.
- The Mean transaction time: the mean average time it took to execute the transaction within the aggregation interval.
- Transaction resource usage shows overall statistics about the transaction.
- Mean rows/bytes read: the mean average number of rows and bytes read from the storage layer during the execution of the transaction within the specified aggregation interval.
- Bytes read over network: the amount of data transferred over the network for this transaction within the aggregation interval.
If this value is 0, the statement was executed on a single node.
- Mean rows written: the mean number of rows written by this transaction.
- Max memory usage: the maximum memory used by this transaction at any time during its execution within the aggregation interval.
- Max scratch disk usage: the maximum amount of data spilled to temporary storage on disk while executing this transaction within the aggregation interval.
- Transaction Layer