Archive for the ‘Innotop’ tag
If you’ve been holding out for that golden opportunity, now’s a great time to get involved in Maatkit.
Until now I haven’t really made a conscious effort to open-source the decision process and get people involved; Maatkit has been largely driven by so-called “real-world needs,” as perceived through my little lens on the world (and emails from the whole Percona team telling me when something’s wrong). I guess I am likely to remain some kind of benevolent dictator, because I created Maatkit and historically I’m the main hacker. But it doesn’t have to stay that way, and the project and users will be better off if it doesn’t.
So I’ve been trying to break out of the rut of just having some little email exchange with people using the tools, and bring things onto the Maatkit mailing list for discussion and voting. Two mailing lists I’m lurking on (Drizzle and PostgreSQL hackers) have inspired me to do this. And the person who jumped into innotop maintenance set up a whole slew of mailing lists right away, which was also educational for me — it really is beneficial.
Right now if you jump on the mailing list, you can vote on topics such as breaking backwards compatibility with command-line options for the purpose of consistent and easy-to-learn options for the future.
And I have honestly gotten intolerant about the volume of email I deal with, so when someone emails me personally I usually tell them bluntly to take it to the list, so others can learn and contribute, instead of making me the single point of contention in the knowledge-sharing system, and denying others the opportunity to learn.
So — my point is, go participate, and let’s make Maatkit more Open Source, not just Free Software.
The 1.5.2 release of innotop contained two bugs, one very minor. The other was a crash because of the new functionality that aggregates results across many connections. I fixed them and released version 1.6.0, which I consider stable and ready for everyone to use. (My version naming convention for innotop is that even-numbered minor versions are for production use; odd-numbered, such as 1.5.2, are the development branch. That’s why I release them under the innotop-devel package).
What’s ahead for innotop 1.8? Here’s my current road map, some of which is already done:
Features for version 1.8: * A test suite. * Rename the variables the InnoDB parser outputs to match what MySQL has named them. http://dev.mysql.com/doc/refman/5.0/en/server-status-variables.html#option_mysqld_Innodb_buffer_pool_pages_data * Support Google's patches: http://code.google.com/p/google-mysql-tools/wiki/InnodbStatus http://dammit.lt/2007/06/23/mysql-40-google-edition/ * Make InnoDBParser.pm smartly fill in the data it needs by looking in SHOW STATUS and SHOW VARIABLES and realizing if these already provide necessary data. * Efficiency and speed optimizations. Only fetch needed data from servers. * Use SQL instead of all the extract_values stuff. * New configuration screen with less duplicate code that plugins can add to. * Add support for Falcon and solidDB. * Support multiple server connections in all modes. * Support incremental display in all modes. Make incremental display a per-mode configuration setting. * Tentative: Add a new mode for monitoring NDB clusters. * Tentative: usability testing and if necessary, make usability enhancements. * Tentative: Add support for pager if you want to see more than fits on screen. * Tentative: Documentation and built-in help (get help on a key from help screen).
I wrote that roadmap a while ago. I don’t get much feedback on desired features, for the most part (maybe innotop already has too many features?). These are just things I either want to do very badly, such as write a test suite, or think would be nifty or fun, such as adding a pager. Your input is welcome.
This release is part of the unstable 1.5 branch. Its features will ultimately go into the stable 1.6 branch. You can download it from the innotop-devel package.
The major change is I’ve ripped out the W (Lock Waits) mode and enabled innotop to discover not only what a transaction is waiting for, but what it holds too. The new mode that replaces W is L (Locks). My last article goes into more detail on this.