You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jmeter-dev@jakarta.apache.org by wo...@apache.org on 2005/01/11 05:56:02 UTC

cvs commit: jakarta-jmeter/src/monitor/components/org/apache/jmeter/visualizers MonitorPerformancePanel.java MonitorHealthVisualizer.java

woolfel     2005/01/10 20:56:02

  Modified:    src/monitor/components/org/apache/jmeter/visualizers
                        MonitorPerformancePanel.java
                        MonitorHealthVisualizer.java
  Log:
  updated the visualizer so it can save the statistics. also fixed a bug
  with the performance panel so that it checks the node to make sure
  it is not null.
  
  peter
  
  Revision  Changes    Path
  1.8       +18 -17    jakarta-jmeter/src/monitor/components/org/apache/jmeter/visualizers/MonitorPerformancePanel.java
  
  Index: MonitorPerformancePanel.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/monitor/components/org/apache/jmeter/visualizers/MonitorPerformancePanel.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- MonitorPerformancePanel.java	24 Dec 2004 17:12:55 -0000	1.7
  +++ MonitorPerformancePanel.java	11 Jan 2005 04:56:02 -0000	1.8
  @@ -245,22 +245,23 @@
   	 * MonitorAccumModel will call this method to notify
   	 * the component data has changed.
   	 */
  -	public void addSample(MonitorModel model){
  -		if (!SERVERMAP.containsKey(model.getURL())){
  -			DefaultMutableTreeNode newnode =
  -				new DefaultMutableTreeNode(model);
  -			newnode.setAllowsChildren(false);
  -			SERVERMAP.put(model.getURL(),newnode);
  -			ROOTNODE.add(newnode);
  -			this.TREEPANE.updateUI();
  -		}
  -		DefaultMutableTreeNode node =
  -			(DefaultMutableTreeNode) SERVERTREE.getLastSelectedPathComponent();
  -		Object usrobj = node.getUserObject();
  -		if (usrobj instanceof MonitorModel){
  -			GRAPH.updateGui((MonitorModel)usrobj);
  -		}
  -	}
  +    public synchronized void addSample(MonitorModel model) {
  +        if (!SERVERMAP.containsKey(model.getURL())) {
  +            DefaultMutableTreeNode newnode = new DefaultMutableTreeNode(model);
  +            newnode.setAllowsChildren(false);
  +            SERVERMAP.put(model.getURL(), newnode);
  +            ROOTNODE.add(newnode);
  +            this.TREEPANE.updateUI();
  +        }
  +        DefaultMutableTreeNode node =
  +            (DefaultMutableTreeNode)SERVERTREE.getLastSelectedPathComponent();
  +        if (node != null) {
  +            Object usrobj = node.getUserObject();
  +            if (usrobj instanceof MonitorModel) {
  +                GRAPH.updateGui((MonitorModel)usrobj);
  +            }
  +        }
  +    }
   	
   	/**
   	 * When the user selects a different node in the
  
  
  
  1.8       +24 -20    jakarta-jmeter/src/monitor/components/org/apache/jmeter/visualizers/MonitorHealthVisualizer.java
  
  Index: MonitorHealthVisualizer.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/monitor/components/org/apache/jmeter/visualizers/MonitorHealthVisualizer.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- MonitorHealthVisualizer.java	6 Jan 2005 01:37:59 -0000	1.7
  +++ MonitorHealthVisualizer.java	11 Jan 2005 04:56:02 -0000	1.8
  @@ -27,14 +27,15 @@
   import javax.swing.border.EmptyBorder;
   
   import org.apache.jmeter.gui.util.VerticalPanel;
  -import org.apache.jmeter.reporters.ResultCollector;
  -import org.apache.jmeter.testelement.TestElement;
   
   import org.apache.jmeter.samplers.Clearable;
   import org.apache.jmeter.samplers.SampleResult;
   import org.apache.jmeter.util.JMeterUtils;
   import org.apache.jmeter.visualizers.gui.AbstractVisualizer;
   
  +import org.apache.jorphan.logging.LoggingManager;
  +import org.apache.log.Logger;
  +
   /**
    * For performance reasons, I am using tabs for the
    * visualizers. Since a visualizer is heavy weight,
  @@ -55,18 +56,24 @@
   	private MonitorGraph GRAPH;
   	
   	public static final String BUFFER = "monitor.buffer.size";
  +	private static transient Logger log = LoggingManager.getLoggerForClass();
   	
       /**
        * Constructor for the GraphVisualizer object.
        */
       public MonitorHealthVisualizer()
       {
  -    	MODEL = new MonitorAccumModel();
  -    	GRAPH = new MonitorGraph(MODEL);
  +    	this.isStats = true;
  +		initModel();
       	init();
  -		MODEL.setBufferSize(JMeterUtils.getPropDefault(BUFFER,800));
       }
   
  +	public void initModel(){
  +		MODEL = new MonitorAccumModel();
  +		GRAPH = new MonitorGraph(MODEL);
  +		MODEL.setBufferSize(JMeterUtils.getPropDefault(BUFFER,800));
  +	}
  +	
       public String getLabelResource()
       {
           return "monitor_health_title";
  @@ -79,10 +86,16 @@
   	 * to run for a very long time without eating up
   	 * all the memory.
   	 */
  -	public void add(SampleResult res)
  -	{
  -		MODEL.addSample(res);
  -	}
  +    public void add(SampleResult res) {
  +        MODEL.addSample(res);
  +        try {
  +            collector.recordStats(
  +                this.MODEL.getLastSample().cloneMonitorStats());
  +        } catch (Exception e) {
  +            // for now just swallow the exception
  +            log.debug("StatsModel was null", e);
  +        }
  +    }
   	
   	public Image getImage()
   	{
  @@ -154,7 +167,7 @@
   		VerticalPanel titlePanel = new VerticalPanel();
   		titlePanel.add(createTitleLabel());
   		titlePanel.add(getNamePanel());
  -		titlePanel.add(super.getFilePanel());
  +		titlePanel.add(getFilePanel());
   		return titlePanel;
   	}
   
  @@ -168,13 +181,4 @@
   		this.PERFPANE.clear();
   	}
   	
  -	public TestElement createTestElement()
  -	{
  -		if (collector == null)
  -		{
  -			collector = new ResultCollector();
  -		}
  -		modifyTestElement(collector);
  -		return (TestElement) collector.clone();
  -	}
   }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org