Sunday, June 26, 2011

Week 5 report

Little to report this week. I've again fixed a lot of bugs and visual issues on my existing code, such as:

  • For live charting there was a 'race condition' bug. When the user changed the chart refresh rate while an ajax request is in progress, it would the ajax requests would start twice each interval. 
  • For users where client and server are in a different timezone the chart did not work. I fixed this by always using the server time. 
  • And as planned, I have done a considerable amount of research on how to build a query optimizer. I came to the conclusion that I will build a tool similar to the MySQL Query optimizer from Oracle.
    And finally, I have already started coding this tool this week.


So my plan for the next few weeks is to build:

  • A page where the user can monitor as many variables as he wants. It will offer a UI to add/remove charts.
  • If the db server is local, the user can also select to display cpu usage and memory usage
  • I want to have one or several possibilities to display queries for a certain timeframe, extracted from the general_log and/or slow_query log.
  • Either some sort of data recording or a play/pause button + zoom feature
Having such functionality should allow one to systematically identify badly performing queries. 
Although it seems so obvious now to build a query optimizer in this way, it took me quite a lot of thinking to figure this out. So I'm glad I've accomplished that this week. 

No comments:

Post a Comment