ctdb: Accept the key in hex format for the pstore command
[Samba.git] / ctdb / doc / ctdb-statistics.7.xml
blob77301ab7893e4bd282f374d38495c6459f24252a
1 <?xml version="1.0" encoding="iso-8859-1"?>
2 <!DOCTYPE refentry
3         PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
4         "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
6 <refentry id="ctdb-statistics.7">
8   <refmeta>
9     <refentrytitle>ctdb-statistics</refentrytitle>
10     <manvolnum>7</manvolnum>
11     <refmiscinfo class="source">ctdb</refmiscinfo>
12     <refmiscinfo class="manual">CTDB - clustered TDB database</refmiscinfo>
13   </refmeta>
15   <refnamediv>
16     <refname>ctdb-statistics</refname>
17     <refpurpose>CTDB statistics output</refpurpose>
18   </refnamediv>
20   <refsect1>
21     <title>OVERALL STATISTICS</title>
23     <para>
24       CTDB maintains information about various messages communicated
25       and some of the important operations per node.  See the
26       <citerefentry><refentrytitle>ctdb</refentrytitle>
27       <manvolnum>1</manvolnum></citerefentry> commands
28       <command>statistics</command> and <command>statisticsreset</command>
29       for displaying statistics.
30     </para>
32       <refsect2>
33         <title>Example: ctdb statistics</title>
34         <screen>
35 CTDB version 1
36 Current time of statistics  :                Fri Sep 12 13:32:32 2014
37 Statistics collected since  : (000 01:49:20) Fri Sep 12 11:43:12 2014
38  num_clients                        6
39  frozen                             0
40  recovering                         0
41  num_recoveries                     2
42  client_packets_sent           281293
43  client_packets_recv           296317
44  node_packets_sent             452387
45  node_packets_recv             182394
46  keepalive_packets_sent          3927
47  keepalive_packets_recv          3928
48  node
49      req_call                   48605
50      reply_call                     1
51      req_dmaster                23404
52      reply_dmaster              24917
53      reply_error                    0
54      req_message                  958
55      req_control               197513
56      reply_control             153705
57  client
58      req_call                  130866
59      req_message                  770
60      req_control               168921
61  timeouts
62      call                           0
63      control                        0
64      traverse                       0
65  locks
66      num_calls                    220
67      num_current                    0
68      num_pending                    0
69      num_failed                     0
70  total_calls                   130866
71  pending_calls                      0
72  childwrite_calls                   1
73  pending_childwrite_calls             0
74  memory_used                   334490
75  max_hop_count                     18
76  total_ro_delegations               2
77  total_ro_revokes                   2
78  hop_count_buckets: 42816 5464 26 1 0 0 0 0 0 0 0 0 0 0 0 0
79  lock_buckets: 9 165 14 15 7 2 2 0 0 0 0 0 0 0 0 0
80  locks_latency      MIN/AVG/MAX     0.000685/0.160302/6.369342 sec out of 214
81  reclock_ctdbd      MIN/AVG/MAX     0.004940/0.004969/0.004998 sec out of 2
82  reclock_recd       MIN/AVG/MAX     0.000000/0.000000/0.000000 sec out of 0
83  call_latency       MIN/AVG/MAX     0.000006/0.000719/4.562991 sec out of 126626
84  childwrite_latency MIN/AVG/MAX     0.014527/0.014527/0.014527 sec out of 1
85         </screen>
86       </refsect2>
88     <refsect2>
89       <title>CTDB version</title>
90       <para>
91         Version of the ctdb protocol used by the node.
92       </para>
93     </refsect2>
95     <refsect2>
96       <title>Current time of statistics</title>
97       <para>
98         Time when the statistics are generated.
99       </para>
100       <para>
101         This is useful when collecting statistics output periodically
102         for post-processing.
103       </para>
104     </refsect2>
106     <refsect2>
107       <title>Statistics collected since</title>
108       <para>
109         Time when ctdb was started or the last time statistics was reset.
110         The output shows the duration and the timestamp.
111       </para>
112     </refsect2>
114     <refsect2>
115       <title>num_clients</title>
116       <para>
117         Number of processes currently connected to CTDB's unix socket.
118         This includes recovery daemon, ctdb tool and samba processes
119         (smbd, winbindd).
120       </para>
121     </refsect2>
123     <refsect2>
124       <title>frozen</title>
125       <para>
126         1 if the the databases are currently frozen, 0 otherwise.
127       </para>
128     </refsect2>
130     <refsect2>
131       <title>recovering</title>
132       <para>
133         1 if recovery is active, 0 otherwise.
134       </para>
135     </refsect2>
137     <refsect2>
138       <title>num_recoveries</title>
139       <para>
140         Number of recoveries since the start of ctdb or since the last
141         statistics reset.
142       </para>
143     </refsect2>
145     <refsect2>
146       <title>client_packets_sent</title>
147       <para>
148         Number of packets sent to client processes via unix domain socket.
149       </para>
150     </refsect2>
152     <refsect2>
153       <title>client_packets_recv</title>
154       <para>
155         Number of packets received from client processes via unix domain socket.
156       </para>
157     </refsect2>
159     <refsect2>
160       <title>node_packets_sent</title>
161       <para>
162         Number of packets sent to the other nodes in the cluster via TCP.
163       </para>
164     </refsect2>
166     <refsect2>
167       <title>node_packets_recv</title>
168       <para>
169         Number of packets received from the other nodes in the cluster via TCP.
170       </para>
171     </refsect2>
173     <refsect2>
174       <title>keepalive_packets_sent</title>
175       <para>
176         Number of keepalive messages sent to other nodes.
177       </para>
178       <para>
179         CTDB periodically sends keepalive messages to other nodes.
180         See <citetitle>KeepaliveInterval</citetitle> tunable in
181         <citerefentry><refentrytitle>ctdb-tunables</refentrytitle>
182         <manvolnum>7</manvolnum></citerefentry> for more details.
183       </para>
184     </refsect2>
186     <refsect2>
187       <title>keepalive_packets_recv</title>
188       <para>
189         Number of keepalive messages received from other nodes.
190       </para>
191     </refsect2>
193     <refsect2>
194       <title>node</title>
195       <para>
196         This section lists various types of messages processed which
197         originated from other nodes via TCP.
198       </para>
200     <refsect3>
201       <title>req_call</title>
202       <para>
203         Number of REQ_CALL messages from the other nodes.
204       </para>
205     </refsect3>
207     <refsect3>
208       <title>reply_call</title>
209       <para>
210         Number of REPLY_CALL messages from the other nodes.
211       </para>
212     </refsect3>
214     <refsect3>
215       <title>req_dmaster</title>
216       <para>
217         Number of REQ_DMASTER messages from the other nodes.
218       </para>
219     </refsect3>
221     <refsect3>
222       <title>reply_dmaster</title>
223       <para>
224         Number of REPLY_DMASTER messages from the other nodes.
225       </para>
226     </refsect3>
228     <refsect3>
229       <title>reply_error</title>
230       <para>
231         Number of REPLY_ERROR messages from the other nodes.
232       </para>
233     </refsect3>
235     <refsect3>
236       <title>req_message</title>
237       <para>
238         Number of REQ_MESSAGE messages from the other nodes.
239       </para>
240     </refsect3>
242     <refsect3>
243       <title>req_control</title>
244       <para>
245         Number of REQ_CONTROL messages from the other nodes.
246       </para>
247     </refsect3>
249     <refsect3>
250       <title>reply_control</title>
251       <para>
252         Number of REPLY_CONTROL messages from the other nodes.
253       </para>
254     </refsect3>
256     </refsect2>
258     <refsect2>
259       <title>client</title>
260       <para>
261         This section lists various types of messages processed which
262         originated from clients via unix domain socket.
263       </para>
265     <refsect3>
266       <title>req_call</title>
267       <para>
268         Number of REQ_CALL messages from the clients.
269       </para>
270     </refsect3>
272     <refsect3>
273       <title>req_message</title>
274       <para>
275         Number of REQ_MESSAGE messages from the clients.
276       </para>
277     </refsect3>
279     <refsect3>
280       <title>req_control</title>
281       <para>
282         Number of REQ_CONTROL messages from the clients.
283       </para>
284     </refsect3>
286     </refsect2>
288     <refsect2>
289       <title>timeouts</title>
290       <para>
291         This section lists timeouts occurred when sending various messages.
292       </para>
294     <refsect3>
295       <title>call</title>
296       <para>
297         Number of timeouts for REQ_CALL messages.
298       </para>
299     </refsect3>
301     <refsect3>
302       <title>control</title>
303       <para>
304         Number of timeouts for REQ_CONTROL messages.
305       </para>
306     </refsect3>
308     <refsect3>
309       <title>traverse</title>
310       <para>
311         Number of timeouts for database traverse operations.
312       </para>
313     </refsect3>
314     </refsect2>
316     <refsect2>
317       <title>locks</title>
318       <para>
319         This section lists locking statistics.
320       </para>
322     <refsect3>
323       <title>num_calls</title>
324       <para>
325         Number of completed lock calls.  This includes database locks
326         and record locks.
327       </para>
328     </refsect3>
330     <refsect3>
331       <title>num_current</title>
332       <para>
333         Number of scheduled lock calls.  This includes database locks
334         and record locks.
335       </para>
336     </refsect3>
338     <refsect3>
339       <title>num_pending</title>
340       <para>
341         Number of queued lock calls.  This includes database locks and
342         record locks.
343       </para>
344     </refsect3>
346     <refsect3>
347       <title>num_failed</title>
348       <para>
349         Number of failed lock calls.  This includes database locks and
350         record locks.
351       </para>
352     </refsect3>
354     </refsect2>
356     <refsect2>
357       <title>total_calls</title>
358       <para>
359         Number of req_call messages processed from clients.  This number
360         should be same as client --> req_call.
361       </para>
362     </refsect2>
364     <refsect2>
365       <title>pending_calls</title>
366       <para>
367         Number of req_call messages which are currenly being processed.
368         This number indicates the number of record migrations in flight.
369       </para>
370     </refsect2>
372     <refsect2>
373       <title>childwrite_calls</title>
374       <para>
375         Number of record update calls.  Record update calls are used to
376         update a record under a transaction.
377       </para>
378     </refsect2>
380     <refsect2>
381       <title>pending_childwrite_calls</title>
382       <para>
383         Number of record update calls currently active.
384       </para>
385     </refsect2>
387     <refsect2>
388       <title>memory_used</title>
389       <para>
390         The amount of memory in bytes currently used by CTDB using
391         talloc.  This includes all the memory used for CTDB's internal
392         data structures.  This does not include the memory mapped TDB
393         databases.
394       </para>
395     </refsect2>
397     <refsect2>
398       <title>max_hop_count</title>
399       <para>
400         The maximum number of hops required for a record migration request
401         to obtain the record.  High numbers indicate record contention.
402       </para>
403     </refsect2>
405     <refsect2>
406       <title>total_ro_delegations</title>
407       <para>
408         Number of readonly delegations created.
409       </para>
410     </refsect2>
412     <refsect2>
413       <title>total_ro_revokes</title>
414       <para>
415         Number of readonly delegations that were revoked.  The difference
416         between total_ro_revokes and total_ro_delegations gives the
417         number of currently active readonly delegations.
418       </para>
419     </refsect2>
421     <refsect2>
422       <title>hop_count_buckets</title>
423       <para>
424         Distribution of migration requests based on hop counts values.
425         Buckets are 1, &lt; 4, &lt; 8, &lt; 16, &lt; 32, &lt; 64, &lt;
426         128, &lt; 256, &lt; 512, &ge; 512.
427       </para>
428     </refsect2>
430     <refsect2>
431       <title>lock_buckets</title>
432       <para>
433         Distribution of record lock requests based on time required to
434         obtain locks.  Buckets are &lt; 1ms, &lt; 10ms, &lt; 100ms,
435         &lt; 1s, &lt; 2s, &lt; 4s, &lt; 8s, &lt; 16s, &lt; 32s, &lt;
436         64s, &ge; 64s.
437       </para>
438     </refsect2>
440     <refsect2>
441       <title>locks_latency</title>
442       <para>
443         The minimum, the average and the maximum time (in seconds)
444         required to obtain record locks.
445       </para>
446     </refsect2>
448     <refsect2>
449       <title>reclock_ctdbd</title>
450       <para>
451         The minimum, the average and the maximum time (in seconds)
452         required to check if recovery lock is still held by recovery
453         daemon when recovery mode is changed.  This check is done in ctdb daemon.
454       </para>
455     </refsect2>
457     <refsect2>
458       <title>reclock_recd</title>
459       <para>
460         The minimum, the average and the maximum time (in seconds)
461         required to check if recovery lock is still held by recovery
462         daemon during recovery.  This check is done in recovery daemon.
463       </para>
464     </refsect2>
466     <refsect2>
467       <title>call_latency</title>
468       <para>
469         The minimum, the average and the maximum time (in seconds) required
470         to process a REQ_CALL message from client.  This includes the time
471         required to migrate a record from remote node, if the record is
472         not available on the local node.
473       </para>
474     </refsect2>
476     <refsect2>
477       <title>childwrite_latency</title>
478       <para>Default: 0</para>
479       <para>
480         The minimum, the average and the maximum time (in seconds)
481         required to update records under a transaction.
482       </para>
483     </refsect2>
484   </refsect1>
486   <refsect1>
487     <title>DATABASE STATISTICS</title>
489     <para>
490       CTDB maintains per database statistics about important operations.
491       See the <citerefentry><refentrytitle>ctdb</refentrytitle>
492       <manvolnum>1</manvolnum></citerefentry> command
493       <command>dbstatistics</command> for displaying database statistics.
494     </para>
496     <refsect2>
497         <title>Example: ctdb dbstatistics notify_index.tdb</title>
498         <screen>
499 DB Statistics: notify_index.tdb
500  ro_delegations                     0
501  ro_revokes                         0
502  locks
503      total                        131
504      failed                         0
505      current                        0
506      pending                        0
507  hop_count_buckets: 9890 5454 26 1 0 0 0 0 0 0 0 0 0 0 0 0
508  lock_buckets: 4 117 10 0 0 0 0 0 0 0 0 0 0 0 0 0
509  locks_latency      MIN/AVG/MAX     0.000683/0.004198/0.014730 sec out of 131
510  Num Hot Keys:     3
511      Count:7 Key:2f636c75737465726673
512      Count:18 Key:2f636c757374657266732f64617461
513      Count:7 Key:2f636c757374657266732f646174612f636c69656e7473
514         </screen>
515     </refsect2>
517     <refsect2>
518       <title>DB Statistics</title>
519       <para>
520         Name of the database.
521       </para>
522     </refsect2>
524     <refsect2>
525       <title>ro_delegations</title>
526       <para>
527         Number of readonly delegations created in the database.
528       </para>
529     </refsect2>
531     <refsect2>
532       <title>ro_revokes</title>
533       <para>
534         Number of readonly delegations revoked.  The difference in
535         ro_delegations and ro_revokes indicates the currently active
536         readonly delegations.
537       </para>
538     </refsect2>
540     <refsect2>
541       <title>locks</title>
542       <para>
543         This section lists locking statistics.
544       </para>
546     <refsect3>
547       <title>total</title>
548       <para>
549         Number of completed lock calls.  This includes database locks
550         and record locks.
551       </para>
552     </refsect3>
554     <refsect3>
555       <title>failed</title>
556       <para>
557         Number of failed lock calls.  This includes database locks and
558         record locks.
559       </para>
560     </refsect3>
562     <refsect3>
563       <title>current</title>
564       <para>
565         Number of scheduled lock calls.  This includes database locks
566         and record locks.
567       </para>
568     </refsect3>
570     <refsect3>
571       <title>pending</title>
572       <para>
573         Number of queued lock calls.  This includes database locks and
574         record locks.
575       </para>
576     </refsect3>
578     </refsect2>
580     <refsect2>
581       <title>hop_count_buckets</title>
582       <para>
583         Distribution of migration requests based on hop counts values.
584         Buckets are 1, &lt; 4, &lt; 8, &lt; 16, &lt; 32, &lt; 64, &lt;
585         128, &lt; 256, &lt; 512, &ge; 512.
586       </para>
587     </refsect2>
589     <refsect2>
590       <title>lock_buckets</title>
591       <para>
592         Distribution of record lock requests based on time required to
593         obtain locks.  Buckets are &lt; 1ms, &lt; 10ms, &lt; 100ms,
594         &lt; 1s, &lt; 2s, &lt; 4s, &lt; 8s, &lt; 16s, &lt; 32s, &lt;
595         64s, &ge; 64s.
596       </para>
597     </refsect2>
599     <refsect2>
600       <title>locks_latency</title>
601       <para>
602         The minimum, the average and the maximum time (in seconds)
603         required to obtain record locks.
604       </para>
605     </refsect2>
607     <refsect2>
608       <title>Num Hot Keys</title>
609       <para>
610         Number of contended records determined by hop count.  CTDB keeps
611         track of top 10 hot records and the output shows hex encoded
612         keys for the hot records.
613       </para>
614     </refsect2>
615   </refsect1>
617   <refsect1>
618     <title>SEE ALSO</title>
619     <para>
620       <citerefentry><refentrytitle>ctdb</refentrytitle>
621       <manvolnum>1</manvolnum></citerefentry>,
623       <citerefentry><refentrytitle>ctdbd</refentrytitle>
624       <manvolnum>1</manvolnum></citerefentry>,
626       <citerefentry><refentrytitle>ctdb-tunables</refentrytitle>
627       <manvolnum>7</manvolnum></citerefentry>,
629       <ulink url="http://ctdb.samba.org/"/>
630     </para>
631   </refsect1>
633   <refentryinfo>
634     <author>
635       <contrib>
636         This documentation was written by
637         Amitay Isaacs,
638         Martin Schwenke
639       </contrib>
640     </author>
642     <copyright>
643       <year>2007</year>
644       <holder>Andrew Tridgell</holder>
645       <holder>Ronnie Sahlberg</holder>
646     </copyright>
647     <legalnotice>
648       <para>
649         This program is free software; you can redistribute it and/or
650         modify it under the terms of the GNU General Public License as
651         published by the Free Software Foundation; either version 3 of
652         the License, or (at your option) any later version.
653       </para>
654       <para>
655         This program is distributed in the hope that it will be
656         useful, but WITHOUT ANY WARRANTY; without even the implied
657         warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
658         PURPOSE.  See the GNU General Public License for more details.
659       </para>
660       <para>
661         You should have received a copy of the GNU General Public
662         License along with this program; if not, see
663         <ulink url="http://www.gnu.org/licenses"/>.
664       </para>
665     </legalnotice>
666   </refentryinfo>
668 </refentry>