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 2002/05/23 17:47:07 UTC
cvs commit: jakarta-jmeter/src_1/org/apache/jmeter/visualizers Graph.java GraphModel.java GraphVisualizer.java Sample.java TableDataModel.java
mstover1 02/05/23 08:47:07
Modified: . build.xml
bin jmeter.bat jmeter.properties log4j.conf
src/org/apache/jmeter/protocol/http/parser HtmlParser.java
src_1/org/apache/jmeter NewDriver.java
src_1/org/apache/jmeter/config/gui AbstractConfigGui.java
ArgumentsPanel.java
src_1/org/apache/jmeter/engine ClientJMeterEngine.java
RemoteJMeterEngineImpl.java
StandardJMeterEngine.java
src_1/org/apache/jmeter/gui GuiPackage.java
JMeterFileFilter.java MainFrame.java
src_1/org/apache/jmeter/gui/action AbstractAction.java
EditCommand.java RemoteStart.java Start.java
src_1/org/apache/jmeter/gui/tree JMeterTreeListener.java
src_1/org/apache/jmeter/gui/util JMeterMenuBar.java
src_1/org/apache/jmeter/protocol/ftp/config/gui
FtpConfigGui.java
src_1/org/apache/jmeter/protocol/http/config/gui
UrlConfigGui.java
src_1/org/apache/jmeter/protocol/http/control
CookieManager.java
src_1/org/apache/jmeter/protocol/http/gui AuthPanel.java
CookiePanel.java HeaderPanel.java
src_1/org/apache/jmeter/protocol/http/modifier
UserParameterModifier.java
src_1/org/apache/jmeter/protocol/http/parser HtmlParser.java
src_1/org/apache/jmeter/protocol/http/sampler
HTTPSampler.java
src_1/org/apache/jmeter/protocol/java/config JavaConfig.java
src_1/org/apache/jmeter/protocol/java/config/gui
JavaConfigGui.java
src_1/org/apache/jmeter/protocol/java/control/gui
JavaTestSamplerGui.java
src_1/org/apache/jmeter/protocol/jdbc/config/gui
DbConfigGui.java PoolConfigGui.java
SqlConfigGui.java
src_1/org/apache/jmeter/protocol/jdbc/sampler
JDBCSampler.java
src_1/org/apache/jmeter/reporters
AbstractListenerElement.java ResultCollector.java
src_1/org/apache/jmeter/resources messages.properties
messages_ja.properties messages_no.properties
src_1/org/apache/jmeter/samplers RemoteSampleListener.java
RemoteSampleListenerImpl.java
src_1/org/apache/jmeter/testelement AbstractTestElement.java
TestListener.java
src_1/org/apache/jmeter/threads JMeterThread.java
ThreadGroup.java
src_1/org/apache/jmeter/util ClassFinder.java
JMeterUtils.java ListedHashTree.java
src_1/org/apache/jmeter/visualizers Graph.java
GraphModel.java GraphVisualizer.java Sample.java
TableDataModel.java
Added: lib avalon-excalibur-4.1.jar
src_1/org/apache/jmeter JMeter.java help.txt
src_1/org/apache/jmeter/engine ConvertListeners.java
src_1/org/apache/jmeter/gui/util JMeterColor.java
src_1/org/apache/jmeter/samplers Remoteable.java
Removed: src_1/org/apache/jmeter NonGuiDriver.java
Log:
Throughput measured by graph visualizer
No need for setting classpath, no more need for batch files (double-click on ApacheJMeter.jar to start app)
Closer to getting remote testing working in new src_1 branch
Using Excalibur CLI to read command-line arguments
Default build path now uses src_1
Revision Changes Path
1.55 +9 -4 jakarta-jmeter/build.xml
Index: build.xml
===================================================================
RCS file: /home/cvs/jakarta-jmeter/build.xml,v
retrieving revision 1.54
retrieving revision 1.55
diff -u -r1.54 -r1.55
--- build.xml 26 Apr 2002 23:26:12 -0000 1.54
+++ build.xml 23 May 2002 15:47:03 -0000 1.55
@@ -3,7 +3,7 @@
<!-- Where the class files should live -->
<property name="classes.dest.dir" value="bin/classes"/>
<!-- Where the Sources live -->
- <property name="sources.src.dir" value="src"/>
+ <property name="sources.src.dir" value="src_1"/>
<!-- Where the API documentation lives -->
<property name="docs.api.dest.dir" value="docs/api"/>
<property name="version" value="1.7"/>
@@ -24,6 +24,7 @@
<path id="testClasspath">
<path refid="classpath"/>
<pathelement location="./bin/ApacheJMeter.jar"/>
+ <pathelement location="./lib/ext/ApacheJMeter_core.jar"/>
</path>
@@ -166,8 +167,12 @@
<exclude name="*eucJP*"/>
</fileset>
</copy>
+ <copy toFile="${classes.dest.dir}/org/apache/jmeter/help.txt"
+ file="${sources.src.dir}/org/apache/jmeter/help.txt"/>
+ <mkdir dir="./lib/ext/"/>
- <jar jarfile="ApacheJMeter.jar" manifest="${sources.src.dir}/MANIFEST" basedir="${classes.dest.dir}"/>
+ <jar jarfile="./lib/ext/ApacheJMeter_core.jar" excludes="**/NewDriver.class,**/NonGuiDriver.class" manifest="${sources.src.dir}/MANIFEST" basedir="${classes.dest.dir}"/>
+ <jar jarfile="ApacheJMeter.jar" includes="**/NewDriver.class,**/NonGuiDriver.class" manifest="${sources.src.dir}/MANIFEST" basedir="${classes.dest.dir}"/>
</target>
<!--
@@ -246,9 +251,9 @@
</target>
<target name="test" depends="install">
- <java classname="org.apache.jmeter.junit.AllTests" fork="yes" dir="${basedir}">
+ <java classname="org.apache.jmeter.junit.AllTests" fork="yes" dir="${basedir}/bin">
<classpath refid="testClasspath"/>
- <arg value="./bin/jmeter.properties"/>
+ <arg value="./jmeter.properties"/>
</java>
</target>
1.20 +1 -1 jakarta-jmeter/bin/jmeter.bat
Index: jmeter.bat
===================================================================
RCS file: /home/cvs/jakarta-jmeter/bin/jmeter.bat,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- jmeter.bat 8 Nov 2001 17:34:26 -0000 1.19
+++ jmeter.bat 23 May 2002 15:47:03 -0000 1.20
@@ -19,4 +19,4 @@
for %%i in ("..\ext\*.jar") do CALL ..\lcp.bat %%i
-java -cp %LOCALCLASSPATH%;ApacheJMeter.jar -D%LOG4JCONFIG% %HOST% %PORT% org.apache.jmeter.NewDriver %PROP%
+java -cp ApacheJMeter.jar -D%LOG4JCONFIG% %HOST% %PORT% org.apache.jmeter.NewDriver %PROP%
1.38 +2 -2 jakarta-jmeter/bin/jmeter.properties
Index: jmeter.properties
===================================================================
RCS file: /home/cvs/jakarta-jmeter/bin/jmeter.properties,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -r1.37 -r1.38
--- jmeter.properties 9 Mar 2002 00:14:01 -0000 1.37
+++ jmeter.properties 23 May 2002 15:47:03 -0000 1.38
@@ -2,7 +2,7 @@
# Apache JMeter Property file
################################################################################
#Paths to search for classes (";" must be the separator)
-search_paths=ApacheJMeter.jar;classes
+search_paths=../lib/ext
# Netscape HTTP Cookie file
cookies=cookies
@@ -58,7 +58,7 @@
config.tree.icon=leafnode.gif
# Remote Hosts - comma delimited
-#remote_hosts=127.0.0.1
+remote_hosts=127.0.0.1
#Components to not display in JMeter GUI
not_in_menu=Remote Method Configuration,JNDI Configuration,JNDI Lookup Configuration,JNDI Request,Default Controller,org.apache.jmeter.control.DynamicController, org.apache.jmeter.protocol.http.control.Cookie,org.apache.jmeter.protocol.http.control.Authorization,org.apache.jmeter.config.LoginConfig,Header,org.apache.jmeter.protocol.http.config.UrlConfigFull,org.apache.jmeter.protocol.http.config.MultipartUrlConfig
1.4 +1 -3 jakarta-jmeter/bin/log4j.conf
Index: log4j.conf
===================================================================
RCS file: /home/cvs/jakarta-jmeter/bin/log4j.conf,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- log4j.conf 14 Mar 2002 00:43:38 -0000 1.3
+++ log4j.conf 23 May 2002 15:47:03 -0000 1.4
@@ -17,7 +17,5 @@
# Set the appenders for the categories
-log4j.rootCategory=info,Root_Appender
-log4j.category.org.apache.jmeter.gui.tree.NonGuiTree=INFO,File_Appender
-log4j.category.org.apache.jmeter.util.ListedHashTree=INFO,File_Appender
+log4j.rootCategory=INFO,Root_Appender
#log4j.configDebug
1.1 jakarta-jmeter/lib/avalon-excalibur-4.1.jar
<<Binary file>>
1.22 +8 -5 jakarta-jmeter/src/org/apache/jmeter/protocol/http/parser/HtmlParser.java
Index: HtmlParser.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src/org/apache/jmeter/protocol/http/parser/HtmlParser.java,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- HtmlParser.java 29 Apr 2002 17:08:06 -0000 1.21
+++ HtmlParser.java 23 May 2002 15:47:04 -0000 1.22
@@ -144,9 +144,12 @@
}
}
- if(!(ok = ok && matcher.matches(newLink.getDomain(),
- compiler.compile(config.getDomain()))))
- return false;
+ if(config.getDomain() != null || config.getDomain().length() > 0)
+ {
+ if(!(ok = ok && matcher.matches(newLink.getDomain(),
+ compiler.compile(config.getDomain()))))
+ return false;
+ }
if(!(ok = ok && matcher.matches(newLink.getPath(), compiler.compile("[/]*" + config.getPath()))))
return false;
@@ -489,8 +492,8 @@
* !ToDo (Class description)
*
*@author $Author: mstover1 $
- *@created $Date: 2002/04/29 17:08:06 $
- *@version $Revision: 1.21 $
+ *@created $Date: 2002/05/23 15:47:04 $
+ *@version $Revision: 1.22 $
***************************************/
public static class Test extends TestCase
{
1.6 +81 -27 jakarta-jmeter/src_1/org/apache/jmeter/NewDriver.java
Index: NewDriver.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/NewDriver.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- NewDriver.java 21 May 2002 03:36:43 -0000 1.5
+++ NewDriver.java 23 May 2002 15:47:04 -0000 1.6
@@ -54,16 +54,16 @@
*/
package org.apache.jmeter;
-import java.awt.event.ActionEvent;
+import java.io.File;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.net.URLClassLoader;
+import java.util.LinkedList;
+import java.util.List;
+
-import org.apache.jmeter.gui.GuiPackage;
-import org.apache.jmeter.gui.MainFrame;
-import org.apache.jmeter.gui.action.ActionRouter;
-import org.apache.jmeter.gui.action.CheckDirty;
-import org.apache.jmeter.gui.tree.JMeterTreeListener;
-import org.apache.jmeter.gui.tree.JMeterTreeModel;
-import org.apache.jmeter.gui.util.ComponentUtil;
-import org.apache.jmeter.util.JMeterUtils;
/************************************************************
* Title: JMeter Description: Copyright: Copyright (c) 2000 Company: Apache
@@ -75,6 +75,66 @@
public class NewDriver
{
+ private static URLClassLoader loader;
+
+
+
+ static {
+ List jars = new LinkedList();
+ String jmDir = System.getProperty("user.dir")+File.separator+"..";
+ File libDir = new File(jmDir+File.separator+"lib");
+ File extDir = new File(jmDir+File.separator+"lib"+File.separator+"ext");
+ File[] libJars = libDir.listFiles();
+ File[] extJars = extDir.listFiles();
+ StringBuffer classpath = new StringBuffer();
+ for(int i = 0;i < libJars.length;i++)
+ {
+ try
+ {
+ jars.add(new URL("file","",libJars[i].getPath()));
+ classpath.append(System.getProperty("path.separator"));
+ classpath.append(libJars[i].getPath());
+ }
+ catch(MalformedURLException e)
+ {
+ e.printStackTrace();
+ }
+ }
+ for(int i = 0;i < extJars.length;i++)
+ {
+ try
+ {
+ jars.add(new URL("file","",extJars[i].getPath()));
+ classpath.append(System.getProperty("path.separator"));
+ classpath.append(extJars[i].getPath());
+ }
+ catch(MalformedURLException e)
+ {
+ e.printStackTrace();
+ }
+ }
+ System.setProperty("java.class.path",System.getProperty("java.class.path")+classpath.toString());
+ loader = new URLClassLoader((URL[])jars.toArray(new URL[0]));
+ try {
+ loader.loadClass("org.apache.jmeter.gui.GuiPackage");
+ loader.loadClass("org.apache.jmeter.gui.JMeterFileFilter");
+ loader.loadClass("org.apache.jmeter.gui.MainFrame");
+ loader.loadClass("org.apache.jmeter.gui.action.ActionRouter");
+ loader.loadClass("org.apache.jmeter.gui.action.CheckDirty");
+ loader.loadClass("org.apache.jmeter.gui.tree.JMeterTreeListener");
+ loader.loadClass("org.apache.jmeter.gui.tree.JMeterTreeModel");
+ loader.loadClass("org.apache.jmeter.gui.util.ComponentUtil");
+ loader.loadClass("org.apache.jmeter.util.JMeterUtils");
+
+ } catch(ClassNotFoundException e) {
+ e.printStackTrace();
+ }
+ }
+
+ private NewDriver(String[] args)
+ {
+
+ }
/************************************************************
* The main program for the NewDriver class
@@ -82,23 +142,17 @@
*@param args The command line arguments
***********************************************************/
public static void main(String[] args)
- {
- if(args.length > 0 && args[0] != null)
- {
- JMeterUtils.getProperties(args[0]);
- }
-
- JMeterTreeModel treeModel = new JMeterTreeModel();
- JMeterTreeListener treeLis = new JMeterTreeListener(treeModel);
- treeLis.setActionHandler(ActionRouter.getInstance());
- GuiPackage guiPack = GuiPackage.getInstance(treeLis, treeModel);
- MainFrame main = new MainFrame(ActionRouter.getInstance(),
- treeModel, treeLis);
- main.setTitle("Apache JMeter");
- main.setIconImage(JMeterUtils.getImage("jmeter.jpg").getImage());
- ComponentUtil.centerComponentInWindow(main,80);
- main.show();
- ActionRouter.getInstance().actionPerformed(new ActionEvent(
- main,1,CheckDirty.ADD_ALL));
+ {
+ System.setProperty("log4j.configuration",System.getProperty("user.dir")+
+ File.separator+"log4j.conf");
+ try {
+ Class JMeter = loader.loadClass("org.apache.jmeter.JMeter");
+ Object instance = JMeter.newInstance();
+ Method startup = JMeter.getMethod("start",new Class[]{(new String[0]).getClass()});
+ startup.invoke(instance,new Object[]{args});
+
+ } catch(Exception e) {
+ e.printStackTrace();
+ }
}
}
1.1 jakarta-jmeter/src_1/org/apache/jmeter/JMeter.java
Index: JMeter.java
===================================================================
package org.apache.jmeter;
import java.awt.event.ActionEvent;
import java.io.File;
import java.io.FileInputStream;
import org.apache.avalon.excalibur.cli.CLArgsParser;
import org.apache.avalon.excalibur.cli.CLOption;
import org.apache.avalon.excalibur.cli.CLOptionDescriptor;
import org.apache.avalon.excalibur.cli.CLUtil;
import org.apache.jmeter.engine.RemoteJMeterEngine;
import org.apache.jmeter.engine.RemoteJMeterEngineImpl;
import org.apache.jmeter.engine.StandardJMeterEngine;
import org.apache.jmeter.exceptions.IllegalUserActionException;
import org.apache.jmeter.gui.GuiPackage;
import org.apache.jmeter.gui.action.ActionRouter;
import org.apache.jmeter.gui.action.CheckDirty;
import org.apache.jmeter.gui.tree.JMeterTreeListener;
import org.apache.jmeter.gui.tree.JMeterTreeModel;
import org.apache.jmeter.gui.util.ComponentUtil;
import org.apache.jmeter.save.SaveService;
import org.apache.jmeter.util.JMeterUtils;
import org.apache.jmeter.util.ListedHashTree;
/**
* @author mstover
*
* To change this generated comment edit the template variable "typecomment":
* Window>Preferences>Java>Templates.
*/
public class JMeter {
private final static int PROPFILE_OPT = 'p';
private final static int TESTFILE_OPT = 't';
private final static int LOGFILE_OPT = 'l';
private final static int NONGUI_OPT = 'n';
protected static final int HELP_OPT = 'h';
protected static final int VERSION_OPT = 'v';
protected static final int SERVER_OPT = 's';
/**
* Define the understood options. Each CLOptionDescriptor contains:
* - The "long" version of the option. Eg, "help" means that "--help" will
* be recognised.
* - The option flags, governing the option's argument(s).
* - The "short" version of the option. Eg, 'h' means that "-h" will be
* recognised.
* - A description of the option.
*/
protected static final CLOptionDescriptor [] options = new CLOptionDescriptor [] {
new CLOptionDescriptor("help",
CLOptionDescriptor.ARGUMENT_DISALLOWED,
HELP_OPT,
"print this message and exit"),
new CLOptionDescriptor("version",
CLOptionDescriptor.ARGUMENT_DISALLOWED,
VERSION_OPT,
"print the version information and exit"),
new CLOptionDescriptor("propfile",
CLOptionDescriptor.ARGUMENT_REQUIRED,
PROPFILE_OPT,
"the jmeter property file to use"),
new CLOptionDescriptor("testfile",
CLOptionDescriptor.ARGUMENT_REQUIRED,
TESTFILE_OPT,
"the jmeter test(.jmx) file to run"),
new CLOptionDescriptor("logfile",
CLOptionDescriptor.ARGUMENT_REQUIRED,
LOGFILE_OPT,
"the file to log samples to"),
new CLOptionDescriptor("logfile",
CLOptionDescriptor.ARGUMENT_DISALLOWED,
NONGUI_OPT,
"run JMeter in nongui mode"),
new CLOptionDescriptor("server",
CLOptionDescriptor.ARGUMENT_DISALLOWED,
SERVER_OPT,
"run the JMeter server"),
};
public JMeter()
{
}
public void startGui() throws IllegalUserActionException
{
JMeterTreeModel treeModel = new JMeterTreeModel();
JMeterTreeListener treeLis = new JMeterTreeListener(treeModel);
treeLis.setActionHandler(ActionRouter.getInstance());
GuiPackage guiPack = GuiPackage.getInstance(treeLis, treeModel);
org.apache.jmeter.gui.MainFrame main = new org.apache.jmeter.gui.MainFrame(ActionRouter.getInstance(),
treeModel, treeLis);
main.setTitle("Apache JMeter");
main.setIconImage(JMeterUtils.getImage("jmeter.jpg").getImage());
ComponentUtil.centerComponentInWindow(main,80);
main.show();
ActionRouter.getInstance().actionPerformed(new ActionEvent(
main,1,CheckDirty.ADD_ALL));
}
public void start(String[] args)
{
CLArgsParser parser = new CLArgsParser(args, options);
if( null != parser.getErrorString() ) {
System.err.println( "Error: " + parser.getErrorString() );
return;
}
try {
initializeProperties(parser);
if(parser.getArgumentById(VERSION_OPT) != null)
{
System.out.println("Apache JMeter, Copyright (c) 2002 The Apache Software Foundation");
System.out.println("Version "+JMeterUtils.getJMeterVersion());
}
else if(parser.getArgumentById(HELP_OPT) != null)
{
System.out.println(JMeterUtils.getResourceFileAsText("org/apache/jmeter/help.txt"));
}
else if(parser.getArgumentById(SERVER_OPT) != null)
{
startServer();
}
else if(parser.getArgumentById(NONGUI_OPT) == null)
{
startGui();
}
else
{
startNonGui(parser.getArgumentById(TESTFILE_OPT),parser.getArgumentById(LOGFILE_OPT));
}
} catch(IllegalUserActionException e) {
System.out.println("Incorrect Usage");
System.out.println(CLUtil.describeOptions(options).toString());
}
}
private void initializeProperties(CLArgsParser parser) {
if(parser.getArgumentById(PROPFILE_OPT) != null)
{
JMeterUtils.getProperties(parser.getArgumentById(PROPFILE_OPT).getArgument());
}
else
{
JMeterUtils.getProperties(System.getProperty("user.dir")+File.separator+"jmeter.properties");
}
}
public void startServer()
{
try
{
RemoteJMeterEngine engine = new RemoteJMeterEngineImpl();
while(true)
{
Thread.sleep(Long.MAX_VALUE);
}
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
public void startNonGui(CLOption testFile,CLOption logFile) throws IllegalUserActionException
{
JMeter driver = new JMeter();
if(testFile == null)
{
throw new IllegalUserActionException();
}
if(logFile == null)
{
driver.run(testFile.getArgument(),null);
}
else
{
driver.run(testFile.getArgument(),logFile.getArgument());
}
}
private void run(String testFile,String logFile)
{
FileInputStream reader = null;
try
{
File f = new File(testFile);
if(!f.exists() || !f.isFile())
{
println("Could not open " + testFile);
return;
}
reader = new FileInputStream(f);
ListedHashTree tree = SaveService.loadSubTree(reader);
println("Created the tree successfully");
StandardJMeterEngine engine = new StandardJMeterEngine();
engine.configure(tree);
println("Starting the test");
engine.runTest();
}
catch(Exception e)
{
System.out.println("Error in NonGUIDriver" + e.getMessage());
e.printStackTrace();
}
}
private static void println(String str)
{
System.out.println(str);
}
}
1.1 jakarta-jmeter/src_1/org/apache/jmeter/help.txt
Index: help.txt
===================================================================
To run Apache JMeter in GUI mode:
Double-click on the ApacheJMeter.jar file. If this doesn't work, open a command prompt and type:
java -jar ApacheJMeter.jar [-p property-file]
--------------------------------------------------
To run Apache JMeter in NON_GUI mode:
Open a command prompt (or Unix shell) and type:
java -jar ApacheJMeter.jar -n -t test-file [-p property-file] [-l log-file]
--------------------------------------------------
To tell Apache JMeter to use a proxy server:
Open a command prompt and type:
java -Dhttp.proxyHost=your.proxy.host -Dhttps.proxyHost=your.proxy.host -Dhttp.proxyPort=your.proxy.port -Dhttps.proxyPort=your.proxy.port -jar ApacheJMeter.jar
1.4 +0 -0 jakarta-jmeter/src_1/org/apache/jmeter/config/gui/AbstractConfigGui.java
Index: AbstractConfigGui.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/config/gui/AbstractConfigGui.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- AbstractConfigGui.java 21 May 2002 03:36:43 -0000 1.3
+++ AbstractConfigGui.java 23 May 2002 15:47:04 -0000 1.4
@@ -65,7 +65,7 @@
* Title: JMeter Description: Copyright: Copyright (c) 2000 Company: Apache
*
*@author Michael Stover
- *@created $Date: 2002/05/21 03:36:43 $
+ *@created $Date: 2002/05/23 15:47:04 $
*@version 1.0
***************************************/
1.6 +0 -0 jakarta-jmeter/src_1/org/apache/jmeter/config/gui/ArgumentsPanel.java
Index: ArgumentsPanel.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/config/gui/ArgumentsPanel.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- ArgumentsPanel.java 21 May 2002 03:36:43 -0000 1.5
+++ ArgumentsPanel.java 23 May 2002 15:47:04 -0000 1.6
@@ -317,8 +317,8 @@
* Inner class to handle table model calls
*
*@author $Author: mstover1 $
- *@created $Date: 2002/05/21 03:36:43 $
- *@version $Revision: 1.5 $
+ *@created $Date: 2002/05/23 15:47:04 $
+ *@version $Revision: 1.6 $
***************************************/
private class InnerTableModel extends DefaultTableModel
{
1.3 +20 -32 jakarta-jmeter/src_1/org/apache/jmeter/engine/ClientJMeterEngine.java
Index: ClientJMeterEngine.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/engine/ClientJMeterEngine.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ClientJMeterEngine.java 29 Apr 2002 17:08:07 -0000 1.2
+++ ClientJMeterEngine.java 23 May 2002 15:47:04 -0000 1.3
@@ -54,28 +54,29 @@
*/
package org.apache.jmeter.engine;
import java.net.MalformedURLException;
-import java.rmi.*;
-import org.apache.jmeter.util.ListedHashTree;
+import java.rmi.Naming;
+import java.rmi.NotBoundException;
+import java.rmi.RemoteException;
-import java.util.*;
-import org.apache.jmeter.samplers.RemoteSampleListener;
-import org.apache.jmeter.samplers.RemoteSampleListenerImpl;
-import org.apache.jmeter.threads.*;
-import org.apache.jmeter.threads.ThreadGroup;
-import org.apache.jmeter.timers.Timer;
+import org.apache.jmeter.samplers.SampleListener;
+import org.apache.jmeter.testelement.TestListener;
import org.apache.jmeter.util.ListedHashTree;
+import org.apache.jmeter.util.SearchByClass;
+
/************************************************************
* !ToDo (Class description)
*
*@author $Author: mstover1 $
- *@created $Date: 2002/04/29 17:08:07 $
- *@version $Revision: 1.2 $
+ *@created $Date: 2002/05/23 15:47:04 $
+ *@version $Revision: 1.3 $
***********************************************************/
public class ClientJMeterEngine implements JMeterEngine
{
RemoteJMeterEngine remote;
ListedHashTree test;
+ SearchByClass testListeners;
+ ConvertListeners sampleListeners;
/************************************************************
* !ToDo (Constructor description)
@@ -100,6 +101,11 @@
{
this.remote = remote;
}
+
+ protected ListedHashTree getTestTree()
+ {
+ return test;
+ }
public void configure(ListedHashTree testTree)
{
@@ -111,7 +117,10 @@
***********************************************************/
public void runTest()
{
- makeListenersRemote();
+ testListeners = new SearchByClass(TestListener.class);
+ getTestTree().traverse(testListeners);
+ sampleListeners = new ConvertListeners();
+ getTestTree().traverse(sampleListeners);
try
{
remote.configure(test);
@@ -151,27 +160,6 @@
{
ex.printStackTrace();
}
- }
-
- private void makeListenersRemote()
- {
- //convert all listeners in test tree to remote listeners
- /*Iterator iter = groups.iterator();
- while(iter.hasNext())
- {
- ThreadGroup item = (ThreadGroup)iter.next();
- try
- {
- RemoteSampleListener rsl =
- new RemoteSampleListenerImpl(new LinkedList(item.getListeners()));
- item.clearListeners();
- item.addRemoteListener(rsl);
- }
- catch(RemoteException e)
- {
- e.printStackTrace();
- }
- }*/
}
}
1.4 +2 -1 jakarta-jmeter/src_1/org/apache/jmeter/engine/RemoteJMeterEngineImpl.java
Index: RemoteJMeterEngineImpl.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/engine/RemoteJMeterEngineImpl.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- RemoteJMeterEngineImpl.java 21 May 2002 03:36:43 -0000 1.3
+++ RemoteJMeterEngineImpl.java 23 May 2002 15:47:04 -0000 1.4
@@ -53,6 +53,7 @@
* <http://www.apache.org/>.
*/
package org.apache.jmeter.engine;
+import java.net.InetAddress;
import java.rmi.Naming;
import java.rmi.RemoteException;
@@ -78,9 +79,9 @@
***********************************************************/
public RemoteJMeterEngineImpl() throws RemoteException
{
- backingEngine = new StandardJMeterEngine();
try
{
+ backingEngine = new StandardJMeterEngine(InetAddress.getLocalHost().getHostName());
Naming.rebind("JMeterEngine", this);
}
catch(Exception ex)
1.6 +74 -9 jakarta-jmeter/src_1/org/apache/jmeter/engine/StandardJMeterEngine.java
Index: StandardJMeterEngine.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/engine/StandardJMeterEngine.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- StandardJMeterEngine.java 21 May 2002 03:36:43 -0000 1.5
+++ StandardJMeterEngine.java 23 May 2002 15:47:04 -0000 1.6
@@ -54,30 +54,34 @@
*/
package org.apache.jmeter.engine;
-import java.util.*;
-import org.apache.jmeter.samplers.SampleListener;
+import java.rmi.RemoteException;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Set;
+
+import org.apache.jmeter.samplers.RemoteSampleListener;
+import org.apache.jmeter.testelement.TestListener;
import org.apache.jmeter.threads.JMeterThread;
+import org.apache.jmeter.threads.JMeterThreadMonitor;
+import org.apache.jmeter.threads.TestCompiler;
import org.apache.jmeter.threads.ThreadGroup;
-import org.apache.jmeter.timers.Timer;
import org.apache.jmeter.util.ListedHashTree;
import org.apache.jmeter.util.SearchByClass;
-import org.apache.jmeter.threads.TestCompiler;
-import org.apache.jmeter.testelement.TestListener;
-import org.apache.jmeter.threads.JMeterThreadMonitor;
/************************************************************
* !ToDo (Class description)
*
*@author $Author: mstover1 $
- *@created $Date: 2002/05/21 03:36:43 $
- *@version $Revision: 1.5 $
+ *@created $Date: 2002/05/23 15:47:04 $
+ *@version $Revision: 1.6 $
***********************************************************/
public class StandardJMeterEngine implements JMeterEngine,JMeterThreadMonitor
{
Set allThreads;
boolean running = false;
ListedHashTree test;
- SearchByClass testListeners;
+ SearchByClass testListeners,remoteTestListeners;
+ String host;
/************************************************************
* !ToDo (Constructor description)
@@ -86,6 +90,12 @@
{
allThreads = new HashSet();
}
+
+ public StandardJMeterEngine(String host)
+ {
+ this();
+ this.host = host;
+ }
public void configure(ListedHashTree testTree)
{
@@ -106,14 +116,17 @@
running = true;
SearchByClass searcher = new SearchByClass(ThreadGroup.class);
testListeners = new SearchByClass(TestListener.class);
+ remoteTestListeners = new SearchByClass(RemoteSampleListener.class);
getTestTree().traverse(testListeners);
getTestTree().traverse(searcher);
+ getTestTree().traverse(remoteTestListeners);
TestCompiler.initialize();
//for each thread group, generate threads
// hand each thread the sampler controller
// and the listeners, and the timer
JMeterThread[] threads;
Iterator iter = searcher.getSearchResults().iterator();
+ System.out.println("found " + searcher.getSearchResults().size() + " threadgroups");
notifyTestListenersOfStart();
while(iter.hasNext())
{
@@ -124,6 +137,7 @@
threads[i] = new JMeterThread(cloneTree(searcher.getSubTree(group)),this);
threads[i].setInitialDelay((int)(((float)(group.getRampUp() * 1000) /
(float)group.getNumThreads()) * (float)i));
+ threads[i].setThreadName(group.getName()+"-"+(i+1));
Thread newThread = new Thread(threads[i]);
newThread.setName(group.getName()+(i+1));
allThreads.add(threads[i]);
@@ -134,19 +148,70 @@
protected void notifyTestListenersOfStart()
{
+ System.out.println("notifying test listeners");
Iterator iter = testListeners.getSearchResults().iterator();
while(iter.hasNext())
{
- ((TestListener)iter.next()).testStarted();
+ if(host == null)
+ {
+ ((TestListener)iter.next()).testStarted();
+ }
+ else
+ {
+ ((TestListener)iter.next()).testStarted(host);
+ }
+ }
+
+ iter = remoteTestListeners.getSearchResults().iterator();
+ while(iter.hasNext())
+ {
+ try {
+ System.out.println("Notifying a remote listener");
+ if(host == null)
+ {
+ ((RemoteSampleListener)iter.next()).testStarted();
+ }
+ else
+ {
+ ((RemoteSampleListener)iter.next()).testStarted(host);
+ }
+ } catch(RemoteException e) {
+ e.printStackTrace();
+ }
}
}
+
protected void notifyTestListenersOfEnd()
{
Iterator iter = testListeners.getSearchResults().iterator();
while(iter.hasNext())
{
- ((TestListener)iter.next()).testEnded();
+ if(host == null)
+ {
+ ((TestListener)iter.next()).testEnded();
+ }
+ else
+ {
+ ((TestListener)iter.next()).testEnded(host);
+ }
+ }
+
+ iter = remoteTestListeners.getSearchResults().iterator();
+ while(iter.hasNext())
+ {
+ try {
+ if(host == null)
+ {
+ ((RemoteSampleListener)iter.next()).testEnded();
+ }
+ else
+ {
+ ((RemoteSampleListener)iter.next()).testEnded(host);
+ }
+ } catch(RemoteException e) {
+ e.printStackTrace();
+ }
}
}
1.1 jakarta-jmeter/src_1/org/apache/jmeter/engine/ConvertListeners.java
Index: ConvertListeners.java
===================================================================
package org.apache.jmeter.engine;
import java.rmi.RemoteException;
import java.util.Iterator;
import org.apache.jmeter.samplers.RemoteSampleListener;
import org.apache.jmeter.samplers.RemoteSampleListenerImpl;
import org.apache.jmeter.samplers.Remoteable;
import org.apache.jmeter.samplers.SampleListener;
import org.apache.jmeter.testelement.TestListener;
import org.apache.jmeter.util.ListedHashTree;
import org.apache.jmeter.util.ListedHashTreeVisitor;
/**
* @author mstover
*
* To change this generated comment edit the template variable "typecomment":
* Window>Preferences>Java>Templates.
*/
public class ConvertListeners implements ListedHashTreeVisitor {
/**
* @see ListedHashTreeVisitor#addNode(Object, ListedHashTree)
*/
public void addNode(Object node, ListedHashTree subTree) {
Iterator iter = subTree.list().iterator();
while(iter.hasNext())
{
Object item = iter.next();
if(item instanceof Remoteable && (item instanceof TestListener || item instanceof SampleListener))
{
try {
RemoteSampleListener rtl = new RemoteSampleListenerImpl(item);
subTree.replace(item,rtl);
} catch(RemoteException e) {
e.printStackTrace();
}
}
}
}
/**
* @see ListedHashTreeVisitor#subtractNode()
*/
public void subtractNode() {
}
/**
* @see ListedHashTreeVisitor#processPath()
*/
public void processPath() {
}
}
1.7 +25 -4 jakarta-jmeter/src_1/org/apache/jmeter/gui/GuiPackage.java
Index: GuiPackage.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/gui/GuiPackage.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- GuiPackage.java 20 May 2002 13:05:51 -0000 1.6
+++ GuiPackage.java 23 May 2002 15:47:04 -0000 1.7
@@ -54,12 +54,13 @@
*/
package org.apache.jmeter.gui;
-import java.awt.event.ActionEvent;
+import java.util.HashSet;
+import java.util.Set;
import org.apache.jmeter.exceptions.IllegalUserActionException;
-import org.apache.jmeter.gui.action.ActionRouter;
import org.apache.jmeter.gui.tree.JMeterTreeListener;
import org.apache.jmeter.gui.tree.JMeterTreeModel;
+import org.apache.jmeter.samplers.Remoteable;
import org.apache.jmeter.testelement.TestListener;
import org.apache.jmeter.util.ListedHashTree;
@@ -72,11 +73,12 @@
* @version 1.0
*/
-public class GuiPackage implements TestListener
+public class GuiPackage implements TestListener,Remoteable
{
private static GuiPackage guiPack;
private boolean dirty = false;
+ private Set hosts = new HashSet();
private GuiPackage()
{
@@ -110,19 +112,38 @@
public void testStarted(String host)
{
+ hosts.add(host);
+ if("local".equals(host))
+ {
+ getMainFrame().setRunning(true);
+ }
+ else
+ {
+ getMainFrame().setRunning(true,host);
+ }
}
public void testStarted()
{
+ getMainFrame().setRunning(true);
}
public void testEnded()
{
- ActionRouter.getInstance().actionPerformed(new ActionEvent(this,1,"stop"));
+ testEnded("local");
}
public void testEnded(String host)
{
+ hosts.remove(host);
+ if(!("local".equals(host)))
+ {
+ getMainFrame().setRunning(false,host);
+ }
+ if(hosts.size() == 0)
+ {
+ getMainFrame().setRunning(false);
+ }
}
public void addSubTree(ListedHashTree subTree) throws IllegalUserActionException
1.4 +2 -1 jakarta-jmeter/src_1/org/apache/jmeter/gui/JMeterFileFilter.java
Index: JMeterFileFilter.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/gui/JMeterFileFilter.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- JMeterFileFilter.java 1 May 2002 01:39:40 -0000 1.3
+++ JMeterFileFilter.java 23 May 2002 15:47:04 -0000 1.4
@@ -60,7 +60,8 @@
import javax.swing.filechooser.*;
import java.util.Arrays;
-public class JMeterFileFilter extends javax.swing.filechooser.FileFilter {
+public class JMeterFileFilter extends javax.swing.filechooser.FileFilter
+ implements java.io.FileFilter {
String[] exts;
public JMeterFileFilter(String[] extensions)
1.7 +0 -0 jakarta-jmeter/src_1/org/apache/jmeter/gui/MainFrame.java
Index: MainFrame.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/gui/MainFrame.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- MainFrame.java 21 May 2002 03:36:43 -0000 1.6
+++ MainFrame.java 23 May 2002 15:47:04 -0000 1.7
@@ -67,7 +67,7 @@
* Title: JMeter Description: Copyright: Copyright (c) 2000 Company: Apache
*
*@author Michael Stover
- *@created $Date: 2002/05/21 03:36:43 $
+ *@created $Date: 2002/05/23 15:47:04 $
*@version 1.0
***************************************/
@@ -363,8 +363,8 @@
* !ToDo (Class description)
*
*@author $Author: mstover1 $
- *@created $Date: 2002/05/21 03:36:43 $
- *@version $Revision: 1.6 $
+ *@created $Date: 2002/05/23 15:47:04 $
+ *@version $Revision: 1.7 $
***************************************/
private class WindowHappenings extends WindowAdapter
{
1.2 +5 -0 jakarta-jmeter/src_1/org/apache/jmeter/gui/action/AbstractAction.java
Index: AbstractAction.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/gui/action/AbstractAction.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- AbstractAction.java 17 May 2002 01:29:34 -0000 1.1
+++ AbstractAction.java 23 May 2002 15:47:04 -0000 1.2
@@ -5,6 +5,8 @@
import java.util.LinkedList;
import java.util.Set;
+import org.apache.jmeter.engine.StandardJMeterEngine;
+import org.apache.jmeter.gui.GuiPackage;
import org.apache.jmeter.gui.JMeterGUIComponent;
import org.apache.jmeter.testelement.TestElement;
import org.apache.jmeter.util.ListedHashTree;
@@ -42,6 +44,9 @@
}
}
+
+
+
}
1.6 +0 -0 jakarta-jmeter/src_1/org/apache/jmeter/gui/action/EditCommand.java
Index: EditCommand.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/gui/action/EditCommand.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- EditCommand.java 21 May 2002 03:36:43 -0000 1.5
+++ EditCommand.java 23 May 2002 15:47:04 -0000 1.6
@@ -8,7 +8,7 @@
* Title: JMeter Description: Copyright: Copyright (c) 2000 Company: Apache
*
*@author Michael Stover
- *@created $Date: 2002/05/21 03:36:43 $
+ *@created $Date: 2002/05/23 15:47:04 $
*@version 1.0
***************************************/
1.3 +7 -5 jakarta-jmeter/src_1/org/apache/jmeter/gui/action/RemoteStart.java
Index: RemoteStart.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/gui/action/RemoteStart.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- RemoteStart.java 29 Apr 2002 17:08:08 -0000 1.2
+++ RemoteStart.java 23 May 2002 15:47:04 -0000 1.3
@@ -62,16 +62,17 @@
import org.apache.jmeter.testelement.TestPlan;
import org.apache.jmeter.threads.ThreadGroup;
import org.apache.jmeter.util.JMeterUtils;
+import org.apache.jmeter.util.ListedHashTree;
/****************************************
* Title: Description: Copyright: Copyright (c) 2001 Company:
*
*@author Michael Stover
- *@created $Date: 2002/04/29 17:08:08 $
+ *@created $Date: 2002/05/23 15:47:04 $
*@version 1.0
***************************************/
-public class RemoteStart implements Command
+public class RemoteStart extends AbstractAction
{
private Map remoteEngines = new HashMap();
@@ -101,7 +102,6 @@
{
JMeterEngine engine = (JMeterEngine)remoteEngines.get(name);
engine.stopTest();
- GuiPackage.getInstance().getMainFrame().setRunning(false, name);
}
else if(action.equals("remote_start"))
{
@@ -147,8 +147,10 @@
private void startEngine(JMeterEngine engine, String host)
{
GuiPackage gui = GuiPackage.getInstance();
- engine.configure(gui.getTreeModel().getTestPlan());
- gui.getMainFrame().setRunning(true, host);
+ ListedHashTree testTree = gui.getTreeModel().getTestPlan();
+ convertSubTree(testTree);
+ testTree.add(testTree.getArray()[0],gui);
+ engine.configure(testTree);
engine.runTest();
}
}
1.6 +3 -4 jakarta-jmeter/src_1/org/apache/jmeter/gui/action/Start.java
Index: Start.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/gui/action/Start.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- Start.java 17 May 2002 01:29:34 -0000 1.5
+++ Start.java 23 May 2002 15:47:04 -0000 1.6
@@ -112,20 +112,18 @@
{
startEngine();
}
- else if(e.getActionCommand().equals("stop"))
+ else if(engine != null && e.getActionCommand().equals("stop"))
{
engine.stopTest();
- GuiPackage.getInstance().getMainFrame().setRunning(false);
engine = null;
}
}
-
/****************************************
* Description of the Method
*
***************************************/
- private void startEngine()
+ protected void startEngine()
{
GuiPackage gui = GuiPackage.getInstance();
engine = new StandardJMeterEngine();
@@ -136,4 +134,5 @@
gui.getMainFrame().setRunning(true);
engine.runTest();
}
+
}
1.5 +11 -0 jakarta-jmeter/src_1/org/apache/jmeter/gui/tree/JMeterTreeListener.java
Index: JMeterTreeListener.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/gui/tree/JMeterTreeListener.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- JMeterTreeListener.java 21 May 2002 03:36:43 -0000 1.4
+++ JMeterTreeListener.java 23 May 2002 15:47:05 -0000 1.5
@@ -108,6 +108,17 @@
dragIcon.validate();
dragIcon.setVisible(true);
}
+
+ public JMeterTreeListener()
+ {
+ dragIcon.validate();
+ dragIcon.setVisible(true);
+ }
+
+ public void setModel(JMeterTreeModel m)
+ {
+ model = m;
+ }
/****************************************
1.4 +0 -0 jakarta-jmeter/src_1/org/apache/jmeter/gui/util/JMeterMenuBar.java
Index: JMeterMenuBar.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/gui/util/JMeterMenuBar.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- JMeterMenuBar.java 21 May 2002 03:36:43 -0000 1.3
+++ JMeterMenuBar.java 23 May 2002 15:47:05 -0000 1.4
@@ -21,7 +21,7 @@
* Apache Foundation
*
*@author Michael Stover
- *@created $Date: 2002/05/21 03:36:43 $
+ *@created $Date: 2002/05/23 15:47:05 $
*@version 1.0
***************************************/
1.1 jakarta-jmeter/src_1/org/apache/jmeter/gui/util/JMeterColor.java
Index: JMeterColor.java
===================================================================
package org.apache.jmeter.gui.util;
import java.awt.Color;
/**
* @author mstover
*
* To change this generated comment edit the template variable "typecomment":
* Window>Preferences>Java>Templates.
*/
public class JMeterColor extends Color {
public final static Color dark_green = new JMeterColor(0F,.5F,0F);
public JMeterColor(float r,float g,float b)
{
super(r,g,b);
}
}
1.4 +0 -0 jakarta-jmeter/src_1/org/apache/jmeter/protocol/ftp/config/gui/FtpConfigGui.java
Index: FtpConfigGui.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/protocol/ftp/config/gui/FtpConfigGui.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- FtpConfigGui.java 21 May 2002 03:36:43 -0000 1.3
+++ FtpConfigGui.java 23 May 2002 15:47:05 -0000 1.4
@@ -70,7 +70,7 @@
* Title: JMeter Description: Copyright: Copyright (c) 2000 Company: Apache
*
*@author Michael Stover
- *@created $Date: 2002/05/21 03:36:43 $
+ *@created $Date: 2002/05/23 15:47:05 $
*@version 1.0
***************************************/
1.6 +0 -0 jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/config/gui/UrlConfigGui.java
Index: UrlConfigGui.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/config/gui/UrlConfigGui.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- UrlConfigGui.java 21 May 2002 03:36:43 -0000 1.5
+++ UrlConfigGui.java 23 May 2002 15:47:05 -0000 1.6
@@ -73,7 +73,7 @@
* Title: JMeter Description: Copyright: Copyright (c) 2000 Company: Apache
*
*@author Michael Stover
- *@created $Date: 2002/05/21 03:36:43 $
+ *@created $Date: 2002/05/23 15:47:05 $
*@version 1.0
***************************************/
1.5 +0 -0 jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/control/CookieManager.java
Index: CookieManager.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/control/CookieManager.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- CookieManager.java 21 May 2002 03:36:43 -0000 1.4
+++ CookieManager.java 23 May 2002 15:47:05 -0000 1.5
@@ -85,7 +85,7 @@
* pass cookies along with a request.
*
* @author <a href="mailto:sdowd@arcmail.com">Sean Dowd</a>
- * @version $Revision: 1.4 $ $Date: 2002/05/21 03:36:43 $
+ * @version $Revision: 1.5 $ $Date: 2002/05/23 15:47:05 $
*/
public class CookieManager extends AbstractTestElement implements
Serializable,PerThreadClonable
1.6 +0 -0 jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/gui/AuthPanel.java
Index: AuthPanel.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/gui/AuthPanel.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- AuthPanel.java 21 May 2002 03:36:44 -0000 1.5
+++ AuthPanel.java 23 May 2002 15:47:05 -0000 1.6
@@ -73,8 +73,8 @@
* user selects.
*
*@author $Author: mstover1 $
- *@created $Date: 2002/05/21 03:36:44 $
- *@version $Revision: 1.5 $
+ *@created $Date: 2002/05/23 15:47:05 $
+ *@version $Revision: 1.6 $
***************************************/
public class AuthPanel extends AbstractConfigGui implements ActionListener
{
@@ -375,8 +375,8 @@
* !ToDo (Class description)
*
*@author $Author: mstover1 $
- *@created $Date: 2002/05/21 03:36:44 $
- *@version $Revision: 1.5 $
+ *@created $Date: 2002/05/23 15:47:05 $
+ *@version $Revision: 1.6 $
***************************************/
private class InnerTableModel extends AbstractTableModel
{
@@ -529,8 +529,8 @@
* !ToDo (Class description)
*
*@author $Author: mstover1 $
- *@created $Date: 2002/05/21 03:36:44 $
- *@version $Revision: 1.5 $
+ *@created $Date: 2002/05/23 15:47:05 $
+ *@version $Revision: 1.6 $
***************************************/
private class PasswordCellRenderer extends JPasswordField implements TableCellRenderer
{
1.6 +0 -0 jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/gui/CookiePanel.java
Index: CookiePanel.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/gui/CookiePanel.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- CookiePanel.java 21 May 2002 03:36:44 -0000 1.5
+++ CookiePanel.java 23 May 2002 15:47:05 -0000 1.6
@@ -73,8 +73,8 @@
* for this service.
*
*@author $Author: mstover1 $
- *@created $Date: 2002/05/21 03:36:44 $
- *@version $Revision: 1.5 $
+ *@created $Date: 2002/05/23 15:47:05 $
+ *@version $Revision: 1.6 $
***************************************/
public class CookiePanel extends AbstractConfigGui implements ActionListener
{
@@ -370,7 +370,7 @@
*
*@author mike
*@created July 14, 2001
- *@version $Revision: 1.5 $
+ *@version $Revision: 1.6 $
***************************************/
public class InnerTableModel extends AbstractTableModel
{
1.6 +0 -0 jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/gui/HeaderPanel.java
Index: HeaderPanel.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/gui/HeaderPanel.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- HeaderPanel.java 21 May 2002 03:36:44 -0000 1.5
+++ HeaderPanel.java 23 May 2002 15:47:05 -0000 1.6
@@ -72,8 +72,8 @@
* parameters for this service.
*
*@author $Author: mstover1 $
- *@created $Date: 2002/05/21 03:36:44 $
- *@version $Revision: 1.5 $
+ *@created $Date: 2002/05/23 15:47:05 $
+ *@version $Revision: 1.6 $
***************************************/
public class HeaderPanel extends AbstractConfigGui implements ActionListener
{
@@ -380,8 +380,8 @@
* Updates a header record
*
*@author $Author: mstover1 $
- *@created $Date: 2002/05/21 03:36:44 $
- *@version $Revision: 1.5 $
+ *@created $Date: 2002/05/23 15:47:05 $
+ *@version $Revision: 1.6 $
***************************************/
class HeaderUpdater implements ActionListener
{
@@ -537,8 +537,8 @@
* !ToDo (Class description)
*
*@author $Author: mstover1 $
- *@created $Date: 2002/05/21 03:36:44 $
- *@version $Revision: 1.5 $
+ *@created $Date: 2002/05/23 15:47:05 $
+ *@version $Revision: 1.6 $
***************************************/
private class InnerTableModel extends AbstractTableModel
{
1.3 +9 -1 jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/modifier/UserParameterModifier.java
Index: UserParameterModifier.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/modifier/UserParameterModifier.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- UserParameterModifier.java 2 May 2002 22:54:59 -0000 1.2
+++ UserParameterModifier.java 23 May 2002 15:47:05 -0000 1.3
@@ -84,7 +84,7 @@
*<P>For example if userid and password are defined in the XML parameter file
* for each user (ie thread), then simulated multiple user activity can occur
*@author Mark Walsh
- *@created $Date: 2002/05/02 22:54:59 $
+ *@created $Date: 2002/05/23 15:47:05 $
*@version 1.0
***********************************************************/
public class UserParameterModifier
@@ -130,6 +130,14 @@
}
public void testEnded()
+ {
+ }
+
+ public void testStarted(String host)
+ {
+ }
+
+ public void testEnded(String host)
{
}
1.6 +8 -5 jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/parser/HtmlParser.java
Index: HtmlParser.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/parser/HtmlParser.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- HtmlParser.java 29 Apr 2002 17:08:11 -0000 1.5
+++ HtmlParser.java 23 May 2002 15:47:05 -0000 1.6
@@ -145,9 +145,12 @@
}
}
- if(!(ok = ok && matcher.matches(newLink.getDomain(),
- compiler.compile(config.getDomain()))))
- return false;
+ if(config.getDomain() != null || config.getDomain().length() > 0)
+ {
+ if(!(ok = ok && matcher.matches(newLink.getDomain(),
+ compiler.compile(config.getDomain()))))
+ return false;
+ }
if(!(ok = ok && matcher.matches(newLink.getPath(), compiler.compile("[/]*" + config.getPath()))))
return false;
@@ -486,8 +489,8 @@
* !ToDo (Class description)
*
*@author $Author: mstover1 $
- *@created $Date: 2002/04/29 17:08:11 $
- *@version $Revision: 1.5 $
+ *@created $Date: 2002/05/23 15:47:05 $
+ *@version $Revision: 1.6 $
***************************************/
public static class Test extends TestCase
{
1.10 +2 -19 jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/sampler/HTTPSampler.java
Index: HTTPSampler.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/sampler/HTTPSampler.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- HTTPSampler.java 17 May 2002 01:29:35 -0000 1.9
+++ HTTPSampler.java 23 May 2002 15:47:06 -0000 1.10
@@ -80,8 +80,8 @@
* HTTP requests, including cookies and authentication.
*
*@author Michael Stover
- *@created $Date: 2002/05/17 01:29:35 $
- *@version $Revision: 1.9 $
+ *@created $Date: 2002/05/23 15:47:06 $
+ *@version $Revision: 1.10 $
***************************************/
public class HTTPSampler extends AbstractSampler
{
@@ -649,23 +649,6 @@
res.setSampleLabel(u.toString());
// specify the data to the result.
res.setSamplerData(this);
-
- /****************************************
- * Whenever someone gets around to going through and removing all these
- * writes to stdout, feel free to remove this message-caching code and just
- * send the sampling message to the logger.. JKB
- ***************************************/
-
- // Only want to send this debug info to stdout once..
- if(!m_sampledURLs.contains(u))
- {
- // and we also don't want to gobble up too much memory..
- if(m_sampledURLs.size() < 300)
- {
- m_sampledURLs.add(u);
- System.out.println("Sampling url: " + u);
- }
- }
/****************************************
* END - cached logging hack
1.2 +0 -0 jakarta-jmeter/src_1/org/apache/jmeter/protocol/java/config/JavaConfig.java
Index: JavaConfig.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/protocol/java/config/JavaConfig.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- JavaConfig.java 21 May 2002 03:36:44 -0000 1.1
+++ JavaConfig.java 23 May 2002 15:47:06 -0000 1.2
@@ -69,8 +69,8 @@
* necessary for the Java protocol.
*
*@author Brad Kiewel
- *@created $Date: 2002/05/21 03:36:44 $
- *@version $Revision: 1.1 $
+ *@created $Date: 2002/05/23 15:47:06 $
+ *@version $Revision: 1.2 $
*/
public class JavaConfig extends AbstractTestElement implements Serializable
1.2 +3 -8 jakarta-jmeter/src_1/org/apache/jmeter/protocol/java/config/gui/JavaConfigGui.java
Index: JavaConfigGui.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/protocol/java/config/gui/JavaConfigGui.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- JavaConfigGui.java 21 May 2002 03:36:44 -0000 1.1
+++ JavaConfigGui.java 23 May 2002 15:47:06 -0000 1.2
@@ -55,11 +55,7 @@
package org.apache.jmeter.protocol.java.config.gui;
import java.awt.Font;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.awt.event.KeyEvent;
-import java.awt.event.KeyListener;
-import java.util.ArrayList;
+import java.util.List;
import javax.swing.BorderFactory;
import javax.swing.JComboBox;
@@ -70,7 +66,6 @@
import org.apache.jmeter.config.Arguments;
import org.apache.jmeter.config.gui.AbstractConfigGui;
import org.apache.jmeter.config.gui.ArgumentsPanel;
-import org.apache.jmeter.gui.NamePanel;
import org.apache.jmeter.gui.util.VerticalLayout;
import org.apache.jmeter.protocol.java.config.JavaConfig;
import org.apache.jmeter.protocol.java.sampler.JavaSampler;
@@ -85,7 +80,7 @@
* The <code>JavaConfigGui</code> class provides the user interface for
* the JavaConfig object.
* @author Brad Kiewel
- * @version $Revision: 1.1 $
+ * @version $Revision: 1.2 $
*/
public class JavaConfigGui extends AbstractConfigGui
@@ -159,13 +154,13 @@
panel.setBorder(BorderFactory.createEmptyBorder(0, 5, 0, 10));
panel.add(new JLabel(JMeterUtils.getResString("protocol_java_classname")));
- ArrayList possibleClasses = null;
+ List possibleClasses = null;
try {
// Find all the classes which implement the JavaSamplerClient interface
- possibleClasses = ClassFinder.findClassesByInterface(JMeterUtils.split(JMeterUtils.getPropDefault("search_paths", ".;ApacheJMeter.jar"), ";"),new Class[]{JavaSamplerClient.class});
+ possibleClasses = ClassFinder.findClassesThatExtend(new Class[]{JavaSamplerClient.class});
// Remove the JavaConfig class from the list since it only implements the interface for
// error conditions.
1.2 +1 -0 jakarta-jmeter/src_1/org/apache/jmeter/protocol/java/control/gui/JavaTestSamplerGui.java
Index: JavaTestSamplerGui.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/protocol/java/control/gui/JavaTestSamplerGui.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- JavaTestSamplerGui.java 21 May 2002 03:36:44 -0000 1.1
+++ JavaTestSamplerGui.java 23 May 2002 15:47:06 -0000 1.2
@@ -68,12 +68,13 @@
import org.apache.jmeter.testelement.TestElement;
import org.apache.jmeter.util.JMeterUtils;
+
/**
* The <code>JavaTestSamplerGui</code> class provides the user interface
* for the JavaTestSampler.
*
* @author Brad Kiewel
- * @version $Revision: 1.1 $
+ * @version $Revision: 1.2 $
*/
public class JavaTestSamplerGui extends AbstractSamplerGui {
1.5 +0 -0 jakarta-jmeter/src_1/org/apache/jmeter/protocol/jdbc/config/gui/DbConfigGui.java
Index: DbConfigGui.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/protocol/jdbc/config/gui/DbConfigGui.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- DbConfigGui.java 21 May 2002 03:36:44 -0000 1.4
+++ DbConfigGui.java 23 May 2002 15:47:06 -0000 1.5
@@ -71,7 +71,7 @@
* Title: Description: Copyright: Copyright (c) 2001 Company:
*
*@author Michael Stover
- *@created $Date: 2002/05/21 03:36:44 $
+ *@created $Date: 2002/05/23 15:47:06 $
*@version 1.0
***************************************/
1.5 +0 -0 jakarta-jmeter/src_1/org/apache/jmeter/protocol/jdbc/config/gui/PoolConfigGui.java
Index: PoolConfigGui.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/protocol/jdbc/config/gui/PoolConfigGui.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- PoolConfigGui.java 21 May 2002 03:36:44 -0000 1.4
+++ PoolConfigGui.java 23 May 2002 15:47:06 -0000 1.5
@@ -70,7 +70,7 @@
* Title: JMeter Description: Copyright: Copyright (c) 2000 Company: Apache
*
*@author Michael Stover
- *@created $Date: 2002/05/21 03:36:44 $
+ *@created $Date: 2002/05/23 15:47:06 $
*@version 1.0
***************************************/
1.5 +0 -0 jakarta-jmeter/src_1/org/apache/jmeter/protocol/jdbc/config/gui/SqlConfigGui.java
Index: SqlConfigGui.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/protocol/jdbc/config/gui/SqlConfigGui.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- SqlConfigGui.java 21 May 2002 03:36:44 -0000 1.4
+++ SqlConfigGui.java 23 May 2002 15:47:06 -0000 1.5
@@ -70,7 +70,7 @@
* Title: JMeter Description: Copyright: Copyright (c) 2000 Company: Apache
*
*@author Michael Stover
- *@created $Date: 2002/05/21 03:36:44 $
+ *@created $Date: 2002/05/23 15:47:06 $
*@version 1.0
***************************************/
1.7 +10 -2 jakarta-jmeter/src_1/org/apache/jmeter/protocol/jdbc/sampler/JDBCSampler.java
Index: JDBCSampler.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/protocol/jdbc/sampler/JDBCSampler.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- JDBCSampler.java 2 May 2002 22:54:59 -0000 1.6
+++ JDBCSampler.java 23 May 2002 15:47:06 -0000 1.7
@@ -71,8 +71,8 @@
* A sampler which understands JDBC database requests
*
*@author $Author: mstover1 $
- *@created $Date: 2002/05/02 22:54:59 $
- *@version $Revision: 1.6 $
+ *@created $Date: 2002/05/23 15:47:06 $
+ *@version $Revision: 1.7 $
***********************************************************/
public class JDBCSampler extends AbstractSampler implements TestListener
@@ -105,6 +105,14 @@
{
this.mergeIn(element);
}
+ }
+
+ public void testStarted(String host)
+ {
+ }
+
+ public void testEnded(String host)
+ {
}
public synchronized void testStarted()
1.2 +3 -3 jakarta-jmeter/src_1/org/apache/jmeter/reporters/AbstractListenerElement.java
Index: AbstractListenerElement.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/reporters/AbstractListenerElement.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- AbstractListenerElement.java 29 Mar 2002 14:06:10 -0000 1.1
+++ AbstractListenerElement.java 23 May 2002 15:47:06 -0000 1.2
@@ -13,7 +13,7 @@
public abstract class AbstractListenerElement extends AbstractTestElement
{
- public final static String LISTENER = "AbstractListenerElement.listener";
+ private Visualizer listener;
public AbstractListenerElement()
{
@@ -21,11 +21,11 @@
protected Visualizer getVisualizer()
{
- return (Visualizer)getProperty(LISTENER);
+ return listener;
}
public void setListener(Visualizer vis)
{
- setProperty(LISTENER,vis);
+ listener = vis;
}
}
1.12 +40 -13 jakarta-jmeter/src_1/org/apache/jmeter/reporters/ResultCollector.java
Index: ResultCollector.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/reporters/ResultCollector.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- ResultCollector.java 17 May 2002 01:29:35 -0000 1.11
+++ ResultCollector.java 23 May 2002 15:47:06 -0000 1.12
@@ -66,31 +66,33 @@
import org.apache.jmeter.testelement.TestListener;
import org.apache.jmeter.util.TextFile;
import org.apache.jmeter.save.SaveService;
+import org.apache.jmeter.samplers.Remoteable;
/**
* Title: Description: Copyright: Copyright (c) 2001 Company:
*
*@author Michael Stover
- *@created $Date: 2002/05/17 01:29:35 $
+ *@created $Date: 2002/05/23 15:47:06 $
*@version 1.0
*/
public class ResultCollector extends AbstractListenerElement implements SampleListener, Clearable,
- Serializable,TestListener
+ Serializable,TestListener,Remoteable
{
private final static String COLLECTED = "collected";
+ private final static String FILENAME = "filename";
/**
* !ToDo (Field description)
*/
protected List results = Collections.synchronizedList(new ArrayList());
private int current;
- private String filename;
private DefaultConfigurationSerializer serializer = new DefaultConfigurationSerializer();
private boolean inLoading = false;
private PrintWriter out;
private boolean inTest = false;
private static Map files = new HashMap();
+ private Set hosts = new HashSet();
/**
@@ -100,6 +102,16 @@
{
current = -1;
}
+
+ private void setFilenameProperty(String f)
+ {
+ setProperty(FILENAME,f);
+ }
+
+ public String getFilename()
+ {
+ return getPropertyAsString(FILENAME);
+ }
/**
* Sets the filename attribute of the ResultCollector object
@@ -115,7 +127,7 @@
System.out.println("Setting filename");
try
{
- filename = f;
+ setFilenameProperty(f);
loadExistingFile();
}
catch(SAXException e)
@@ -129,14 +141,19 @@
}
}
- public void testEnded()
+ public void testEnded(String host)
{
- finalizeFileOutput();
- inTest = false;
+ hosts.remove(host);
+ if(hosts.size() == 0)
+ {
+ finalizeFileOutput();
+ inTest = false;
+ }
}
- public void testStarted()
+ public void testStarted(String host)
{
+ hosts.add(host);
try {
initializeFileOutput();
} catch(Exception e) {
@@ -144,15 +161,25 @@
}
inTest = true;
}
+
+ public void testEnded()
+ {
+ testEnded("local");
+ }
+
+ public void testStarted()
+ {
+ testStarted("local");
+ }
public void loadExistingFile()
throws SAXException, IOException, ConfigurationException {
inLoading = true;
- if(new File(filename).exists())
+ if(new File(getFilename()).exists())
{
clear();
try {
- Configuration savedSamples = getConfiguration(filename);
+ Configuration savedSamples = getConfiguration(getFilename());
readSamples(savedSamples);
} catch(Exception e) {
e.printStackTrace();
@@ -432,13 +459,13 @@
ConfigurationException,SAXException
{
- if(out == null && filename != null)
+ if(out == null && getFilename() != null)
{
if(out == null)
{
try
{
- out = getFileWriter(filename);
+ out = getFileWriter(getFilename());
}
catch(FileNotFoundException e)
{
@@ -457,7 +484,7 @@
{
writeFileEnd();
out.close();
- files.remove(filename);
+ files.remove(getFilename());
out = null;
}
}
1.11 +4 -1 jakarta-jmeter/src_1/org/apache/jmeter/resources/messages.properties
Index: messages.properties
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/resources/messages.properties,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- messages.properties 21 May 2002 03:36:44 -0000 1.10
+++ messages.properties 23 May 2002 15:47:06 -0000 1.11
@@ -226,4 +226,7 @@
protocol_java_border=Java class
protocol_java_test_title=Java Testing
java_request=Java Request
-java_request_defaults=Java Request Defaults
\ No newline at end of file
+java_request_defaults=Java Request Defaults
+second=second
+graph_results_throughput=Throughput
+minute=minute
\ No newline at end of file
1.10 +4 -1 jakarta-jmeter/src_1/org/apache/jmeter/resources/messages_ja.properties
Index: messages_ja.properties
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/resources/messages_ja.properties,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- messages_ja.properties 21 May 2002 03:36:44 -0000 1.9
+++ messages_ja.properties 23 May 2002 15:47:06 -0000 1.10
@@ -220,4 +220,7 @@
protocol_java_border=Java class
protocol_java_test_title=Java Testing
java_request=Java Request
-java_request_defaults=Java Request Defaults
\ No newline at end of file
+java_request_defaults=Java Request Defaults
+second=second
+graph_results_throughput=Throughput
+minute=minute
\ No newline at end of file
1.10 +4 -1 jakarta-jmeter/src_1/org/apache/jmeter/resources/messages_no.properties
Index: messages_no.properties
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/resources/messages_no.properties,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- messages_no.properties 21 May 2002 03:36:44 -0000 1.9
+++ messages_no.properties 23 May 2002 15:47:06 -0000 1.10
@@ -211,4 +211,7 @@
protocol_java_border=Java class
protocol_java_test_title=Java Testing
java_request=Java Request
-java_request_defaults=Java Request Defaults
\ No newline at end of file
+java_request_defaults=Java Request Defaults
+second=second
+graph_results_throughput=Throughput
+minute=minute
\ No newline at end of file
1.4 +8 -0 jakarta-jmeter/src_1/org/apache/jmeter/samplers/RemoteSampleListener.java
Index: RemoteSampleListener.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/samplers/RemoteSampleListener.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- RemoteSampleListener.java 29 Apr 2002 17:08:13 -0000 1.3
+++ RemoteSampleListener.java 23 May 2002 15:47:06 -0000 1.4
@@ -65,6 +65,14 @@
public interface RemoteSampleListener
extends java.rmi.Remote, java.io.Serializable
{
+
+ public void testStarted() throws RemoteException;
+
+ public void testStarted(String host) throws RemoteException;
+
+ public void testEnded() throws RemoteException;
+
+ public void testEnded(String host) throws RemoteException;
/**
* A sample has started and stopped.
**/
1.4 +58 -18 jakarta-jmeter/src_1/org/apache/jmeter/samplers/RemoteSampleListenerImpl.java
Index: RemoteSampleListenerImpl.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/samplers/RemoteSampleListenerImpl.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- RemoteSampleListenerImpl.java 29 Apr 2002 17:08:13 -0000 1.3
+++ RemoteSampleListenerImpl.java 23 May 2002 15:47:06 -0000 1.4
@@ -54,21 +54,23 @@
*/
package org.apache.jmeter.samplers;
-import java.util.*;
import java.rmi.RemoteException;
+import org.apache.jmeter.testelement.TestListener;
+
/************************************************************
* !ToDo (Class description)
*
*@author $Author: mstover1 $
- *@created $Date: 2002/04/29 17:08:13 $
- *@version $Revision: 1.3 $
+ *@created $Date: 2002/05/23 15:47:06 $
+ *@version $Revision: 1.4 $
***********************************************************/
public class RemoteSampleListenerImpl
extends java.rmi.server.UnicastRemoteObject
- implements RemoteSampleListener
+ implements RemoteSampleListener,SampleListener,TestListener
{
- Collection listeners;
+ TestListener testListener;
+ SampleListener sampleListener;
/************************************************************
* !ToDo (Constructor description)
@@ -76,10 +78,53 @@
*@param listeners !ToDo (Parameter description)
*@exception RemoteException !ToDo (Exception description)
***********************************************************/
- public RemoteSampleListenerImpl(Collection listeners) throws RemoteException
+ public RemoteSampleListenerImpl(Object listener) throws RemoteException
{
super();
- this.listeners = listeners;
+ if(listener instanceof TestListener)
+ {
+ testListener = (TestListener)listener;
+ }
+ if(listener instanceof SampleListener)
+ {
+ sampleListener = (SampleListener)listener;
+ }
+ }
+
+ public void testStarted()
+ {
+ System.out.println("remoteSampleListener: testStarted()");
+ if(testListener != null)
+ {
+ testListener.testStarted();
+ }
+ }
+
+ public void testStarted(String host)
+ {
+ System.out.println("remoteSampleListener: testStarted(String)");
+ if(testListener != null)
+ {
+ testListener.testStarted(host);
+ }
+ }
+
+ public void testEnded()
+ {
+ System.out.println("remoteSampleListener: testEnded()");
+ if(testListener != null)
+ {
+ testListener.testEnded();
+ }
+ }
+
+ public void testEnded(String host)
+ {
+ System.out.println("remoteSampleListener: testEnded(String)");
+ if(testListener != null)
+ {
+ testListener.testEnded(host);
+ }
}
/************************************************************
@@ -89,12 +134,9 @@
***********************************************************/
public void sampleOccurred(SampleEvent e)
{
- System.out.println("Sample occurred in remote listener!");
- Iterator iter = listeners.iterator();
- System.out.println("Listeners = "+listeners.size());
- while (iter.hasNext())
+ if (sampleListener != null)
{
- ((SampleListener)iter.next()).sampleOccurred(e);
+ sampleListener.sampleOccurred(e);
}
}
@@ -105,10 +147,9 @@
***********************************************************/
public void sampleStarted(SampleEvent e)
{
- Iterator iter = listeners.iterator();
- while (iter.hasNext())
+ if (sampleListener != null)
{
- ((SampleListener)iter.next()).sampleStarted(e);
+ sampleListener.sampleStarted(e);
}
}
@@ -119,10 +160,9 @@
***********************************************************/
public void sampleStopped(SampleEvent e)
{
- Iterator iter = listeners.iterator();
- while (iter.hasNext())
+ if (sampleListener != null)
{
- ((SampleListener)iter.next()).sampleStopped(e);
+ sampleListener.sampleStopped(e);
}
}
}
1.1 jakarta-jmeter/src_1/org/apache/jmeter/samplers/Remoteable.java
Index: Remoteable.java
===================================================================
package org.apache.jmeter.samplers;
/**
* @author mstover
*
* To change this generated comment edit the template variable "typecomment":
* Window>Preferences>Java>Templates.
*/
public interface Remoteable {
}
1.7 +1 -2 jakarta-jmeter/src_1/org/apache/jmeter/testelement/AbstractTestElement.java
Index: AbstractTestElement.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/testelement/AbstractTestElement.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- AbstractTestElement.java 17 May 2002 01:29:35 -0000 1.6
+++ AbstractTestElement.java 23 May 2002 15:47:06 -0000 1.7
@@ -6,7 +6,7 @@
* Title: JMeter Description: Copyright: Copyright (c) 2000 Company: Apache
*
*@author Michael Stover
- *@created $Date: 2002/05/17 01:29:35 $
+ *@created $Date: 2002/05/23 15:47:06 $
*@version 1.0
***************************************/
@@ -44,7 +44,6 @@
{
if(o instanceof AbstractTestElement)
{
- System.out.println("is equal? "+((AbstractTestElement)o).testInfo.equals(testInfo));
return ((AbstractTestElement)o).testInfo.equals(testInfo);
}
else
1.2 +4 -0 jakarta-jmeter/src_1/org/apache/jmeter/testelement/TestListener.java
Index: TestListener.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/testelement/TestListener.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- TestListener.java 19 Apr 2002 02:10:50 -0000 1.1
+++ TestListener.java 23 May 2002 15:47:06 -0000 1.2
@@ -15,4 +15,8 @@
public void testStarted();
public void testEnded();
+
+ public void testStarted(String host);
+
+ public void testEnded(String host);
}
1.9 +14 -3 jakarta-jmeter/src_1/org/apache/jmeter/threads/JMeterThread.java
Index: JMeterThread.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/threads/JMeterThread.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- JMeterThread.java 2 May 2002 22:55:00 -0000 1.8
+++ JMeterThread.java 23 May 2002 15:47:07 -0000 1.9
@@ -70,8 +70,8 @@
* timing, add listeners for sampling events and to stop the sampling process.
*
*@author $Author: mstover1 $
- *@created $Date: 2002/05/02 22:55:00 $
- *@version $Revision: 1.8 $
+ *@created $Date: 2002/05/23 15:47:07 $
+ *@version $Revision: 1.9 $
***************************************/
public class JMeterThread implements Runnable, java.io.Serializable {
static Map samplers = new HashMap();
@@ -81,6 +81,7 @@
ListedHashTree testTree;
TestCompiler compiler;
JMeterThreadMonitor monitor;
+ String threadName;
/****************************************
* !ToDo (Constructor description)
***************************************/
@@ -91,6 +92,11 @@
compiler = new TestCompiler(testTree);
controller = (Controller) testTree.getArray()[0];
}
+
+ public void setThreadName(String threadName)
+ {
+ this.threadName = threadName;
+ }
/****************************************
* !ToDo (Method description)
***************************************/
@@ -106,6 +112,8 @@
SamplePackage pack = compiler.configureSampler(controller.next());
delay(pack.getTimers());
SampleResult result = pack.getSampler().sample(null);
+ result.setThreadName(threadName);
+ result.setTimeStamp(System.currentTimeMillis());
checkAssertions(pack.getAssertions(), result);
notifyListeners(pack.getSampleListeners(), result);
}
@@ -124,7 +132,10 @@
private void checkAssertions(List assertions, SampleResult result) {
Iterator iter = assertions.iterator();
while (iter.hasNext()) {
- result.addAssertionResult(((Assertion) iter.next()).getResult(result));
+ AssertionResult assertion = ((Assertion)iter.next()).getResult(result);
+ result.setSuccessful(result.isSuccessful() &&
+ !(assertion.isError() || assertion.isFailure()));
+ result.addAssertionResult(assertion);
}
}
private void delay(List timers) {
1.5 +0 -0 jakarta-jmeter/src_1/org/apache/jmeter/threads/ThreadGroup.java
Index: ThreadGroup.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/threads/ThreadGroup.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- ThreadGroup.java 21 May 2002 03:36:44 -0000 1.4
+++ ThreadGroup.java 23 May 2002 15:47:07 -0000 1.5
@@ -74,7 +74,7 @@
* Apache Foundation
*
*@author Michael Stover
- *@created $Date: 2002/05/21 03:36:44 $
+ *@created $Date: 2002/05/23 15:47:07 $
*@version 1.0
***************************************/
@@ -256,8 +256,8 @@
* issues.
*
*@author $Author: mstover1 $
- *@created $Date: 2002/05/21 03:36:44 $
- *@version $Revision: 1.4 $
+ *@created $Date: 2002/05/23 15:47:07 $
+ *@version $Revision: 1.5 $
***************************************/
private class SampleQueue implements Runnable, Serializable
{
1.5 +4 -4 jakarta-jmeter/src_1/org/apache/jmeter/util/ClassFinder.java
Index: ClassFinder.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/util/ClassFinder.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- ClassFinder.java 1 May 2002 01:39:40 -0000 1.4
+++ ClassFinder.java 23 May 2002 15:47:07 -0000 1.5
@@ -206,7 +206,7 @@
List listSuperClasses = null;
String[] strPathsOrJars =
JMeterUtils.split(
- JMeterUtils.getPropDefault("search_paths", ".;ApacheJMeter.jar"),
+ JMeterUtils.getPropDefault("search_paths", ".;ApacheJMeter_core.jar"),
";");
strPathsOrJars = addJarsInPath(strPathsOrJars);
if (catClass.isDebugEnabled()) {
@@ -758,9 +758,9 @@
*@author $Author: mstover1 $
- *@created $Date: 2002/05/01 01:39:40 $
+ *@created $Date: 2002/05/23 15:47:07 $
- *@version $Revision: 1.4 $
+ *@version $Revision: 1.5 $
***********************************************************/
public static class Test extends TestCase {
@@ -785,7 +785,7 @@
***********************************************************/
public void testFindClassesInPaths() {
- String testPath = System.getProperty("user.dir") + "/bin/classes";
+ String testPath = System.getProperty("user.dir") + "/classes";
List listPaths = new ArrayList();
ArrayList listClasses = new ArrayList();
// listPaths will contain the path/jars where all classes will be listed
1.4 +23 -1 jakarta-jmeter/src_1/org/apache/jmeter/util/JMeterUtils.java
Index: JMeterUtils.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/util/JMeterUtils.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- JMeterUtils.java 29 Apr 2002 17:08:14 -0000 1.3
+++ JMeterUtils.java 23 May 2002 15:47:07 -0000 1.4
@@ -76,7 +76,7 @@
*
*@author <a href="mailto://stefano@apache.org">Stefano Mazzocchi</a>
*@created June 28, 2001
- *@version $Revision: 1.3 $ $Date: 2002/04/29 17:08:14 $
+ *@version $Revision: 1.4 $ $Date: 2002/05/23 15:47:07 $
*/
public class JMeterUtils
@@ -189,6 +189,28 @@
System.out.println(name);
return null;
}
+ }
+
+ public static String getResourceFileAsText(String name)
+ {
+ try {
+ String lineEnd = System.getProperty("line.separator");
+ BufferedReader fileReader = new BufferedReader(new InputStreamReader(JMeterUtils.class.getClassLoader().getResourceAsStream(name)));
+ StringBuffer text = new StringBuffer();
+ String line = "NOTNULL";
+ while (line != null)
+ {
+ line = fileReader.readLine();
+ if (line != null)
+ {
+ text.append(line);
+ text.append(lineEnd);
+ }
+ }
+ return text.toString();
+ } catch(IOException e) {
+ return "";
+ }
}
/**
1.5 +7 -9 jakarta-jmeter/src_1/org/apache/jmeter/util/ListedHashTree.java
Index: ListedHashTree.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/util/ListedHashTree.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- ListedHashTree.java 17 May 2002 01:29:35 -0000 1.4
+++ ListedHashTree.java 23 May 2002 15:47:07 -0000 1.5
@@ -56,7 +56,6 @@
package org.apache.jmeter.util;
import java.io.*;
import java.util.*;
-import org.apache.log4j.Category;
/****************************************
* This class is used to create a tree structure of objects. Each element in the
@@ -66,12 +65,11 @@
* function).
*
*@author $Author: mstover1 $
- *@created $Date: 2002/05/17 01:29:35 $
- *@version $Revision: 1.4 $
+ *@created $Date: 2002/05/23 15:47:07 $
+ *@version $Revision: 1.5 $
***************************************/
public class ListedHashTree implements Serializable,Cloneable
{
- private static Category log = Category.getInstance(ListedHashTree.class);
private java.util.Map data;
private List order;
@@ -1113,7 +1111,7 @@
*
*@param numTabs The number of tabs (preferably make the first call with a
* value 0)
- ***************************************/
+ **************************************
public void debugDeep(int numTabs)
{
if(!log.isDebugEnabled())
@@ -1147,7 +1145,7 @@
/****************************************
* Debugs all the elements in the current ListedHashTree
- ***************************************/
+ ***************************************
public void debugShallow()
{
if(!log.isDebugEnabled())
@@ -1158,7 +1156,7 @@
{
log.debug(iter.next());
}
- }
+ }*/
@@ -1176,8 +1174,8 @@
* !ToDo (Class description)
*
*@author $Author: mstover1 $
- *@created $Date: 2002/05/17 01:29:35 $
- *@version $Revision: 1.4 $
+ *@created $Date: 2002/05/23 15:47:07 $
+ *@version $Revision: 1.5 $
***************************************/
public static class Test extends junit.framework.TestCase
{
1.4 +25 -8 jakarta-jmeter/src_1/org/apache/jmeter/visualizers/Graph.java
Index: Graph.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/visualizers/Graph.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- Graph.java 29 Apr 2002 17:08:15 -0000 1.3
+++ Graph.java 23 May 2002 15:47:07 -0000 1.4
@@ -54,11 +54,16 @@
*/
package org.apache.jmeter.visualizers;
-import javax.swing.*;
-import java.awt.*;
-import java.util.*;
-
-import org.apache.jmeter.gui.*;
+import java.awt.Color;
+import java.awt.Dimension;
+import java.awt.Graphics;
+import java.awt.Rectangle;
+import java.util.Iterator;
+
+import javax.swing.JComponent;
+import javax.swing.Scrollable;
+import javax.swing.SwingUtilities;
+import org.apache.jmeter.gui.util.JMeterColor;
import org.apache.jmeter.samplers.Clearable;
@@ -77,6 +82,7 @@
private boolean data = true;
private boolean average = true;
private boolean deviation = true;
+ private boolean throughput = true;
private GraphModel model;
private static int width = 2000;
@@ -215,6 +221,11 @@
{
this.deviation = value;
}
+
+ public void enableThroughput(boolean value)
+ {
+ throughput = value;
+ }
/**
@@ -285,23 +296,29 @@
Dimension d = this.getSize();
if (data)
{
- int data = (int) (oneSample.data * d.height / model.getMax());
+ int data = (int) (oneSample.data * d.height / model.getGraphMax());
g.setColor(Color.black);
g.drawLine(x % width, d.height - data, x % width, d.height - data - 1);
}
if (average)
{
- int average = (int) (oneSample.average * d.height / model.getMax());
+ int average = (int) (oneSample.average * d.height / model.getGraphMax());
g.setColor(Color.blue);
g.drawLine(x % width, d.height - average, x % width, (d.height - average - 1));
}
if (deviation)
{
- int deviation = (int) (oneSample.deviation * d.height / model.getMax());
+ int deviation = (int) (oneSample.deviation * d.height / model.getGraphMax());
g.setColor(Color.red);
g.drawLine(x % width, d.height - deviation, x % width, (d.height - deviation - 1));
+ }
+ if(throughput)
+ {
+ int throughput = (int) (oneSample.throughput * d.height / model.getThroughputMax());
+ g.setColor(JMeterColor.dark_green);
+ g.drawLine(x % width, d.height - throughput, x % width, (d.height - throughput - 1));
}
}
}
1.5 +50 -8 jakarta-jmeter/src_1/org/apache/jmeter/visualizers/GraphModel.java
Index: GraphModel.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/visualizers/GraphModel.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- GraphModel.java 1 May 2002 23:48:53 -0000 1.4
+++ GraphModel.java 23 May 2002 15:47:07 -0000 1.5
@@ -85,7 +85,10 @@
private long previous = 0;
private long max = 1;
private boolean bigChange = false;
- private Sample current = new Sample(0, 0, 0);
+ private Sample current = new Sample(0, 0, 0,0);
+ private long startTime = 0;
+ private int throughputMax = 0;
+ private long graphMax = 0;
/**
* Constructor for the GraphModel object
@@ -146,6 +149,11 @@
return current.deviation;
}
+
+ public float getCurrentThroughput()
+ {
+ return current.throughput;
+ }
@@ -208,11 +216,21 @@
*
*@return The Max value
*/
- public long getMax()
+ public long getMaxSample()
{
-
return max;
}
+
+ public long getGraphMax()
+ {
+ return graphMax;
+ }
+
+
+ public int getThroughputMax()
+ {
+ return throughputMax;
+ }
@@ -235,7 +253,7 @@
*/
public Sample addSample(SampleResult e)
{
- Sample s = addNewSample(e.getTime());
+ Sample s = addNewSample(e.getTime(),e.getTimeStamp());
fireDataChanged();
return s;
}
@@ -252,8 +270,9 @@
counter = 0;
previous = 0;
max = 1;
+ graphMax = 1;
bigChange = true;
- current = new Sample(0, 0, 0);
+ current = new Sample(0, 0, 0,0);
this.fireDataChanged();
}
@@ -301,18 +320,41 @@
*
*@param sample The feature to be added to the NewSample attribute
*/
- protected Sample addNewSample(long sample)
+ protected Sample addNewSample(long sample,long timeStamp)
{
+ if(samples.size() == 0)
+ {
+ startTime = timeStamp;
+ }
if (sample > max)
{
- bigChange = true;
max = sample;
}
averageSum += sample;
long average = averageSum / ++counter;
variationSum += Math.pow(sample - average, 2);
long deviation = (long) Math.pow(variationSum / counter, 0.5);
- Sample s = new Sample(sample, average, deviation);
+ float throughput = 0;
+ if(timeStamp-startTime > 0)
+ {
+ throughput = (float)(((float)(samples.size()+1))/((float)(timeStamp-startTime)) * 60000);
+ }
+ if(throughput > throughputMax)
+ {
+ bigChange = true;
+ throughputMax = (int)(throughput * 1.5F);
+ }
+ if(average > graphMax)
+ {
+ bigChange = true;
+ graphMax = average * 3;
+ }
+ if(deviation > graphMax)
+ {
+ bigChange = true;
+ graphMax = deviation * 3;
+ }
+ Sample s = new Sample(sample, average, deviation,throughput);
previous = sample;
current = s;
samples.add(s);
1.5 +47 -9 jakarta-jmeter/src_1/org/apache/jmeter/visualizers/GraphVisualizer.java
Index: GraphVisualizer.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/visualizers/GraphVisualizer.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- GraphVisualizer.java 29 Apr 2002 03:01:54 -0000 1.4
+++ GraphVisualizer.java 23 May 2002 15:47:07 -0000 1.5
@@ -53,15 +53,26 @@
* <http://www.apache.org/>.
*/
package org.apache.jmeter.visualizers;
-import java.awt.*;
-import java.awt.event.*;
-import java.util.*;
-import javax.swing.*;
-import javax.swing.border.*;
-import org.apache.jmeter.gui.*;
+import java.awt.BorderLayout;
+import java.awt.Color;
+import java.awt.FlowLayout;
+import java.awt.Font;
+import java.awt.Image;
+import java.awt.event.ItemEvent;
+import java.awt.event.ItemListener;
+
+import javax.swing.BorderFactory;
+import javax.swing.JCheckBox;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.JTextField;
+import javax.swing.border.Border;
+import javax.swing.border.EmptyBorder;
import org.apache.jmeter.gui.util.VerticalLayout;
-import org.apache.jmeter.samplers.SampleResult;
+import org.apache.jmeter.gui.util.JMeterColor;
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;
@@ -72,7 +83,7 @@
*
*@author <a href="mailto:stefano@apache.org">Stefano Mazzocchi</a>
*@created February 8, 2001
- *@version $Revision: 1.4 $ $Date: 2002/04/29 03:01:54 $
+ *@version $Revision: 1.5 $ $Date: 2002/05/23 15:47:07 $
***************************************/
public class GraphVisualizer extends AbstractVisualizer
implements ImageVisualizer, ItemListener, GraphListener,Clearable
@@ -81,14 +92,18 @@
private JTextField maxYField = null;
private JTextField minYField = null;
private JTextField noSamplesField = null;
+ String minute = JMeterUtils.getResString("minute");
private Graph graph;
private JCheckBox data;
private JCheckBox average;
private JCheckBox deviation;
+ private JCheckBox throughput;
private JTextField dataField;
private JTextField averageField;
private JTextField deviationField;
+ private JTextField throughputField;
+ private boolean perSecond = false;
/****************************************
@@ -127,6 +142,7 @@
dataField.setText(Long.toString(model.getCurrentData()));
averageField.setText(Long.toString(model.getCurrentAverage()));
deviationField.setText(Long.toString(model.getCurrentDeviation()));
+ throughputField.setText(Float.toString(model.getCurrentThroughput())+"/"+minute);
updateYAxis();
}
@@ -143,6 +159,7 @@
dataField.setText(Long.toString(s.data));
averageField.setText(Long.toString(s.average));
deviationField.setText(Long.toString(s.deviation));
+ throughputField.setText(Float.toString(s.throughput)+"/"+minute);
updateYAxis();
}
@@ -185,6 +202,10 @@
{
this.graph.enableDeviation(e.getStateChange() == ItemEvent.SELECTED);
}
+ else if(e.getItem() == throughput)
+ {
+ this.graph.enableThroughput(e.getStateChange() == ItemEvent.SELECTED);
+ }
this.graph.repaint();
}
@@ -199,6 +220,7 @@
dataField.setText("0000");
averageField.setText("0000");
deviationField.setText("0000");
+ throughputField.setText("0/"+minute);
updateYAxis();
repaint();
}
@@ -220,7 +242,7 @@
***************************************/
private void updateYAxis()
{
- maxYField.setText(Long.toString(model.getMax()));
+ maxYField.setText(Long.toString(model.getGraphMax()));
minYField.setText("0");
}
@@ -266,11 +288,16 @@
deviation.setSelected(true);
deviation.addItemListener(this);
deviation.setForeground(Color.red);
+ throughput = new JCheckBox(JMeterUtils.getResString("graph_results_throughput"));
+ throughput.setSelected(true);
+ throughput.addItemListener(this);
+ throughput.setForeground(JMeterColor.dark_green);
chooseGraphsPanel.add(selectGraphsLabel);
chooseGraphsPanel.add(data);
chooseGraphsPanel.add(average);
chooseGraphsPanel.add(deviation);
+ chooseGraphsPanel.add(throughput);
// Set up the graph itself
JScrollPane graphScrollPanel = new JScrollPane(graph, JScrollPane.VERTICAL_SCROLLBAR_NEVER,
@@ -337,6 +364,16 @@
deviationField.setBackground(getBackground());
deviationPanel.add(deviationLabel);
deviationPanel.add(deviationField);
+ JPanel throughputPanel = new JPanel();
+ JLabel throughputLabel = new JLabel(JMeterUtils.getResString("graph_results_throughput"));
+ throughputLabel.setForeground(JMeterColor.dark_green);
+ throughputField = new JTextField(15);
+ throughputField.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
+ throughputField.setEditable(false);
+ throughputField.setForeground(JMeterColor.dark_green);
+ throughputField.setBackground(getBackground());
+ throughputPanel.add(throughputLabel);
+ throughputPanel.add(throughputField);
JPanel noSamplesPanel = new JPanel();
JLabel noSamplesLabel = new JLabel(JMeterUtils.getResString("graph_results_no_samples"));
noSamplesField = new JTextField(10);
@@ -355,6 +392,7 @@
graphInfoPanel.add(dataPanel);
graphInfoPanel.add(averagePanel);
graphInfoPanel.add(deviationPanel);
+ graphInfoPanel.add(throughputPanel);
// Set up the graph with header, footer, Y axis and graph display
JPanel graphPanel = new JPanel();
1.4 +4 -1 jakarta-jmeter/src_1/org/apache/jmeter/visualizers/Sample.java
Index: Sample.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/visualizers/Sample.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- Sample.java 29 Apr 2002 17:08:15 -0000 1.3
+++ Sample.java 23 May 2002 15:47:07 -0000 1.4
@@ -78,6 +78,8 @@
* Description of the Field
*/
public long deviation;
+
+ public float throughput;
/**
* Constructor for the Sample object
@@ -86,10 +88,11 @@
*@param average Description of Parameter
*@param deviation Description of Parameter
*/
- public Sample(long data, long average, long deviation)
+ public Sample(long data, long average, long deviation,float throughput)
{
this.data = data;
this.average = average;
this.deviation = deviation;
+ this.throughput = throughput;
}
}
1.5 +3 -3 jakarta-jmeter/src_1/org/apache/jmeter/visualizers/TableDataModel.java
Index: TableDataModel.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/visualizers/TableDataModel.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- TableDataModel.java 1 May 2002 23:48:53 -0000 1.4
+++ TableDataModel.java 23 May 2002 15:47:07 -0000 1.5
@@ -104,9 +104,9 @@
return "View Results in Table";
}
- public Sample addNewSample(long time,boolean success,String url)
+ public Sample addNewSample(long time,long timeStamp,boolean success,String url)
{
- Sample s = super.addNewSample(time);
+ Sample s = super.addNewSample(time,timeStamp);
successList.add(new Boolean(success));
System.out.println("Url = "+url);
urlList.add(url);
@@ -115,7 +115,7 @@
public Sample addSample(SampleResult e)
{
- Sample s = addNewSample(e.getTime(),e.isSuccessful(),
+ Sample s = addNewSample(e.getTime(),e.getTimeStamp(),e.isSuccessful(),
(String)e.getSampleLabel());
fireDataChanged();
return s;
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>