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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to