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 se...@apache.org on 2006/05/04 02:30:57 UTC

svn commit: r399502 - in /jakarta/jmeter/branches/rel-2-1/src/core/org/apache/jmeter: gui/MainFrame.java threads/JMeterThread.java

Author: sebb
Date: Wed May  3 17:30:57 2006
New Revision: 399502

URL: http://svn.apache.org/viewcvs?rev=399502&view=rev
Log:
Show active / total threads in Menu bar

Modified:
    jakarta/jmeter/branches/rel-2-1/src/core/org/apache/jmeter/gui/MainFrame.java
    jakarta/jmeter/branches/rel-2-1/src/core/org/apache/jmeter/threads/JMeterThread.java

Modified: jakarta/jmeter/branches/rel-2-1/src/core/org/apache/jmeter/gui/MainFrame.java
URL: http://svn.apache.org/viewcvs/jakarta/jmeter/branches/rel-2-1/src/core/org/apache/jmeter/gui/MainFrame.java?rev=399502&r1=399501&r2=399502&view=diff
==============================================================================
--- jakarta/jmeter/branches/rel-2-1/src/core/org/apache/jmeter/gui/MainFrame.java (original)
+++ jakarta/jmeter/branches/rel-2-1/src/core/org/apache/jmeter/gui/MainFrame.java Wed May  3 17:30:57 2006
@@ -71,7 +71,7 @@
  */
 public class MainFrame extends JFrame implements TestListener, Remoteable {
 
-	/** The menu bar. */
+    /** The menu bar. */
 	private JMeterMenuBar menuBar;
 
 	/** The main panel where components display their GUIs. */
@@ -104,6 +104,9 @@
 	/** A message dialog shown while JMeter threads are stopping. */
 	private JDialog stoppingMessage;
 
+    private JLabel totalThreads;
+    private JLabel activeThreads;
+    
 	/**
 	 * Create a new JMeter frame.
 	 * 
@@ -123,6 +126,9 @@
 		runningIndicator.setMargin(new Insets(0, 0, 0, 0));
 		runningIndicator.setBorder(BorderFactory.createEmptyBorder());
 
+        totalThreads = new JLabel("0");
+        activeThreads = new JLabel("0");
+        
 		tree = makeTree(treeModel, treeListener);
 
 		GuiPackage.getInstance().setMainFrame(this);
@@ -256,6 +262,15 @@
 		});
 	}
 
+    public void updateCounts() {
+        SwingUtilities.invokeLater(new Runnable() {
+            public void run() {
+                activeThreads.setText(Integer.toString(JMeterContextService.getNumberOfThreads()));
+                totalThreads.setText(Integer.toString(JMeterContextService.getTotalThreads()));
+            }
+        });
+    }
+
 	/***************************************************************************
 	 * !ToDo (Method description)
 	 * 
@@ -298,6 +313,8 @@
 	public void testStarted(String host) {
 		hosts.add(host);
 		runningIndicator.setIcon(runningIcon);
+        activeThreads.setText("0");
+        totalThreads.setText("0");
 		menuBar.setRunning(true, host);
 	}
 
@@ -329,6 +346,8 @@
 			stoppingMessage.dispose();
 			stoppingMessage = null;
 		}
+        activeThreads.setText("0");
+        totalThreads.setText("0");
 	}
 
 	/* Implements TestListener#testIterationStart(LoopIterationEvent) */
@@ -372,7 +391,11 @@
 		Box toolPanel = new Box(BoxLayout.X_AXIS);
 		toolPanel.add(Box.createRigidArea(new Dimension(10, 15)));
 		toolPanel.add(Box.createGlue());
-		toolPanel.add(runningIndicator);
+        toolPanel.add(activeThreads);
+        toolPanel.add(new JLabel(" / "));
+        toolPanel.add(totalThreads);
+        toolPanel.add(Box.createRigidArea(new Dimension(10, 15)));
+        toolPanel.add(runningIndicator);
 		return toolPanel;
 	}
 

Modified: jakarta/jmeter/branches/rel-2-1/src/core/org/apache/jmeter/threads/JMeterThread.java
URL: http://svn.apache.org/viewcvs/jakarta/jmeter/branches/rel-2-1/src/core/org/apache/jmeter/threads/JMeterThread.java?rev=399502&r1=399501&r2=399502&view=diff
==============================================================================
--- jakarta/jmeter/branches/rel-2-1/src/core/org/apache/jmeter/threads/JMeterThread.java (original)
+++ jakarta/jmeter/branches/rel-2-1/src/core/org/apache/jmeter/threads/JMeterThread.java Wed May  3 17:30:57 2006
@@ -28,6 +28,7 @@
 import org.apache.jmeter.engine.StandardJMeterEngine;
 import org.apache.jmeter.engine.event.LoopIterationEvent;
 import org.apache.jmeter.engine.event.LoopIterationListener;
+import org.apache.jmeter.gui.GuiPackage;
 import org.apache.jmeter.processor.PostProcessor;
 import org.apache.jmeter.samplers.SampleEvent;
 import org.apache.jmeter.samplers.SampleResult;
@@ -321,6 +322,7 @@
 		rampUpDelay();
 		log.info("Thread " + Thread.currentThread().getName() + " started");
         JMeterContextService.incrNumberOfThreads();
+        GuiPackage.getInstance().getMainFrame().updateCounts();
         threadGroup.incrNumberOfThreads();
 		/*
 		 * Setting SamplingStarted before the contollers are initialised allows
@@ -351,7 +353,8 @@
 		Traverser shut = new Traverser(false);
 		testTree.traverse(shut);
 		JMeterContextService.decrNumberOfThreads();
-		threadGroup.decrNumberOfThreads();
+        GuiPackage.getInstance().getMainFrame().updateCounts();
+        threadGroup.decrNumberOfThreads();
 	}
 
 	private static class Traverser implements HashTreeTraverser {



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