Sunday, July 24, 2011

Week 9 report

This week did quite turn out as I planned to but ended with good results nonetheless.
An unusually big amount of time I had to invest in tracking down a series of bugs.
For the CSS Sprites I built last week, I had to rewrite PMA_linkOrButton() which is a core function of phpMyAdmin, so that took quite a while as well. But in the progress I was able to fix a bug and make the code cleaner.
I still didn't find the time to improve the settings import/export and IE compatibility.

But apart from that I have built a 'Query analyzer' Dialog that is reachable through clicking 'SELECT' - Statements in the Log Table. It allows one to get profiling and 'EXPLAIN' information about that query. I have also built a very simple Javascript MySQL Formatter do display the query nicely in an editable area, so one can also tweak the query and check for execution time changes.

And the last addition was another possibility to filter the log data. If enabled, it removes variable data in WHERE statements with regexp magic, then regroups the queries. So for example if you have a user table that has a name and user id column and your code does hundreds of queries to get the name of different user ids, these queries will be grouped together into one.

And finally I have now a concrete idea on how to build the Advisory/Suggestion system.
- I will add a few advisories inside the query analyzer dialog, using the profiling and explain information.
- On the 'Status/Server variables' Tab I will add a button that allows the user to start a variable analyzer that throws out suggestions for the server variables based on the values of the status variables.

Once that is done, my GSoC project is completed :-)

What I made this week
- 'Query Analyzer' - Dialog. Pretty prints the query, shows profiling information, shows EXPLAIN information
- Filter: Group queries, ignoring the variable data
- Lots of bug fixing
- More work on CSS Sprites, also now documented on the wiki

What I will do next week
- Hopefully get to the import/export part
- Advisory system
- [Edit 26.07] I forgot that I still need to implement the chart editing feature. It should allow one to rename the chart title and series.
- [Edit 28.07] I also forgot that I still need to fix the appearing empty spaces in the chart grid when changing columns count

No comments:

Post a Comment