Wednesday, November 12, 2008

Monday, November 3, 2008

New PERL Modules released

Two new PERL modules have been released.
  • Getopt::XML
  • XML::TreePP::XMLPath
These modules were created in the process of developing other CodePin hosted software projects. They ease the use of XML in configuring an application.

In particular, XML::TreePP::XMLPath (which is NOT Xpath) is created to access XML data at a Subtree level. And Getopt::XML is a wrapper for Getopt::Long to allow for default values of parameters to be inputed into an application as XML. Getopt::XML uses XML::TreePP::XMLPath for accessing the XML data at a subtree level.

So in brief, a programmer can use these modules to have the default values of parameters defined in an XML document, writing that the default values are located at a certain path of the XML document, and then allow those default values to be overwritten by user inputted parameter values.

The modules were written to be general and roundly useful. They are available through a subversion checkout, and as a download.

The PERL Modules are available on CodePin:

Wednesday, October 1, 2008

MPP - working towards version 1.0.4

I have been working on some changes to MPP to aid in using multiple cache files. Out of the box with 1.0.3, one cache file is easily managed. With 1.0.4, I am trying to make it easier to manage multiple cache files. This allows us to use the MPP tools to work with multiple cache files in single command calls.
I am also attempting to improve MPP setup and configuration.

MPP still remains a solution to create a failover scenario for MySQL servers. But I am seeing it can be good for just monitoring groups of MySQL servers participating in a replication ring.

As such, the changes I am working on now will aid us in setting up MPP environments, and monitoring MPP statistics. One tool to be released in 1.0.4 is mpp-monitor which will generate status reports and error reports, plus e-mail the reports out. mpp-monitor has been finished and is available in the MPP Subversion repository. You need only have MIME::Lite installed so it can send e-mail.

For 1.0.4, there will be no updates to MPP's integration with MySQL Proxy. I have been kind of waiting to see what the MySQL Proxy team releases next. As I discussed in the MySQL Proxy Forums, It would be great if we can either launch threads in Lua, or launch a Lua script on the startup command line into a thread, or allow the administrative port to have access to the Lua global variable environment. All these would allow MySQL Proxy to monitor MySQL out-of-bandwidth. As of right now, we monitor MySQL when actual client connections are made. This is what MPP does. It makes a client connection to Proxy and loads its statistics into the Lua global variables. If you are interested, you should read my posts in the MySQL Proxy forums.

MPP is available on CodePin: