You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jmeter-dev@jakarta.apache.org by ms...@apache.org on 2003/06/11 16:48:49 UTC
cvs commit: jakarta-jmeter/xdocs/usermanual get-started.xml index.xml
mstover1 2003/06/11 07:48:49
Modified: docs/usermanual get-started.html index.html
src/core/org/apache/jmeter JMeter.java
src/functions/org/apache/jmeter/functions
StringFromFile.java
xdocs/usermanual get-started.xml index.xml
Log:
New command line options to override properties and documentation to go with it
Revision Changes Path
1.31 +31 -0 jakarta-jmeter/docs/usermanual/get-started.html
Index: get-started.html
===================================================================
RCS file: /home/cvs/jakarta-jmeter/docs/usermanual/get-started.html,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -r1.30 -r1.31
--- get-started.html 9 Jun 2003 16:07:57 -0000 1.30
+++ get-started.html 11 Jun 2003 14:48:47 -0000 1.31
@@ -565,6 +565,37 @@
</td></tr>
<tr><td><br/></td></tr>
</table>
+ <table border="0" cellspacing="0" cellpadding="2" width="100%">
+ <tr><td bgcolor="#828DA6">
+ <font color="#ffffff" face="arial,helvetica,sanserif">
+ <a name="override"><strong>2.4.5 Overriding Properties Via The Command Line</strong></a>
+ </font>
+ </td></tr>
+ <tr><td>
+ <blockquote>
+ <p >
+ Java system properties, JMeter properties, and logging properties can be overriden directly on the command line (instead of modifying jmeter.properties).
+To do so, use the following options:
+ </p>
+ <p >
+ -D[prop_name]=[value] - defines a java system property value.
+ </p>
+ <p >
+ -J[prop name]=[value] - overrides a JMeter property.
+ </p>
+ <p >
+ -L[category]=[priority] - overrides a logging setting, setting a particular category to the given priority level.
+ </p>
+ <p >
+ <b >
+ Example
+ </b>
+ : jmeter -Duser.dir=/home/mstover/jmeter_stuff -Jremote_hosts=127.0.0.1 -Ljmeter.engine=DEBUG
+ </p>
+ </blockquote>
+ </td></tr>
+ <tr><td><br/></td></tr>
+ </table>
</blockquote>
</p>
</td></tr>
1.38 +7 -0 jakarta-jmeter/docs/usermanual/index.html
Index: index.html
===================================================================
RCS file: /home/cvs/jakarta-jmeter/docs/usermanual/index.html,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -r1.37 -r1.38
--- index.html 9 Jun 2003 16:07:57 -0000 1.37
+++ index.html 11 Jun 2003 14:48:47 -0000 1.38
@@ -270,6 +270,13 @@
</a>
</li>
+
+ <li >
+ <a href="get-started.html#override">
+ 2.4.5 Overriding Properties Via The Command Line
+ </a>
+ </li>
+
</ul>
1.14 +72 -4 jakarta-jmeter/src/core/org/apache/jmeter/JMeter.java
Index: JMeter.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/JMeter.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- JMeter.java 8 May 2003 18:29:14 -0000 1.13
+++ JMeter.java 11 Jun 2003 14:48:48 -0000 1.14
@@ -58,6 +58,8 @@
import java.io.File;
import java.io.FileInputStream;
import java.net.Authenticator;
+import java.util.List;
+import java.util.Properties;
import org.apache.avalon.excalibur.cli.CLArgsParser;
import org.apache.avalon.excalibur.cli.CLOption;
@@ -92,7 +94,7 @@
import org.apache.jmeter.visualizers.gui.AbstractVisualizer;
import org.apache.jorphan.collections.HashTree;
import org.apache.jorphan.gui.ComponentUtil;
-import org.apache.log.Hierarchy;
+import org.apache.jorphan.logging.LoggingManager;
import org.apache.log.Logger;
/**
@@ -102,8 +104,7 @@
* Window>Preferences>Java>Templates.
*/
public class JMeter implements JMeterPlugin {
- transient private static Logger log = Hierarchy.getDefaultHierarchy().getLoggerFor(
- "jmeter");
+ transient private static Logger log = LoggingManager.getLoggerForClass();
private final static int PROPFILE_OPT = 'p';
private final static int TESTFILE_OPT = 't';
@@ -116,6 +117,9 @@
protected static final int PROXY_PORT = 'P';
protected static final int PROXY_USERNAME = 'u';
protected static final int PROXY_PASSWORD = 'a';
+ private static final int JMETER_PROPERTY = 'J';
+ private static final int SYSTEM_PROPERTY = 'D';
+ private static final int LOGLEVEL = 'L';
/**
* Define the understood options. Each CLOptionDescriptor contains:
@@ -183,6 +187,24 @@
CLOptionDescriptor.ARGUMENT_REQUIRED,
PROXY_PASSWORD,
"Set password for proxy server that JMeter is to use"),
+ new CLOptionDescriptor(
+ "jmeterproperty",
+ CLOptionDescriptor.DUPLICATES_ALLOWED
+ | CLOptionDescriptor.ARGUMENTS_REQUIRED_2,
+ JMETER_PROPERTY,
+ "Define additional JMeter properties"),
+ new CLOptionDescriptor(
+ "systemproperty",
+ CLOptionDescriptor.DUPLICATES_ALLOWED
+ | CLOptionDescriptor.ARGUMENTS_REQUIRED_2,
+ SYSTEM_PROPERTY,
+ "Define additional JMeter properties"),
+ new CLOptionDescriptor(
+ "loglevel",
+ CLOptionDescriptor.DUPLICATES_ALLOWED
+ | CLOptionDescriptor.ARGUMENTS_REQUIRED_2,
+ LOGLEVEL,
+ "Define loglevel: [category=]level e.g. jorphan=INFO or jmeter.util=DEBUG"),
};
public JMeter() {
@@ -214,6 +236,7 @@
try
{
File f = new File(testFile.getArgument());
+ log.info("Loading file: "+f);
FileInputStream reader = new FileInputStream(f);
HashTree tree = SaveService.loadSubTree(reader);
new Load().insertLoadedTree(1,tree);
@@ -238,6 +261,7 @@
try {
initializeProperties(parser);
setProxy(parser);
+ log.info("Version " + JMeterUtils.getJMeterVersion());
if (parser.getArgumentById(VERSION_OPT) != null) {
System.out.println(
"Apache JMeter, Copyright (c) 2002 The Apache Software Foundation");
@@ -314,6 +338,49 @@
File.separator + "bin" + File.separator + "jmeter.properties");
}
JMeterUtils.setJMeterHome(NewDriver.getJMeterDir());
+
+// Process command line property definitions (can occur multiple times)
+
+ Properties jmeterProps = JMeterUtils.getJMeterProperties();
+ List clOptions = parser.getArguments();
+ int size = clOptions.size();
+
+ for (int i = 0; i < size; i++) {
+ CLOption option = (CLOption) clOptions.get(i);
+ String name=option.getArgument(0);
+ String value=option.getArgument(1);
+
+ switch (option.getId()) {
+ case SYSTEM_PROPERTY:
+ if (value.length() > 0){ // Set it
+ log.info("Setting System property: "+name+"="+value);
+ System.getProperties().setProperty(name,value);
+ } else { // Reset it
+ log.warn("Removing System property: "+name);
+ System.getProperties().remove(name);
+ }
+ break;
+ case JMETER_PROPERTY:
+ if (value.length() > 0){ // Set it
+ log.info("Setting JMeter property: "+name+"="+value);
+ jmeterProps.setProperty(name,value);
+ } else { // Reset it
+ log.warn("Removing JMeter property: "+name);
+ jmeterProps.remove(name);
+ }
+ break;
+ case LOGLEVEL:
+ if (value.length() > 0){ // Set category
+ log.info("LogLevel: "+name+"="+value);
+ LoggingManager.setPriority(value,name);
+ } else { // Set root level
+ log.warn("LogLevel: "+name);
+ LoggingManager.setPriority(name);
+ }
+ break;
+ }
+ }
+
}
public void startServer() {
@@ -342,7 +409,7 @@
}
}
- private void run(String testFile, String logFile) {
+ private void run(String testFile, String logFile) {// run test in batch mode
FileInputStream reader = null;
try {
File f = new File(testFile);
@@ -352,6 +419,7 @@
}
reader = new FileInputStream(f);
+ log.info("Loading file: "+f);
HashTree tree = SaveService.loadSubTree(reader);
if(logFile != null)
1.7 +4 -5 jakarta-jmeter/src/functions/org/apache/jmeter/functions/StringFromFile.java
Index: StringFromFile.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src/functions/org/apache/jmeter/functions/StringFromFile.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- StringFromFile.java 5 Jun 2003 00:24:22 -0000 1.6
+++ StringFromFile.java 11 Jun 2003 14:48:49 -0000 1.7
@@ -67,7 +67,7 @@
import org.apache.jmeter.samplers.Sampler;
import org.apache.jmeter.threads.JMeterVariables;
import org.apache.jmeter.util.JMeterUtils;
-import org.apache.log.Hierarchy;
+import org.apache.jorphan.logging.LoggingManager;
import org.apache.log.Logger;
@@ -101,8 +101,7 @@
*/
public class StringFromFile extends AbstractFunction implements Serializable
{
- transient private static Logger log = Hierarchy.getDefaultHierarchy().getLoggerFor(
- "jmeter.elements");
+ private static Logger log = LoggingManager.getLoggerForClass();
private static final List desc = new LinkedList();
private static final String KEY = "_StringFromFile"; // Function name (only 1 _)
@@ -196,7 +195,7 @@
values = parameters.toArray();
if (( values.length > 2 ) || (values.length < 1)) {
- throw new InvalidVariableException();
+ throw new InvalidVariableException("Wrong number of parameters");
}
openFile();
1.16 +9 -0 jakarta-jmeter/xdocs/usermanual/get-started.xml
Index: get-started.xml
===================================================================
RCS file: /home/cvs/jakarta-jmeter/xdocs/usermanual/get-started.xml,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- get-started.xml 9 Jun 2003 16:07:59 -0000 1.15
+++ get-started.xml 11 Jun 2003 14:48:49 -0000 1.16
@@ -145,6 +145,15 @@
-P [proxy server port]</p>
<p><b>Example</b>: jmeter-server -H my.proxy.server -P 8000</p>
</subsection>
+
+<subsection name="2.4.5 Overriding Properties Via The Command Line" anchor="override">
+<p>Java system properties, JMeter properties, and logging properties can be overriden directly on the command line (instead of modifying jmeter.properties).
+To do so, use the following options:</p>
+<p>-D[prop_name]=[value] - defines a java system property value.</p>
+<p>-J[prop name]=[value] - overrides a JMeter property.</p>
+<p>-L[category]=[priority] - overrides a logging setting, setting a particular category to the given priority level.</p>
+<p><b>Example</b>: jmeter -Duser.dir=/home/mstover/jmeter_stuff -Jremote_hosts=127.0.0.1 -Ljmeter.engine=DEBUG</p>
+</subsection>
</section>
<section name="2.5 Configuring JMeter" anchor="configuring_jmeter">
1.25 +1 -0 jakarta-jmeter/xdocs/usermanual/index.xml
Index: index.xml
===================================================================
RCS file: /home/cvs/jakarta-jmeter/xdocs/usermanual/index.xml,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -r1.24 -r1.25
--- index.xml 4 Jun 2003 14:31:45 -0000 1.24
+++ index.xml 11 Jun 2003 14:48:49 -0000 1.25
@@ -39,6 +39,7 @@
<li><a href="get-started.html#proxy_server">2.4.2 Using a Proxy Server</a></li>
<li><a href="get-started.html#non_gui">2.4.3 Non-GUI Mode</a></li>
<li><a href="get-started.html#server">2.4.4 Distributed Mode</a></li>
+ <li><a href="get-started.html#override">2.4.5 Overriding Properties Via The Command Line</a></li>
</ul>
<li><a href="get-started.html#configuring_jmeter">2.5 Configuring JMeter</a></li>
</ul>
---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org