'\" t .\" Title: ctdb-statistics .\" Author: .\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 09/23/2020 .\" Manual: CTDB - clustered TDB database .\" Source: ctdb .\" Language: English .\" .TH "CTDB\-STATISTICS" "7" "09/23/2020" "ctdb" "CTDB \- clustered TDB database" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" ctdb-statistics \- CTDB statistics output .SH "OVERALL STATISTICS" .PP CTDB maintains information about various messages communicated and some of the important operations per node\&. See the \fBctdb\fR(1) commands \fBstatistics\fR and \fBstatisticsreset\fR for displaying statistics\&. .SS "Example: ctdb statistics" .sp .if n \{\ .RS 4 .\} .nf CTDB version 1 Current time of statistics : Fri Sep 12 13:32:32 2014 Statistics collected since : (000 01:49:20) Fri Sep 12 11:43:12 2014 num_clients 6 frozen 0 recovering 0 num_recoveries 2 client_packets_sent 281293 client_packets_recv 296317 node_packets_sent 452387 node_packets_recv 182394 keepalive_packets_sent 3927 keepalive_packets_recv 3928 node req_call 48605 reply_call 1 req_dmaster 23404 reply_dmaster 24917 reply_error 0 req_message 958 req_control 197513 reply_control 153705 client req_call 130866 req_message 770 req_control 168921 timeouts call 0 control 0 traverse 0 locks num_calls 220 num_current 0 num_pending 0 num_failed 0 total_calls 130866 pending_calls 0 childwrite_calls 1 pending_childwrite_calls 0 memory_used 334490 max_hop_count 18 total_ro_delegations 2 total_ro_revokes 2 hop_count_buckets: 42816 5464 26 1 0 0 0 0 0 0 0 0 0 0 0 0 lock_buckets: 9 165 14 15 7 2 2 0 0 0 0 0 0 0 0 0 locks_latency MIN/AVG/MAX 0\&.000685/0\&.160302/6\&.369342 sec out of 214 reclock_ctdbd MIN/AVG/MAX 0\&.004940/0\&.004969/0\&.004998 sec out of 2 reclock_recd MIN/AVG/MAX 0\&.000000/0\&.000000/0\&.000000 sec out of 0 call_latency MIN/AVG/MAX 0\&.000006/0\&.000719/4\&.562991 sec out of 126626 childwrite_latency MIN/AVG/MAX 0\&.014527/0\&.014527/0\&.014527 sec out of 1 .fi .if n \{\ .RE .\} .SS "CTDB version" .PP Version of the ctdb protocol used by the node\&. .SS "Current time of statistics" .PP Time when the statistics are generated\&. .PP This is useful when collecting statistics output periodically for post\-processing\&. .SS "Statistics collected since" .PP Time when ctdb was started or the last time statistics was reset\&. The output shows the duration and the timestamp\&. .SS "num_clients" .PP Number of processes currently connected to CTDB\*(Aqs unix socket\&. This includes recovery daemon, ctdb tool and samba processes (smbd, winbindd)\&. .SS "frozen" .PP 1 if the databases are currently frozen, 0 otherwise\&. .SS "recovering" .PP 1 if recovery is active, 0 otherwise\&. .SS "num_recoveries" .PP Number of recoveries since the start of ctdb or since the last statistics reset\&. .SS "client_packets_sent" .PP Number of packets sent to client processes via unix domain socket\&. .SS "client_packets_recv" .PP Number of packets received from client processes via unix domain socket\&. .SS "node_packets_sent" .PP Number of packets sent to the other nodes in the cluster via TCP\&. .SS "node_packets_recv" .PP Number of packets received from the other nodes in the cluster via TCP\&. .SS "keepalive_packets_sent" .PP Number of keepalive messages sent to other nodes\&. .PP CTDB periodically sends keepalive messages to other nodes\&. See KeepaliveInterval tunable in \fBctdb-tunables\fR(7) for more details\&. .SS "keepalive_packets_recv" .PP Number of keepalive messages received from other nodes\&. .SS "node" .PP This section lists various types of messages processed which originated from other nodes via TCP\&. .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBreq_call\fR .RS 4 .PP Number of REQ_CALL messages from the other nodes\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBreply_call\fR .RS 4 .PP Number of REPLY_CALL messages from the other nodes\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBreq_dmaster\fR .RS 4 .PP Number of REQ_DMASTER messages from the other nodes\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBreply_dmaster\fR .RS 4 .PP Number of REPLY_DMASTER messages from the other nodes\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBreply_error\fR .RS 4 .PP Number of REPLY_ERROR messages from the other nodes\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBreq_message\fR .RS 4 .PP Number of REQ_MESSAGE messages from the other nodes\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBreq_control\fR .RS 4 .PP Number of REQ_CONTROL messages from the other nodes\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBreply_control\fR .RS 4 .PP Number of REPLY_CONTROL messages from the other nodes\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBreq_tunnel\fR .RS 4 .PP Number of REQ_TUNNEL messages from the other nodes\&. .RE .SS "client" .PP This section lists various types of messages processed which originated from clients via unix domain socket\&. .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBreq_call\fR .RS 4 .PP Number of REQ_CALL messages from the clients\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBreq_message\fR .RS 4 .PP Number of REQ_MESSAGE messages from the clients\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBreq_control\fR .RS 4 .PP Number of REQ_CONTROL messages from the clients\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBreq_tunnel\fR .RS 4 .PP Number of REQ_TUNNEL messages from the clients\&. .RE .SS "timeouts" .PP This section lists timeouts occurred when sending various messages\&. .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBcall\fR .RS 4 .PP Number of timeouts for REQ_CALL messages\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBcontrol\fR .RS 4 .PP Number of timeouts for REQ_CONTROL messages\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBtraverse\fR .RS 4 .PP Number of timeouts for database traverse operations\&. .RE .SS "locks" .PP This section lists locking statistics\&. .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBnum_calls\fR .RS 4 .PP Number of completed lock calls\&. This includes database locks and record locks\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBnum_current\fR .RS 4 .PP Number of scheduled lock calls\&. This includes database locks and record locks\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBnum_pending\fR .RS 4 .PP Number of queued lock calls\&. This includes database locks and record locks\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBnum_failed\fR .RS 4 .PP Number of failed lock calls\&. This includes database locks and record locks\&. .RE .SS "total_calls" .PP Number of req_call messages processed from clients\&. This number should be same as client \-\-> req_call\&. .SS "pending_calls" .PP Number of req_call messages which are currently being processed\&. This number indicates the number of record migrations in flight\&. .SS "childwrite_calls" .PP Number of record update calls\&. Record update calls are used to update a record under a transaction\&. .SS "pending_childwrite_calls" .PP Number of record update calls currently active\&. .SS "memory_used" .PP The amount of memory in bytes currently used by CTDB using talloc\&. This includes all the memory used for CTDB\*(Aqs internal data structures\&. This does not include the memory mapped TDB databases\&. .SS "max_hop_count" .PP The maximum number of hops required for a record migration request to obtain the record\&. High numbers indicate record contention\&. .SS "total_ro_delegations" .PP Number of readonly delegations created\&. .SS "total_ro_revokes" .PP Number of readonly delegations that were revoked\&. The difference between total_ro_revokes and total_ro_delegations gives the number of currently active readonly delegations\&. .SS "hop_count_buckets" .PP Distribution of migration requests based on hop counts values\&. Buckets are 0, <\ \&2, <\ \&4, <\ \&8, <\ \&16, <\ \&32, <\ \&64, <\ \&128, <\ \&256, <\ \&512, <\ \&1024, <\ \&2048, <\ \&4096, <\ \&8192, <\ \&16384, ≥\ \&16384\&. .SS "lock_buckets" .PP Distribution of record lock requests based on time required to obtain locks\&. Buckets are <\ \&1ms, <\ \&10ms, <\ \&100ms, <\ \&1s, <\ \&2s, <\ \&4s, <\ \&8s, <\ \&16s, <\ \&32s, <\ \&64s, ≥\ \&64s\&. .SS "locks_latency" .PP The minimum, the average and the maximum time (in seconds) required to obtain record locks\&. .SS "reclock_ctdbd" .PP The minimum, the average and the maximum time (in seconds) required to check if recovery lock is still held by recovery daemon when recovery mode is changed\&. This check is done in ctdb daemon\&. .SS "reclock_recd" .PP The minimum, the average and the maximum time (in seconds) required to check if recovery lock is still held by recovery daemon during recovery\&. This check is done in recovery daemon\&. .SS "call_latency" .PP The minimum, the average and the maximum time (in seconds) required to process a REQ_CALL message from client\&. This includes the time required to migrate a record from remote node, if the record is not available on the local node\&. .SS "childwrite_latency" .PP Default: 0 .PP The minimum, the average and the maximum time (in seconds) required to update records under a transaction\&. .SH "DATABASE STATISTICS" .PP CTDB maintains per database statistics about important operations\&. See the \fBctdb\fR(1) command \fBdbstatistics\fR for displaying database statistics\&. .SS "Example: ctdb dbstatistics notify_index\&.tdb" .sp .if n \{\ .RS 4 .\} .nf DB Statistics: notify_index\&.tdb ro_delegations 0 ro_revokes 0 locks total 131 failed 0 current 0 pending 0 hop_count_buckets: 9890 5454 26 1 0 0 0 0 0 0 0 0 0 0 0 0 lock_buckets: 4 117 10 0 0 0 0 0 0 0 0 0 0 0 0 0 locks_latency MIN/AVG/MAX 0\&.000683/0\&.004198/0\&.014730 sec out of 131 Num Hot Keys: 3 Count:7 Key:2f636c75737465726673 Count:18 Key:2f636c757374657266732f64617461 Count:7 Key:2f636c757374657266732f646174612f636c69656e7473 .fi .if n \{\ .RE .\} .SS "DB Statistics" .PP Name of the database\&. .SS "ro_delegations" .PP Number of readonly delegations created in the database\&. .SS "ro_revokes" .PP Number of readonly delegations revoked\&. The difference in ro_delegations and ro_revokes indicates the currently active readonly delegations\&. .SS "locks" .PP This section lists locking statistics\&. .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBtotal\fR .RS 4 .PP Number of completed lock calls\&. This includes database locks and record locks\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBfailed\fR .RS 4 .PP Number of failed lock calls\&. This includes database locks and record locks\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBcurrent\fR .RS 4 .PP Number of scheduled lock calls\&. This includes database locks and record locks\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBpending\fR .RS 4 .PP Number of queued lock calls\&. This includes database locks and record locks\&. .RE .SS "hop_count_buckets" .PP Distribution of migration requests based on hop counts values\&. Buckets are 0, <\ \&2, <\ \&4, <\ \&8, <\ \&16, <\ \&32, <\ \&64, <\ \&128, <\ \&256, <\ \&512, <\ \&1024, <\ \&2048, <\ \&4096, <\ \&8192, <\ \&16384, ≥\ \&16384\&. .SS "lock_buckets" .PP Distribution of record lock requests based on time required to obtain locks\&. Buckets are <\ \&1ms, <\ \&10ms, <\ \&100ms, <\ \&1s, <\ \&2s, <\ \&4s, <\ \&8s, <\ \&16s, <\ \&32s, <\ \&64s, ≥\ \&64s\&. .SS "locks_latency" .PP The minimum, the average and the maximum time (in seconds) required to obtain record locks\&. .SS "Num Hot Keys" .PP Number of contended records determined by hop count\&. CTDB keeps track of top 10 hot records and the output shows hex encoded keys for the hot records\&. .SH "SEE ALSO" .PP \fBctdb\fR(1), \fBctdbd\fR(1), \fBctdb-tunables\fR(7), \m[blue]\fB\%http://ctdb.samba.org/\fR\m[] .SH "AUTHOR" .br .PP This documentation was written by Amitay Isaacs, Martin Schwenke .SH "COPYRIGHT" .br Copyright \(co 2007 Andrew Tridgell, Ronnie Sahlberg .br .PP This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version\&. .PP This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE\&. See the GNU General Public License for more details\&. .PP You should have received a copy of the GNU General Public License along with this program; if not, see \m[blue]\fB\%http://www.gnu.org/licenses\fR\m[]\&. .sp