jmeter-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sebb <seb...@gmail.com>
Subject Re: svn commit: r1759062 - in /jmeter/trunk: bin/ src/components/org/apache/jmeter/validation/ src/core/org/apache/jmeter/gui/action/ xdocs/ xdocs/usermanual/
Date Sat, 03 Sep 2016 11:04:58 GMT
I think this is a bad idea.

It's unnecessary code to achieve what can already be done by disabling
the timer.

Please don't make changes like this before discussing them first.

On 3 September 2016 at 10:24,  <pmouawad@apache.org> wrote:
> Author: pmouawad
> Date: Sat Sep  3 09:24:08 2016
> New Revision: 1759062
>
> URL: http://svn.apache.org/viewvc?rev=1759062&view=rev
> Log:
> Bug 60082 - Validation mode : Be able to force Throughput Controller to run as if it
was set to 100%
> Bugzilla Id: 60082
>
> Added:
>     jmeter/trunk/src/components/org/apache/jmeter/validation/
>     jmeter/trunk/src/components/org/apache/jmeter/validation/ComponentTreeClonerForValidation.java
  (with props)
> Modified:
>     jmeter/trunk/bin/jmeter.properties
>     jmeter/trunk/src/core/org/apache/jmeter/gui/action/Start.java
>     jmeter/trunk/xdocs/changes.xml
>     jmeter/trunk/xdocs/usermanual/component_reference.xml
>
> Modified: jmeter/trunk/bin/jmeter.properties
> URL: http://svn.apache.org/viewvc/jmeter/trunk/bin/jmeter.properties?rev=1759062&r1=1759061&r2=1759062&view=diff
> ==============================================================================
> --- jmeter/trunk/bin/jmeter.properties (original)
> +++ jmeter/trunk/bin/jmeter.properties Sat Sep  3 09:24:08 2016
> @@ -1232,7 +1232,7 @@ system.properties=system.properties
>  # It runs validation without timers, with 1 thread, 1 iteration and Startup Delay set
to 0
>  # You can implement your own policy that must extend org.apache.jmeter.engine.TreeCloner
>  # JMeter will instantiate it and use it to create the Tree used to run validation on
Thread Group
> -#testplan_validation.tree_cloner_class=org.apache.jmeter.gui.action.validation.TreeClonerForValidation
> +#testplan_validation.tree_cloner_class=org.apache.jmeter.validation.ComponentTreeClonerForValidation
>
>  # Number of threads to use to validate a Thread Group
>  #testplan_validation.nb_threads_per_thread_group=1
> @@ -1242,3 +1242,7 @@ system.properties=system.properties
>
>  # Number of iterations to use to validate a Thread Group
>  #testplan_validation.number_iterations=1
> +
> +# Force throuput controllers that work in percentage mode to be a 100%
> +# Disabled by default
> +#testplan_validation.tpc_force_100_pct=false
> \ No newline at end of file
>
> Added: jmeter/trunk/src/components/org/apache/jmeter/validation/ComponentTreeClonerForValidation.java
> URL: http://svn.apache.org/viewvc/jmeter/trunk/src/components/org/apache/jmeter/validation/ComponentTreeClonerForValidation.java?rev=1759062&view=auto
> ==============================================================================
> --- jmeter/trunk/src/components/org/apache/jmeter/validation/ComponentTreeClonerForValidation.java
(added)
> +++ jmeter/trunk/src/components/org/apache/jmeter/validation/ComponentTreeClonerForValidation.java
Sat Sep  3 09:24:08 2016
> @@ -0,0 +1,58 @@
> +/*
> + * Licensed to the Apache Software Foundation (ASF) under one or more
> + * contributor license agreements.  See the NOTICE file distributed with
> + * this work for additional information regarding copyright ownership.
> + * The ASF licenses this file to You under the Apache License, Version 2.0
> + * (the "License"); you may not use this file except in compliance with
> + * the License.  You may obtain a copy of the License at
> + *
> + *   http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing, software
> + * distributed under the License is distributed on an "AS IS" BASIS,
> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
> + * See the License for the specific language governing permissions and
> + * limitations under the License.
> + *
> + */
> +
> +package org.apache.jmeter.validation;
> +
> +import org.apache.jmeter.control.ThroughputController;
> +import org.apache.jmeter.gui.action.validation.TreeClonerForValidation;
> +import org.apache.jmeter.util.JMeterUtils;
> +
> +/**
> + * Clones the test tree, modifying throughput controller percentage
> + * @since 3.1
> + */
> +public class ComponentTreeClonerForValidation extends TreeClonerForValidation {
> +
> +    /**
> +     * For 100% on ThroughputController
> +     */
> +    protected static final boolean VALIDATION_TPC_FORCE_100_PERCENT = JMeterUtils.getPropDefault("testplan_validation.tpc_force_100_pct",
false); //$NON-NLS-1$
> +
> +    public ComponentTreeClonerForValidation() {
> +        this(false);
> +    }
> +
> +    public ComponentTreeClonerForValidation(boolean honourNoThreadClone) {
> +        super(honourNoThreadClone);
> +    }
> +
> +    /**
> +     * @see org.apache.jmeter.engine.TreeCloner#addNodeToTree(java.lang.Object)
> +     */
> +    @Override
> +    protected Object addNodeToTree(Object node) {
> +        Object clonedNode = super.addNodeToTree(node);
> +        if (VALIDATION_TPC_FORCE_100_PERCENT && clonedNode instanceof ThroughputController)
{
> +            ThroughputController tc = (ThroughputController) clonedNode;
> +            if(tc.getStyle() == ThroughputController.BYPERCENT) {
> +                tc.setPercentThroughput(100);
> +            }
> +        }
> +        return clonedNode;
> +    }
> +}
>
> Propchange: jmeter/trunk/src/components/org/apache/jmeter/validation/ComponentTreeClonerForValidation.java
> ------------------------------------------------------------------------------
>     svn:mime-type = text/plain
>
> Modified: jmeter/trunk/src/core/org/apache/jmeter/gui/action/Start.java
> URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/gui/action/Start.java?rev=1759062&r1=1759061&r2=1759062&view=diff
> ==============================================================================
> --- jmeter/trunk/src/core/org/apache/jmeter/gui/action/Start.java (original)
> +++ jmeter/trunk/src/core/org/apache/jmeter/gui/action/Start.java Sat Sep  3 09:24:08
2016
> @@ -71,7 +71,7 @@ public class Start extends AbstractActio
>       */
>      private static final String CLONER_FOR_VALIDATION_CLASS_NAME =
>              JMeterUtils.getPropDefault(VALIDATION_CLONER_CLASS_PROPERTY_NAME, //$NON-NLS-1$
> -                    TreeClonerForValidation.class.getName());
> +                    "org.apache.jmeter.validation.ComponentTreeClonerForValidation");
>
>      static {
>          commands.add(ActionNames.ACTION_START);
>
> Modified: jmeter/trunk/xdocs/changes.xml
> URL: http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml?rev=1759062&r1=1759061&r2=1759062&view=diff
> ==============================================================================
> --- jmeter/trunk/xdocs/changes.xml [utf-8] (original)
> +++ jmeter/trunk/xdocs/changes.xml [utf-8] Sat Sep  3 09:24:08 2016
> @@ -94,6 +94,7 @@ Summary
>  <ul>
>      <li><bug>59351</bug>Improve log/error/message for IncludeController.
Partly contributed by Antonio Gomes Rodrigues (ra0077 at gmail.com)</li>
>      <li><bug>60023</bug>ThroughputController : Make "Percent Executions"
and global the default values. Contributed by Ubik Load Pack (support at ubikloadpack.com)</li>
> +    <li><bug>60082</bug>Validation mode : Be able to force Throughput
Controller to run as if it was set to 100%</li>
>  </ul>
>
>  <h3>Listeners</h3>
>
> Modified: jmeter/trunk/xdocs/usermanual/component_reference.xml
> URL: http://svn.apache.org/viewvc/jmeter/trunk/xdocs/usermanual/component_reference.xml?rev=1759062&r1=1759061&r2=1759062&view=diff
> ==============================================================================
> --- jmeter/trunk/xdocs/usermanual/component_reference.xml (original)
> +++ jmeter/trunk/xdocs/usermanual/component_reference.xml Sat Sep  3 09:24:08 2016
> @@ -6171,11 +6171,12 @@ Since JMeter 3.0, you can run a selectio
>
>  <b>Validation Mode:</b><br></br>
>  This mode enables rapid validation of a Thread Group by running it with 1 thread, 1
iteration, no timers and no <code>Startup delay</code> set to 0.
> -The 3 first properties can be modified by setting in user.properties:
> +Behaviour can be modified with some properties by setting in user.properties:
>  <ul>
>  <li><code>testplan_validation.nb_threads_per_thread_group</code> :
Number of threads to use to validate a Thread Group, by default 1</li>
>  <li><code>testplan_validation.ignore_timers</code> : Ignore timers
when validating the thread group of plan, by default 1</li>
>  <li><code>testplan_validation.number_iterations</code> : Number of
iterations to use to validate a Thread Group</li>
> +<li><code>testplan_validation.tpc_force_100_pct</code> : Wether to
force Throughput Controller in percentage mode to run as if percentage was 100%. Defaults
to false</li>
>  </ul>
>  </p>
>
>
>

Mime
View raw message