Changelog for innotop: 2017-01-20: version 1.11.4 * add SUM function for ONLY_FULL_GROUP_BY 2017-01-20: version 1.11.3 * Undisplay handlersocket's threads in hide_inactive * fix runtime error regarding redundant sprintf argument #122 * added sort on connection-name in display M, after sql/io running, seconds behind master and channel_name * fixed bug that removed value for cxn and channel_name columns in display M * added sort on replication delay, so that the replication-display will sort on slave_sql_running, timelag (in minutes) and channel_name. * support for MariaDB 10.0 in InnoDB row (issue 93) 2013-07-12: version 1.9.1 Bugs fixed: * Support of MySQL 5.6 was broken on some pages (issue 82, 83) * Deadlock clearing transactions is now not included in binary log (issue 84) * New spec file with requirements and build requirements for CentOS/RHEL and Fedora 2012-09-07: version 1.9.0 Changes: * A new Health Dashboard (A) mode is the default mode. * Added a new InnoDB Locked (K) mode. * Added a new 'spark' config variable for sparklines. * Added a new fuzzy_time formatting function. * Added "query distill" summarizing. * Handled more types of errors connecting to the server. * Displayed some data more compactly. Bugs fixed: * Double-quotes were used to terminate strings in SQL (issue 57). * T mode didn't show InnoDB transaction times (issue 67). * Killing a query didn't suggest the longest-running one automatically. * Connections weren't closed on exit (issue 64). * Q mode didn't have connections in its header (issue 63). * Connections and server groups were poorly handled (issue 68). * The RPM spec file was buggy (issue 59). * Event filters were defined wrong (issue 54). 2012-02-25: version 1.8.1 Bugs fixed: * Various parsing errors with MySQL 5.5 (issue 23, 45, 47, 51, 52, 53). * RPM spec file prevented building on CentOS 5.5 using mock (issue 44). * Tests worked only from the test subdirectory (issue 43). 2010-11-06: version 1.8.0 Changes: * Don't re-fetch SHOW VARIABLES every iteration; it's too slow on many hosts. * Add a filter to remove EVENT threads in SHOW PROCESSLIST (issue 32). * Add a timestamp to output in -n mode, when -t is specified (issue 37). * Add a new U mode, for Percona/MariaDB USER_STATISTICS (issue 39). * Add support for millisecond query time in Percona Server (issue 39). * Display a summary of queries executed in Query List mode (issue 26). Bugs fixed: * Made config-file reading more robust (issue 41). * Hostname parsing wasn't standards compliant (issue 30). * MKDEBUG didn't work on some Perl versions (issue 22). * Don't try to get InnoDB status if have_innodb != YES (issue 33). * Status text from the InnoDB plugin wasn't parsed correctly (issue 36). * Transaction ID from InnoDB plugin wasn't subtracted correctly (issue 38). * Switching modes and pressing ? for help caused a crash (issue 40). 2009-09-06: version 1.7.2 Changes: * add support for --socket Bugs fixed: * remove cxn from $meta->{group_by} if there's only one connection displayed * fix for issue 19 - cxn column won't become visible when viewing two connections after having viewed one connection * suppress errors resulting from the addition of a 'BACKGROUND THREAD' section in the output of 'show innodb status' * possible fix for issue 22 - Useless use of a constant in void context * small change to set_to_tbl() around hiding the cxn column if there aren't two or more connections 2009-03-09: version 1.7.1 Changes: * Don't display the CXN column if only one connection is active in the current view * the 'state' column is now visible by default in Query List mode Bugs fixed: * fixed bug where trying to aggregate the time column would result in a crash if the time column had an undef value in it, which is the case when a thread is in the 'Connect' state * updated innotop.spec file to reflect current version 2009-02-23: version 1.7.0 Changes: * supports a central config (/etc/innotop/innotop.conf) * changed the default home directory config to ~/.innotop/innotop.conf (away from .ini) * embedded InnoDBParser.pm into innotop so it can be run with no installation * no longer writes a new config file by default * added --skipcentral (skip reading central config) and --write (write a config if none were loaded at start-up) * if no config file is loaded, connect to a MySQL database on localhost using mysql_read_default_group=client * embedded maatkit's DSNParser.pm and added support for --user, --password, --host, --port * changed default mode from T (InnoDB Transactions) to Q (Query List) * in addition to connected threads, now displays running and cached threads in statusbar * don't load connections from a config file if any DSN information or a username or password is specified on the command-line Bugs fixed: * fixed bug preventing utilization of command-line options that override default config settings if no config file was loaded * fixed a bug where migrating from an old version of the config will delete ~/innotop.ini, if it exists. Now uses File::Temp::tempfile(). 2007-11-09: version 1.6.0 * S mode crashed on non-numeric values. * New user-defined columns crashed upon restart. * Added --color option to control terminal coloring. 2007-09-18: version 1.5.2 * Added the ability to monitor InnoDB status from a file. * Changed W mode to L mode; it monitors all locks, not just lock waits. 2007-09-16: version 1.5.1 * Added C (Command Summary) mode. * Fixed a bug in the 'avg' aggregate function. 2007-09-10: version 1.5.0 Changes: * Added plugin functionality. * Added group-by functionality. * Moved the configuration file to a directory. * Enhanced filtering and sorting on pivoted tables. * Many small bug fixes. 2007-07-16: version 1.4.3 Changes: * Added standard --version command-line option * Changed colors to cyan instead of blue; more visible on dark terminals. * Added information to the filter-choosing dialog. * Added column auto-completion when entering a filter expression. * Changed Term::ReadKey from optional to mandatory. * Clarified username in password prompting. * Ten thousand words of documentation! Bugs fixed: * innotop crashed in W mode when InnoDB status data was truncated. * innotop didn't display errors in tables if debug was enabled. * The colored() subroutine wasn't being created in non-interactive mode. * Don't prompt to save password except the first time. 2007-05-03: version 1.4.2 This version contains all changes to the trunk until revision 239; some changes in revisions 240:250 are included. MAJOR CHANGES: * Quick-filters to easily filter any column in any display * Compatibility with MySQL 3.23 through 6.0 * Improved error handling when a server is down, permissions denied, etc * Use additional SHOW INNODB STATUS information in 5.1.x * Make all modes use tables consistently, so they can all be edited, filtered, colored and sorted consistently * Combine V, G and S modes into S mode, with v, g, and s hot-keys * Let DBD driver read MySQL option files; permit connections without user/pass/etc * Compile SQL-like expressions into Perl subroutines; eliminate need to know Perl * Do not save all config data to config file, only save user's customizations * Rewritten and improved command-line option handling * Added --count, --delay, and other command-line options to support run-and-exit operation * Improve built-in variable sets * Improve help screen with three-part balanced-column layout * Simplify table-editor and improve hotkey support * Require Perl to have high-resolution time support (Time::HiRes) * Help the user choose a query to analyze or kill * Enable EXPLAIN, show-full-query in T mode just like Q mode * Let data-extraction access current, previous and incremental data sets all at once MINOR CHANGES: * Column stabilizing for Q mode * New color rules for T, Q, W modes * Apply slave I/O filter to Q mode * Improve detection of server version and other meta-data * Make connection timeout a config variable * Improve cross-version-compatible SQL syntax * Get some information from the DBD driver instead of asking MySQL for it * Improved error messages * Improve server group creation/editing * Improve connection/thread killing * Fix broken key bindings and restore previously mapped hot-keys for choosing columns * Some documentation updates (but not nearly enough) * Allow the user to specify graphing char in S mode (formerly G mode) * Allow easy switching between variable sets in S mode * Bind 'n' key globally to choose the 'next' server connection * Bind '%' key globally to filter displayed tables * Allow aligning columns on the decimal place for easy readability * Add hide_hdr config variable to hide column headers in tables * Add a feature to smartly run PURGE MASTER LOGS in Replication mode * Enable debug mode as a globally configurable variable * Improve error messages when an expression or filter doesn't compile or has a run-time error; die on error when debug is enabled * Allow user-configurable delays after executing SQL (to let the server settle down before taking another measurement) * Add an expression to show how long until a transaction is finished * Add skip_innodb as a global config variable * Add '%' after percentages to help disambiguate (user-configurable) * Add column to M mode to help see how fast slave is catching up to master BUG FIXES: * T and W modes had wrong value for wait_status column * Error tracking on connections didn't reset when the connection recovered * wait_timeout on connections couldn't be set before MySQL 4.0.3 * There was a crash on 3.23 when wiping deadlocks * Lettercase changes in some result sets (SHOW MASTER/SLAVE STATUS) between MySQL versions crashed innotop * Inactive connections crashed innotop upon access to DBD driver * set_precision did not respect user defaults for number of digits * --inc command-line option could not be negated * InnoDB status parsing was not always parsing all needed information * S mode (formerly G mode) could crash trying to divide non-numeric data * M table didn't show Slave_open_temp_tables variable; incorrect lettercase * DBD drivers with broken AutoCommit would crash innotop * Some key bindings had incorrect labels * Some config-file loading routines could load data for things that didn't exist * Headers printed too often in S mode * High-resolution time was not used even when the user had it * Non-interactive mode printed blank lines sometimes * Q-mode header and statusbar showed different QPS numbers * Formulas for key-cache and query-cache hit ratios were wrong * Mac OS "Darwin" machines were mis-identified as Microsoft Windows * Some multiplications crashed when given undefined input * The commify transformation did not check its input and could crash * Specifying an invalid mode on the command line or config file could crash innotop 2007-03-29: version 1.4.1 * More tweaks to display of connection errors. * Fixed a problem with skip-innodb in MySQL 5.1. * Fix a bug with dead connections in single-connection mode. * Fix a regex to allow parsing more data from truncated deadlocks. * Don't load active cxns from the config file if the cxn isn't defined. 2007-03-03: version 1.4.0 * Further tweak error handling and display of connection errors * More centralization of querying * Fix forking so it doesn't kill all database connections * Allow user to run innotop without permissions for GLOBAL variables and status 2007-02-11: version 1.3.6 * Handle some connection failures so innotop doesn't crash because of one server. * Enable incremental display in more modes. * Tweaks to colorizing, color editor, and default color rules. * Tweaks to default sorting rules. * Use prepared statements for efficiency. * Bug fixes and code cleanups. * Data storage is keyed on clock ticks now. 2007-02-03: version 1.3.5 * Bug fixes. * More tools for editing configuration from within innotop. * Filters and transformations are constrained to valid values. * Support for colorizing rows. * Sorting by multiple columns. * Compress headers when display is very wide. * Stabilize and limit column widths. * Check config file formats when upgrading so upgrades go smoothly. * Make D mode handle many connections at once. * Extract simple expressions from data sets in column src property. This makes innotop more awk-ish. 2007-01-16: version 1.3 * Readline support. * Can be used unattended, or in a pipe-and-filter mode where it outputs tab-separated data to standard output. * You can specify a config file on the command line. Config files can be marked read-only. * Monitor multiple servers simultaneously. * Server groups to help manage many servers conveniently. * Monitor master/slave status, and control slaves. * Columns can have user-defined expressions as their data sources. * Better configuration tools. * InnoDB status information is merged into SHOW VARIABLES and SHOW STATUS information, so you can access it all together. * High-precision time support in more places. * Lots of tweaks to make things display more readably and compactly. * Column transformations and filters. 2007-01-16: version 1.0.1 * NOTE: innotop is now hosted at Sourceforge, in Subversion not CVS. The new project homepage is http://sourceforge.net/projects/innotop/ * Tweak default T/Q mode sort columns to match what people expect. * Fix broken InnoDBParser.pm documentation (and hence man page). 2007-01-06: version 1.0 * NOTE: innotop is now hosted at Sourceforge, in Subversion not CVS. The new project homepage is http://sourceforge.net/projects/innotop/ * Prevent control characters from freaking terminal out. * Set timeout to keep busy servers from closing connection. * There is only one InnoDB insert buffer. * Make licenses clear and consistent. 2006-11-14: innotop 0.1.160, InnoDBParser version 1.69 * Support for ANSI color on Microsoft Windows (more readable, compact display; thanks Gisbert W. Selke). * Better handling of $ENV{HOME} on Windows. * Added a LICENSE file to the package as per Gentoo bug: http://bugs.gentoo.org/show_bug.cgi?id=147600 2006-11-11: innotop 0.1.157, InnoDBParser version 1.69 * Add Microsoft Windows support. 2006-10-19: innotop 0.1.154, InnoDBParser version 1.69 * Add O (Open Tables) mode * Add some more checks to handle incomplete InnoDB status information 2006-09-30: innotop 0.1.152, InnoDBParser version 1.69 * Figured out what was wrong with package $VERSION variable: it wasn't after the package declaration! 2006-09-28: innotop 0.1.152, InnoDBParser version 1.67 * Make more efforts towards crash-resistance and tolerance of completely messed-up inputs. If innotop itself is broken, it is now much harder to tell, because it just keeps on running without complaining. * Fix a small bug parsing out some information and displaying it. 2006-09-05: innotop 0.1.149, InnoDBParser version 1.64 * Try to find and eliminate any parsing code that assumes pattern matches will succeed. 2006-09-05: innotop 0.1.149, InnoDBParser version 1.62 * Make innotop crash-resistant, so I can declare it STABLE finally. * Instead of using SQL conditional comments, detect MySQL version. 2006-08-22: innotop 0.1.147, InnoDBParser version 1.60 * Fix some innotop bugs with undefined values, bad formatting etc. 2006-08-19: innotop 0.1.146, InnoDBParser version 1.60 * Make innotop handle some unexpected NULL values in Q mode. * Add OS wait information to W mode, so it is now "everything that waits." * Center section captions better. * Make R mode more readable and compact. * Make InnoDBParser parse lock waits even when they've been waiting 0 secs. 2006-08-12: innotop 0.1.139, InnoDBParser version 1.59 * Add more documentation * Tweak V mode to show more info in less space. * Fix a bug in G mode. 2006-08-10: innotop 0.1.132, InnoDBParser version 1.58 * Handle yet more types of FK error... it will never end! * Handle some special cases when DEADLOCK info truncated * Add a bit more FK info to F mode in innotop * More tests added to the test suite 2006-08-07: innotop 0.1.131, InnoDBParser version 1.55 * Fix another issue with configuration * Handle another type of FK error 2006-08-03: innotop 0.1.130, InnoDBParser version 1.54 * Fix an issue loading config file * Add heap_no to 'D' (InnoDB Deadlock) mode to ease deadlock debugging. 2006-08-02: innotop 0.1.128, InnoDBParser version 1.54 * Parse lock wait information from the TRANSACTION section. * Even more OS-specific parsing... pain in the butt... * Add 'W' (InnoDB Lock Wait) mode. * Fix some minor display issues with statusbar. 2006-08-02: innotop 0.1.125, InnoDBParser version 1.50 * Don't try to get references to Perl built-in functions like time() * Handle more OS-specific variations of InnoDB status text * Add some more information to various places in innotop 2006-08-01: innotop 0.1.123, InnoDBParser version 1.47 * Enhance S and G modes: clear screen and re-print headers * Don't crash when deadlock data is truncated * Make Analyze mode say how to get back to whatever you came from * Display 'nothing to display' when there is nothing * Add ability to read InnoDB status text from a file (mostly helps test) * Add table of Wait Array Information in Row Op/Semaphore mode * Add table of lock information in InnoDB deadlock mode * Ensure new features in upgrades don't get masked by existing config files * Tweak default column choices for T mode * Enhance foreign key parsing * Enhance physical record and data tuple parsing * Enhance lock parsing (handle old-style and new-style formats) 2006-07-24: innotop 0.1.112, InnoDBParser version 1.36 * InnoDBParser enhancements for FK error messages. * A fix to innotop to prevent it from crashing while trying to display a FK error message. * Some minor cosmetic changes to number formatting in innotop. 2006-07-22: innotop 0.1.106, InnoDBParser version 1.35 * InnoDBParser is much more complete and accurate. * Tons of bug fixes. * Add partitions to EXPLAIN mode. * Enhance Q mode header, add T mode header. * Share some configuration variables across modes. * Add formatted time columns to Q, T modes. * Add command-line argument parsing. * Turn off echo when asking for password. * Add option to specify port when connecting. * Let display-optimized-query display multiple notes. * Lots of small improvements, such as showing more info in statusbar. 2006-07-02: innotop 0.1.74, InnoDBParser version 1.24 * Initial release for public consumption.