JMeter Monitor Notes:

How do I want to use it? I want to be able to periodically get the performance of the webserver and record the results to a separate file. This way I can graph the results to see how the server performs in relationship to the test plan and increasing load.

How should it work? 1. Getting the server status

  1. poll
    1. the monitor would send a request to a servlet/jmx II. the monitor would have a set interval
    B. listen for events
    1. the listener can listen to a specific port, use existing RMI mechanisms or some other messaging system. II. the monitor would not have a set interval III. the server would have to be configured to send the status at a set interval

2. filter the results

  1. the monitor should support the idea of filtering B. the filter should use similar design patterns C. the filter should be configurable with either regexp or a custom filter

3. saving the results

  1. the results should be saved in a separate file B. the results may be transformed to another format

4. displaying the results

  1. performance over time B. desired information in the graph: cpu usage, max threads, min threads, current threads, busy threads, free memory, total memory, max memory, os, server name, VM version, VM vendor, hardware architecture, time stamp C. the graphs should use a generic object defined by a base interface

5. model adapters

  1. provide an XML based mapping mechanism from other formats to JMeter's internal object model so users can define the mapping without writing new code B. provide an interface to parse the status information into internal object model C. provide a concrete implementation of the parse to illustrate how it should be used

Plan of attack

  1. create a new ThreadGroup specifically for monitor like MonitorGroup

  2. make necessary changes to core classes, since ThreadGroup is a class and not "interface+implementation"

  3. StandardJMeterEngine may need changes

  4. go with the poll for the first version
  5. the monitor should be a child of testplan and a sibling of ThreadGroup

  6. the MonitorGroup can have n samplers/controllers

  7. first try extending ThreadGroup and implement SampleListener

AddMonitoring (last edited 2009-09-20 23:32:12 by localhost)