Adapt to collect stage information
[pstop.git] / README.md
index b05a69c..1b4fdc9 100644 (file)
--- a/README.md
+++ b/README.md
@@ -12,19 +12,44 @@ the actiity of those users.
 
 ### Installation
 
-Install and update this go package with `go get -u github.com/sjmudd/pstop`
+Install and update this go package with `go get -u github.com/sjmudd/pstop`.
+
+Note if you are looking for binaries for pstop then look here
+http://gobuild.io/github.com/sjmudd/pstop as a possible location.
+I have not tried this service but it looks ok.
+
+### Dependencies
+
+The following Non-core Go dependencies are:
+* github.com/sjmudd/mysql_defaults_file for connecting to MySQL via
+a defaults file.
+* github.com/nsf/termbox-go a library for creating cross-platform
+text-based interfaces.
 
 ### Configuration
 
-Access to MySQL is currently via a defaults-file which is assumed
-to be `~/.my.cnf`.  Alternatively you can now provide
--defaults-file=/path/to/.my.cnf if needed.
+Access to MySQL can be made by one of the following methods:
+* Default: use a defaults-file named `~/.my.cnf`.
+* use an explicit defaults-file with `--defaults-file=/path/to/.my.cnf`.
+* connect to a host with `--host=somehost --port=999 --user=someuser --password=somepass`, or
+* connect via a socket with `--socket=/path/to/mysql.sock --user=someuser --password=somepass`
+
+The user if not specified will default to the contents of `$USER`.
+The port if not specified will default to 3306.
 
 ### Grants
 
 `pstop` needs `SELECT` access to `performance_schema` tables. It
 will not run if access to the required tables is not available.
 
+setup_instruments: To view the Mutex page it is likely you will need
+to change the configuration of setup_instruments. pstop needs UPDATE
+rights on this table to do that. If the pstop user does not have
+this right then the configuration will not be modified and you may see
+no data.  When pstop stops it will restore the setup_instruments
+configuration back to its original settings if it successfully
+updated the table when starting up.
+
 ### Screens
 
 pstop has 5 different screens which get updated by default every second.
@@ -37,7 +62,10 @@ queries, or the number of connections they have to MySQL. This is
 really missing a feature in MySQL (see: http://bugs.mysql.com/75156)
 to provide higher resolution query times than seconds. It gives
 some info but if the queries are very short then the integer runtime
-in seconds makes the output far less interesting.
+in seconds makes the output far less interesting. Total idle time is also
+shown as this gives an indication of perhaps overly long idle queries,
+and the sum of the values here if there's a pile up may be interesting.
+* Mutex mode: show the ordering by mutex latency (currently requires correct P_S setup).
 
 You can change the polling interval and switch between modes (see below).
 
@@ -51,7 +79,7 @@ The following keys allow you to navigate around the different pstop displays or
 * q - quit
 * t - toggle between showing the statistics since resetting pstop started or you explicitly reset them (with 'z') [REL] or showing the statistics as collected from MySQL [ABS].
 * z - reset statistics. That is counters you see are relative to when you "reset" statistics.
-* <tab> - change display modes between: latency, ops, file I/O, lock modes and user modes.
+* <tab> - change display modes between: latency, ops, file I/O, lock, user and mutex modes.
 * left arrow - change to previous screen
 * right arrow - change to next screen
 
@@ -79,7 +107,11 @@ BSD 2-Clause License
 
 ### Feedback
 
-Feedback and patches welcome.
+Feedback and patches welcome. I am especially interested in hearing
+from you if you are using pstop, or if you have ideas of how I can
+better use other information from the performance_schema tables to
+provide a more complete vision of what MySQL is doing or where it's
+busy.
 
 Simon J Mudd
 <sjmudd@pobox.com>