innotop version 1.0 released

I’ve made the 1.0 release I promised yesterday, and it is available for download on the innotop project homepage. I’m now working on version 1.3, which is will become 1.4, which is on the road to version 2.0. I’ve added a project roadmap (link to SVN repository) for versions 1.4, 1.6, 1.8 and 2.0.

Thanks to Sebastien Estienne, who is maintaining the Debian/Ubuntu innotop packages, for helping me decide how to arrange the source repository, branching and tagging practices, and more. He’s right — once I have things set up right, it’s not hard. Go me!

Lenz Grimmer contributed an RPM spec file, which users can use to build an installable RPM directly from the tarball on RPM-based systems. As soon as I verify that I’ve gotten it right, I’ll make an unstable 1.3 release. I’ll write more about it then. I hope at least some people will begin using 1.3 so I get feedback on the (many) changes I’ve made.

A little bit of history

My baby is getting all grown up! Many of you probably don’t realize how innotop started. Here’s the email to my coworkers:

Date: Mon, 05 Jun 2006 09:57:32 -0400
From: Me
To: Greg, John, Alan, Peter
Subject: tool I wrote over the weekend
In my home directory on kenya, in bin/ you will find a little gizmo called innodb-tx-monitor, which I wrote over the weekend. It parses the output of SHOW INNODB STATUS. I am going to maintain and improve this and make it available on my website for the world to use, so if you have any improvements to suggest or code changes to make… it’s definitely a rough draft as of this point, but hey.

I use it like this:

watch --interval=20 innodb-tx-monitor -host usa -user baron -db test -pw password

At some point I want to make it interactive-ish, like mytop, and not have to run within watch, and have a config file so the password isn’t there for others to see on the command line, etc etc. Lots of ideas. Send me yours :-)

I no longer have the code from that try — it was little more than a shell script at that time. But the first version of innotop I committed to my CVS repository is 444 lines, including a sample of the InnoDB monitor output I pasted in for my reference, and InnoDBParser.pm was 394 lines total. It looked like this when I ran it from watch:

screenshot of innotop, CVS revision 1.1

Given the transactions being held open for 23,000 seconds (it still makes me cringe), I’m sure you can see why I was motivated to write this utility.

Today innotop and InnoDBParser.pm are a combined total of over 5,000 lines of code. If I’d written it in anything but Perl, it’d likely be many times that size. Wow!

Happy 1.0, innotop! Here’s to a bright and useful future.

Technorati Tags:No Tags

You might also like:

  1. Version 1.5.2 of the innotop MySQL monitor released
  2. Version 0.1.106 of innotop MySQL/InnoDB monitor released
  3. Maatkit in RHEL and CentOS
  4. Version 0.1.146 of innotop released
  5. innotop version 1.4.3 released

6 Responses to “innotop version 1.0 released”


  1. 1 Eric Ryan Harrison

    Hey, I’m a long time reader of your blog and was wondering if you could shed some light on using MySQL for a circular datastore. I’m trying to figure out how to have MySQL track the amount of rows in a table so that once a threshold is reached, any new insert will automatically delete the lowest numbered row. Since you are the only MySQL guru that I know, I was hoping that you might have some insight into this problem and would love reading an article on how to solve this problem in the most efficient way possible.

    Sorry for posting this as a comment in an unrelated thread, but I couldn’t find your email address anywhere on the site.

    Thanks,
    -E

  2. 2 Xaprb

    Hi Eric, that’s an interesting question. I have a couple ideas. I’ll see if I can write something soon (after I see if the ideas work).

  3. 3 Eric Ryan Harrison

    Thanks, I’ll be looking forward to it.

    -E

  4. 4 bvm

    Congratulations! Nice little tool.

    Small bug report: In Query List mode, it appears to sort the Time column lexically. Fine when all the times are under an hour, but my server has some long-running connections. Funny when “04:26:35″ shows up between “04:25″ and “05:12″…

  5. 5 Xaprb

    Hi, try pressing the ’s’ key and selecting ’secs’ as the sort column. Even though it’s not visible, it can be sorted by. This is defined with a numeric sort, so it’ll work as expected. The artificial distinction between ’secs’ (a number) and ‘time’ (h:m:s) is removed in upcoming versions.

  1. 1 innotop, and the Magic of Complex MySQL at Subnet Blues
Comments are currently closed.