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