Sounds great. Being able to track the amount of data from requests - even having something like a slow query log but a "large query log" or the likes - would make a BIG difference in tracking down performance issues. Thanks!

        - John


At 4:02 PM +0200 6/16/06, Anders Karlsson wrote:
John!

No, that is not within the scope of this tool. One could imaging that is was possible though, but without some effort. This information is not available in the show processlist, so some other means needs to be figured out. For a seelct one could always reissue the statement (not all statements, but the ones one is interested in) and count the # of rows returned. This is a rather terrible kludge though. The best you get right now is the original SQL text of the last instance of a particular query. In the example below, what is displayed as a query is "SELECT * FROM customer WHERE cust_id = ?", but there is an option to show the last instance of the real query (SELECT * FROM customer WHERE cust_id = 456). This is rather far away from what you are looking for I guess. If I get some idea of where to find this information, I'd be happy to integrate this featuer into an upcoming version of the tool though.

Best regards
Anders Karlsson
John May wrote:
Is there any way with this tool, or some other tool, to monitor the amount of data (in KBytes or the likes) returned by a particular query?

    - John

The first version of MyMonitor is now available in source form on sourceforge and can be downloaded from:
http://sourceforge.net/projects/mymonitor

The reason for this tool is simple, and it's also a bit different from other similar tools (at least the ones I've looked at). The tool gets the output from SHOW PROCESSLIST repeatedly and does some magic to this to count the number of executions and execution time. The difference is in how it handles the SQL statement text. Before somparing the SQL text of a statment to the statements in the previous run of SHOW PROCESSLIST or to the SQL in an internal list of frequently accessed SQL statements, it removes any references to literal values. So the these statements:
SELECT * FROM customer WHERE cust_id = 123;
and
SELECT * FROM customer WHERE cust_id = 123;

Which in SHOW PROCESSLIST is shown as 2 distinct statements are handled as two executions of the same statement: "SELECT * FROM customer WHERE cust_id = ?", which is usually how it works anyway.

The output through ncurses, a bit like "top". The collected statements may also be written to file, and there are a bunch of other settings, and there is also documentation in shape of a User Guide in PDF format.

The current version is considered a beta, so comments on porting are more than welcome. I have so far only run it on a couple of Linux'es, but there is more to come. ncurses library is required, as well as the MySQL Client library of course.

Enjoy, and comments are welcome, I hope this tool will turn out useful

--

-------------------------------------------------------------------
John May : President                  <http://www.pointinspace.com>
Point In Space Internet Solutions             [EMAIL PROTECTED]

      Professional Lasso / PHP / MySQL / FileMaker Pro Hosting


--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to