Details

    • Type: Task
    • Status: Open
    • Priority: Minor
    • Resolution: Unresolved
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None

      Description

      1. Document changes in mytop that are in MariaDB on KB
      2. Submit patches back to upstream mytop
      3. Propose removal of mytop from MariaDB (also if we ship, make sure perl-TermReadKey is Requires: )
      4. Potentially package MariaDB-mytop if upstream doesn't accept it

      Thread reference:
      https://lists.launchpad.net/maria-developers/msg05470.html

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

              Hide
              jb-boin Jean Weisbuch added a comment -

              I should add an option to display/hide the completion of the queries (and possibly a version with the informations about the stages) as it takes space on the screen but isnt useful on all workload (there isnt much use of it on a server doing quick well-indexed queries for example).

              Another detail to "fix" is that the help page show this option : # - toggle short/long numbers (not yet implemented)
              While according to the code, the "#" key is used to activate the debug mode.

              An update to the embedded POD documentation might also be good as there are some new functions and output.
              And should the POD format be dropped in favor of a classical man page for the packaged versions as perl-doc isnt shipped by default on many distros?

              Show
              jb-boin Jean Weisbuch added a comment - I should add an option to display/hide the completion of the queries (and possibly a version with the informations about the stages) as it takes space on the screen but isnt useful on all workload (there isnt much use of it on a server doing quick well-indexed queries for example). Another detail to "fix" is that the help page show this option : # - toggle short/long numbers (not yet implemented) While according to the code, the "#" key is used to activate the debug mode. An update to the embedded POD documentation might also be good as there are some new functions and output. And should the POD format be dropped in favor of a classical man page for the packaged versions as perl-doc isnt shipped by default on many distros?
              Hide
              jb-boin Jean Weisbuch added a comment - - edited

              New revision : https://github.com/jb-boin/mariadb/commit/468c3508960ae78b7f062ad9b5da9c5b7721be40

              • Added dynamic column width for the User and DB columns (can be either set by configuration on ~/.mytop with usercol_with=X and dbcol_width=X or by argument at execution with --usercol_width X and --dbcol_width X or by pressing "w" key while mytop is running). The columns cannot be completely removed (yet) but can be set to a minimum width of their header width (4 and 2 chars).
              • Progression display is now showing the actual stage and max_stage at the beginning of the state column on queries with more than 1 stage.
              • The first letter of the queries (Info column) is now uppercase for a better readability when long string are in the "State" column as there is only a space between the two columns.

              Putting the first query letter uppercase is not be the best way to go but it is the most simple fix at the moment, i will try to make the State column variable in width such as the User and DB ones and try to see if putting the Time and/or % columns between the State and the Info columns would be better in readability without having to add spaces between the columns.

              I will try to add the possibility to completely hide columns and maybe add a removable one for the progress/stage/stage_max.
              Another thing to do would be to show something else than 0.0% of completion on queries where it is unrelevant.

              Another idea would be to put some columns on a variable width, to resize the column to the longest value width if shorter than the column max width to spare some space.

              Show
              jb-boin Jean Weisbuch added a comment - - edited New revision : https://github.com/jb-boin/mariadb/commit/468c3508960ae78b7f062ad9b5da9c5b7721be40 Added dynamic column width for the User and DB columns (can be either set by configuration on ~/.mytop with usercol_with=X and dbcol_width=X or by argument at execution with --usercol_width X and --dbcol_width X or by pressing "w" key while mytop is running). The columns cannot be completely removed (yet) but can be set to a minimum width of their header width (4 and 2 chars). Progression display is now showing the actual stage and max_stage at the beginning of the state column on queries with more than 1 stage. The first letter of the queries (Info column) is now uppercase for a better readability when long string are in the "State" column as there is only a space between the two columns. Putting the first query letter uppercase is not be the best way to go but it is the most simple fix at the moment, i will try to make the State column variable in width such as the User and DB ones and try to see if putting the Time and/or % columns between the State and the Info columns would be better in readability without having to add spaces between the columns. I will try to add the possibility to completely hide columns and maybe add a removable one for the progress/stage/stage_max. Another thing to do would be to show something else than 0.0% of completion on queries where it is unrelevant. Another idea would be to put some columns on a variable width, to resize the column to the longest value width if shorter than the column max width to spare some space.
              Hide
              jb-boin Jean Weisbuch added a comment -

              New revision : https://github.com/jb-boin/mariadb/commit/e31296deacfd0f735c943728c959cb274c7c4e0d

              • New option to hide the progress "%" column when the server doesnt have progress information (MySQL for example) or dynamically using a keystroke (key a) or putting hide_progress=1 in ~/.mytop
              Show
              jb-boin Jean Weisbuch added a comment - New revision : https://github.com/jb-boin/mariadb/commit/e31296deacfd0f735c943728c959cb274c7c4e0d New option to hide the progress "%" column when the server doesnt have progress information (MySQL for example) or dynamically using a keystroke (key a) or putting hide_progress=1 in ~/.mytop
              Hide
              jb-boin Jean Weisbuch added a comment -

              New "major" revision (1.99-maria2) : https://github.com/jb-boin/mariadb/commit/97727315b8ea28926da3ace0441b6e030e4c384e#diff-e90d6da09b3da809d24682974d28cc8c followed by a small fix (no version change) : https://github.com/jb-boin/mariadb/commit/e4dfc4e76d6787920298ff27b1057288561b263d

              In this revision, I merged most of the patches and changes from the latest Ubuntu version of mytop (1.9.1-2 from the 29 Jul 14 : https://launchpad.net/ubuntu/+source/mytop/1.9.1-2).

              The changelog :

              • The version string displayed on the first header line is now of the form "MariaDB 10.0.15 on localhost" instead of "MariaDB on localhost (10.0.15-MariaDB-1~wheezy-log"
              • Now reading the "database" and "password" options on conf files if "db" and "pass" are not set (from Ubuntu)
              • Not using the "test" database by default anymore (from Ubuntu)
              • The display of the load average has been put back but with an additional check that /proc/loadavg exists and only the 1/5/15min avg values are shown unlike upstream which outputs the raw /proc/loadavg.
              • Not loosing a line in height anymore when the Qcache is disabled (from Ubuntu)
              • Only keeping the hostname part of the DNS on the thread host (from Ubuntu)
              • Better spaces/control chars/newline replacement/stripping order
              • Newlines on queries passed to Execute() are now replaced with a space (from Ubuntu)
              • Better alignment on the header for qps/now and Hits/s (from Ubuntu)
              • Many documentation fixes (from Ubuntu)
              • Many typos and indentation fixes


              The main differences with the version shipped by Ubuntu (except the additional features and bugfixes) are :

              • The Ubuntu version uses "Config::IniFiles" to read config files such as ~/.my.cnf while the MariaDB version uses "my_print_defaults".
              • The Ubuntu version uses the key "S" to activate the "SHOW STATUS" mode while the MariaDB version uses "M".
              • Control characters on queries are replaced by "?" chars on the Ubuntu versions while i strip them (to avoid possible problems if queries from mytop are directly copy/pasted)
              • The Ubuntu version get the major release version by doing a substring of the first char of the version string which will be 1 for MariaDB 10+ which makes mytop to use "SHOW STATUS" instead of "SHOW GLOBAL STATUS" as it test if "$db_release > 4".


              The second revision of the day fixes a small display bug that i didnt spot before because it was requiring that the version string was smaller than the maximum allowed which wasn ever the case on my test servers using debian packages version which have a long version string.
              That the load/uptime part of the first line of the header was not fixed at the absolute right of the screen if the total length of the "host" part (which includes the type of server and hostname as well) of the first header line was less than 50 chars, the length of the "host" part is now calculated and not just assumed to be of 50 chars.

              Show
              jb-boin Jean Weisbuch added a comment - New "major" revision (1.99-maria2) : https://github.com/jb-boin/mariadb/commit/97727315b8ea28926da3ace0441b6e030e4c384e#diff-e90d6da09b3da809d24682974d28cc8c followed by a small fix (no version change) : https://github.com/jb-boin/mariadb/commit/e4dfc4e76d6787920298ff27b1057288561b263d In this revision, I merged most of the patches and changes from the latest Ubuntu version of mytop (1.9.1-2 from the 29 Jul 14 : https://launchpad.net/ubuntu/+source/mytop/1.9.1-2 ). The changelog : The version string displayed on the first header line is now of the form "MariaDB 10.0.15 on localhost" instead of "MariaDB on localhost (10.0.15-MariaDB-1~wheezy-log" Now reading the "database" and "password" options on conf files if "db" and "pass" are not set (from Ubuntu) Not using the "test" database by default anymore (from Ubuntu) The display of the load average has been put back but with an additional check that /proc/loadavg exists and only the 1/5/15min avg values are shown unlike upstream which outputs the raw /proc/loadavg. Not loosing a line in height anymore when the Qcache is disabled (from Ubuntu) Only keeping the hostname part of the DNS on the thread host (from Ubuntu) Better spaces/control chars/newline replacement/stripping order Newlines on queries passed to Execute() are now replaced with a space (from Ubuntu) Better alignment on the header for qps/now and Hits/s (from Ubuntu) Many documentation fixes (from Ubuntu) Many typos and indentation fixes – The main differences with the version shipped by Ubuntu (except the additional features and bugfixes) are : The Ubuntu version uses "Config::IniFiles" to read config files such as ~/.my.cnf while the MariaDB version uses "my_print_defaults". The Ubuntu version uses the key "S" to activate the "SHOW STATUS" mode while the MariaDB version uses "M". Control characters on queries are replaced by "?" chars on the Ubuntu versions while i strip them (to avoid possible problems if queries from mytop are directly copy/pasted) The Ubuntu version get the major release version by doing a substring of the first char of the version string which will be 1 for MariaDB 10+ which makes mytop to use "SHOW STATUS" instead of "SHOW GLOBAL STATUS" as it test if "$db_release > 4". – The second revision of the day fixes a small display bug that i didnt spot before because it was requiring that the version string was smaller than the maximum allowed which wasn ever the case on my test servers using debian packages version which have a long version string. That the load/uptime part of the first line of the header was not fixed at the absolute right of the screen if the total length of the "host" part (which includes the type of server and hostname as well) of the first header line was less than 50 chars, the length of the "host" part is now calculated and not just assumed to be of 50 chars.
              Hide
              jb-boin Jean Weisbuch added a comment -

              New "minor" revision (1.99-maria3) : https://github.com/jb-boin/mariadb/commit/8c72d7235c213955f947744a051fd2027c262ba3

              In this revision, I mainly moved tests for server capabilities from the "main loop" to the beginning of the script so they are only executed once.

              The changelog :

              • The tests that checks if the server has INFORMATION_SCHEMA.PROCESSLIST, TIME_MS and STAGE support on the PROCESSLIST from the "main loop" that is executed at every refresh of the thread view to the beginning if the script to be executed only once.
              • The "GetQcacheSummary()" empty and unused function has been removed.
              Show
              jb-boin Jean Weisbuch added a comment - New "minor" revision (1.99-maria3) : https://github.com/jb-boin/mariadb/commit/8c72d7235c213955f947744a051fd2027c262ba3 In this revision, I mainly moved tests for server capabilities from the "main loop" to the beginning of the script so they are only executed once. The changelog : The tests that checks if the server has INFORMATION_SCHEMA.PROCESSLIST, TIME_MS and STAGE support on the PROCESSLIST from the "main loop" that is executed at every refresh of the thread view to the beginning if the script to be executed only once. The " GetQcacheSummary() " empty and unused function has been removed.

                People

                • Assignee:
                  colin Colin Charles
                  Reporter:
                  colin Colin Charles
                • Votes:
                  1 Vote for this issue
                  Watchers:
                  5 Start watching this issue

                  Dates

                  • Created:
                    Updated: