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 ms...@apache.org on 2003/03/26 16:19:24 UTC

cvs commit: jakarta-jmeter/src/core/org/apache/jmeter/threads JMeterThread.java ListenerNotifier.java

mstover1    2003/03/26 07:19:23

  Modified:    bin      jmeter.properties
               src/components/org/apache/jmeter/visualizers
                        GraphVisualizer.java SplineVisualizer.java
                        StatVisualizer.java TableVisualizer.java
               src/core/org/apache/jmeter/engine StandardJMeterEngine.java
               src/core/org/apache/jmeter/threads JMeterThread.java
                        ListenerNotifier.java
  Log:
  Changing listener notifier to not use a separate thread.  Is simpler this way, and somewhat faster.  Fixed some synchronization issues in visualizers
  
  Revision  Changes    Path
  1.61      +1 -0      jakarta-jmeter/bin/jmeter.properties
  
  Index: jmeter.properties
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/bin/jmeter.properties,v
  retrieving revision 1.60
  retrieving revision 1.61
  diff -u -r1.60 -r1.61
  --- jmeter.properties	18 Mar 2003 21:36:01 -0000	1.60
  +++ jmeter.properties	26 Mar 2003 15:19:22 -0000	1.61
  @@ -78,6 +78,7 @@
   log_level.jmeter.protocol.ftp=WARN
   log_level.jmeter.protocol.jdbc=WARN
   log_level.jmeter.protocol.java=WARN
  +log_leve.jmeter.elements.properties=WARN
   log_level.jorphan=ERROR
   
   #Log file for log messages.
  
  
  
  1.8       +3 -3      jakarta-jmeter/src/components/org/apache/jmeter/visualizers/GraphVisualizer.java
  
  Index: GraphVisualizer.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/components/org/apache/jmeter/visualizers/GraphVisualizer.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- GraphVisualizer.java	7 Feb 2003 04:18:53 -0000	1.7
  +++ GraphVisualizer.java	26 Mar 2003 15:19:23 -0000	1.8
  @@ -142,7 +142,7 @@
       /****************************************
        * !ToDo (Method description)
        ***************************************/
  -    public void updateGui()
  +    public synchronized void updateGui()
       {
           graph.updateGui();
           noSamplesField.setText(Long.toString(model.getSampleCount()));
  @@ -159,7 +159,7 @@
        *
        *@param s  !ToDo (Parameter description)
        ***************************************/
  -    public void updateGui(Sample s)
  +    public synchronized void updateGui(Sample s)
       {
           // We have received one more sample
           graph.updateGui(s);
  
  
  
  1.6       +14 -16    jakarta-jmeter/src/components/org/apache/jmeter/visualizers/SplineVisualizer.java
  
  Index: SplineVisualizer.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/components/org/apache/jmeter/visualizers/SplineVisualizer.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- SplineVisualizer.java	3 Feb 2003 14:29:00 -0000	1.5
  +++ SplineVisualizer.java	26 Mar 2003 15:19:23 -0000	1.6
  @@ -54,7 +54,6 @@
    */
   package org.apache.jmeter.visualizers;
   
  -
   import java.awt.BorderLayout;
   import java.awt.Color;
   import java.awt.Dimension;
  @@ -76,7 +75,6 @@
   import org.apache.jmeter.visualizers.gui.AbstractVisualizer;
   import org.apache.jorphan.gui.layout.VerticalLayout;
   
  -
   /****************************************
    * This class implements a statistical analyser that takes samples to process a
    * Spline interpolated curve. Currently, it tries to look mostly like the
  @@ -86,8 +84,7 @@
    *@created   $Date$
    *@version   0.9.1
    ***************************************/
  -public class SplineVisualizer extends AbstractVisualizer implements ImageVisualizer,
  -        GraphListener, Clearable
  +public class SplineVisualizer extends AbstractVisualizer implements ImageVisualizer, GraphListener, Clearable
   {
   
       /****************************************
  @@ -276,10 +273,13 @@
       public void updateGui()
       {
           repaint();
  -        setMinimum(model.getMinimum());
  -        setMaximum(model.getMaximum());
  -        setAverage(model.getAverage());
  -        setIncoming(model.getCurrent());
  +        synchronized (this)
  +        {
  +            setMinimum(model.getMinimum());
  +            setMaximum(model.getMaximum());
  +            setAverage(model.getAverage());
  +            setIncoming(model.getCurrent());
  +        }
       }
   
       /****************************************
  @@ -454,8 +454,7 @@
                   g.setColor(this.getBackground());
                   g.fillRect(0, 0, width, height);
                   g.setColor(WAITING_COLOR);
  -                g.drawString(JMeterUtils.getResString("spline_visualizer_waitingmessage"),
  -                        (width - 120) / 2, height - (height - 12) / 2);
  +                g.drawString(JMeterUtils.getResString("spline_visualizer_waitingmessage"), (width - 120) / 2, height - (height - 12) / 2);
                   return;
               }
   
  @@ -474,7 +473,7 @@
                   lastHeight = height;
               }
   
  -            this.plot = model.getDataCurve().getPlots(width, height);// rounds!
  +            this.plot = model.getDataCurve().getPlots(width, height); // rounds!
   
               int n = plot.length;
               int curY = plot[0];
  @@ -488,4 +487,3 @@
           }
       }
   }
  -
  
  
  
  1.10      +11 -11    jakarta-jmeter/src/components/org/apache/jmeter/visualizers/StatVisualizer.java
  
  Index: StatVisualizer.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/components/org/apache/jmeter/visualizers/StatVisualizer.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- StatVisualizer.java	3 Feb 2003 14:29:00 -0000	1.9
  +++ StatVisualizer.java	26 Mar 2003 15:19:23 -0000	1.10
  @@ -227,7 +227,7 @@
        *
        *@param s  !ToDo (Parameter description)
        ***************************************/
  -    public void updateGui(RunningSample s)
  +    public synchronized void updateGui(RunningSample s)
       {
           myStatTableModel.rowChanged(s.getIndex());
       }
  
  
  
  1.6       +12 -13    jakarta-jmeter/src/components/org/apache/jmeter/visualizers/TableVisualizer.java
  
  Index: TableVisualizer.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/components/org/apache/jmeter/visualizers/TableVisualizer.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- TableVisualizer.java	3 Feb 2003 14:29:00 -0000	1.5
  +++ TableVisualizer.java	26 Mar 2003 15:19:23 -0000	1.6
  @@ -54,7 +54,6 @@
    */
   package org.apache.jmeter.visualizers;
   
  -
   import java.awt.BorderLayout;
   import java.awt.Color;
   import java.awt.FlowLayout;
  @@ -76,7 +75,6 @@
   import org.apache.jmeter.visualizers.gui.AbstractVisualizer;
   import org.apache.jorphan.gui.layout.VerticalLayout;
   
  -
   /****************************************
    * This class implements a statistical analyser that calculates both the average
    * and the standard deviation of the sampling process. The samples are displayed
  @@ -86,8 +84,7 @@
    *@created   March 10, 2002
    *@version   $Revision$
    ***************************************/
  -public class TableVisualizer extends AbstractVisualizer
  -        implements GraphListener, Clearable
  +public class TableVisualizer extends AbstractVisualizer implements GraphListener, Clearable
   {
       private TableDataModel model = null;
       private JTable table = null;
  @@ -127,10 +124,15 @@
           table.tableChanged(new TableModelEvent(model));
           tableScrollPanel.revalidate();
           tableScrollPanel.repaint();
  -        noSamplesField.setText(Long.toString(model.getSampleCount()));
  -        dataField.setText(Long.toString(model.getCurrentData()));
  -        averageField.setText(Long.toString(model.getCurrentAverage()));
  -        deviationField.setText(Long.toString(model.getCurrentDeviation()));
  +        updateTextFields();
  +    }
  +
  +    protected synchronized void updateTextFields()
  +    {
  +            noSamplesField.setText(Long.toString(model.getSampleCount()));
  +            dataField.setText(Long.toString(model.getCurrentData()));
  +            averageField.setText(Long.toString(model.getCurrentAverage()));
  +            deviationField.setText(Long.toString(model.getCurrentDeviation()));
       }
   
       /****************************************
  @@ -155,10 +157,7 @@
           table.tableChanged(new TableModelEvent(model));
           tableScrollPanel.revalidate();
           tableScrollPanel.repaint();
  -        noSamplesField.setText(Long.toString(model.getSampleCount()));
  -        dataField.setText(Long.toString(model.getCurrentData()));
  -        averageField.setText(Long.toString(model.getCurrentAverage()));
  -        deviationField.setText(Long.toString(model.getCurrentDeviation()));
  +        updateTextFields();
       }
   
       /****************************************
  
  
  
  1.18      +6 -6      jakarta-jmeter/src/core/org/apache/jmeter/engine/StandardJMeterEngine.java
  
  Index: StandardJMeterEngine.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/engine/StandardJMeterEngine.java,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- StandardJMeterEngine.java	14 Mar 2003 21:15:36 -0000	1.17
  +++ StandardJMeterEngine.java	26 Mar 2003 15:19:23 -0000	1.18
  @@ -163,7 +163,7 @@
   				notifyTestListenersOfStart();
   			}
   			notifier = new ListenerNotifier();
  -			notifier.start();
  +			//notifier.start();
   			while(iter.hasNext())
   			{
   				ThreadGroup group = (ThreadGroup)iter.next();
  @@ -238,9 +238,9 @@
   
   	protected void notifyTestListenersOfEnd()
   	{
  -		notifier.stop();
  +		//notifier.stop();
   		Iterator iter = testListeners.getSearchResults().iterator();
  -		while(!notifier.isStopped())
  +		/*while(!notifier.isStopped())
   		{
   			try
   			{
  @@ -250,7 +250,7 @@
   			{
   			}
   			log.debug("Waiting for notifier thread to stop");
  -		}
  +		}*/
   		while(iter.hasNext())
   		{
   			if(host == null)
  
  
  
  1.19      +3 -3      jakarta-jmeter/src/core/org/apache/jmeter/threads/JMeterThread.java
  
  Index: JMeterThread.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/threads/JMeterThread.java,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- JMeterThread.java	18 Mar 2003 21:36:03 -0000	1.18
  +++ JMeterThread.java	26 Mar 2003 15:19:23 -0000	1.19
  @@ -270,7 +270,7 @@
       {
           SampleEvent event = new SampleEvent(result, (String) controller.getProperty(TestElement.NAME));
           compiler.sampleOccurred(event);
  -        notifier.addLast(event, listeners);
  +        notifier.notifyListeners(event, listeners);
   
       }
       public void setInitialDelay(int delay)
  
  
  
  1.12      +2 -9      jakarta-jmeter/src/core/org/apache/jmeter/threads/ListenerNotifier.java
  
  Index: ListenerNotifier.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/threads/ListenerNotifier.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- ListenerNotifier.java	11 Mar 2003 19:04:19 -0000	1.11
  +++ ListenerNotifier.java	26 Mar 2003 15:19:23 -0000	1.12
  @@ -27,7 +27,7 @@
    *
    * @see org.apache.jmeter.samplers.SampleListener
    */
  -public class ListenerNotifier implements Runnable {
  +public class ListenerNotifier {
       private static Logger log =
           LoggingManager.getLoggerFor(JMeterUtils.ENGINE);
   
  @@ -62,13 +62,6 @@
           BufferUtils.synchronizedBuffer(new UnboundedFifoBuffer());
   
   
  -    /**
  -     * Starts running the ListenerNotifier thread.
  -     */
  -    public void start() {
  -        isStopped = false;
  -        new Thread(this).start();
  -    }
   
       /**
        * Stops the ListenerNotifier thread.  The thread will continue processing
  @@ -213,7 +206,7 @@
        *                  This list must not be null and must contain only
        *                  SampleListener elements.
        */
  -    private void notifyListeners(SampleEvent res, List listeners) {
  +    public void notifyListeners(SampleEvent res, List listeners) {
           Iterator iter = listeners.iterator();
           while (iter.hasNext()) {
               ((SampleListener) iter.next()).sampleOccurred(res);
  
  
  

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