jmeter-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Philippe Mouawad <philippe.moua...@gmail.com>
Subject Re: svn commit: r1517293 - in /jmeter/trunk: bin/ src/core/org/apache/jmeter/resources/ src/core/org/apache/jmeter/testelement/ src/jorphan/org/apache/jorphan/exec/ src/protocol/native/org/apache/jmeter/protocol/system/ src/protocol/native/org/apache/jmete...
Date Tue, 27 Aug 2013 19:39:13 GMT
Hello sebb,
About your note:
This will leave proc running.

My answer was wrong, for me it works , as destroy will be called in
finally, right ?



On Tue, Aug 27, 2013 at 3:00 PM, Philippe Mouawad <
philippe.mouawad@gmail.com> wrote:

>
>
>
> On Tue, Aug 27, 2013 at 2:54 PM, sebb <sebbaz@gmail.com> wrote:
>
>> On 25 August 2013 15:11,  <pmouawad@apache.org> wrote:
>> > Author: pmouawad
>> > Date: Sun Aug 25 14:11:05 2013
>> > New Revision: 1517293
>> >
>> > URL: http://svn.apache.org/r1517293
>> > Log:
>> > Bug 55403 - Enhancement to OS sampler: Support for timeout
>> > Bugzilla Id: 55403
>> >
>> > Modified:
>> >     jmeter/trunk/bin/jmeter.properties
>> >
>> jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties
>> >
>> jmeter/trunk/src/core/org/apache/jmeter/resources/messages_fr.properties
>> >
>> jmeter/trunk/src/core/org/apache/jmeter/testelement/AbstractTestElement.java
>> >     jmeter/trunk/src/core/org/apache/jmeter/testelement/TestElement.java
>> >     jmeter/trunk/src/jorphan/org/apache/jorphan/exec/SystemCommand.java
>> >
>> jmeter/trunk/src/protocol/native/org/apache/jmeter/protocol/system/NativeCommand.java
>> >
>> jmeter/trunk/src/protocol/native/org/apache/jmeter/protocol/system/SystemSampler.java
>> >
>> jmeter/trunk/src/protocol/native/org/apache/jmeter/protocol/system/gui/SystemSamplerGui.java
>> >     jmeter/trunk/xdocs/changes.xml
>> >
>> > Modified: jmeter/trunk/bin/jmeter.properties
>> > URL:
>> http://svn.apache.org/viewvc/jmeter/trunk/bin/jmeter.properties?rev=1517293&r1=1517292&r2=1517293&view=diff
>> >
>> ==============================================================================
>> > --- jmeter/trunk/bin/jmeter.properties (original)
>> > +++ jmeter/trunk/bin/jmeter.properties Sun Aug 25 14:11:05 2013
>> > @@ -626,6 +626,12 @@ wmlParser.types=text/vnd.wap.wml
>> >  # monitor.buffer.size=800
>> >
>> >
>>  #---------------------------------------------------------------------------
>> > +# OS Process Sampler configuration
>> >
>> +#---------------------------------------------------------------------------
>> > +# Polling to see if process has finished its work, used when a timeout
>> is configured on sampler
>> > +#os_sampler.poll_for_timeout=100
>> > +
>> >
>> +#---------------------------------------------------------------------------
>> >  # TCP Sampler configuration
>> >
>>  #---------------------------------------------------------------------------
>> >
>> >
>> > Modified:
>> jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties
>> > URL:
>> http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties?rev=1517293&r1=1517292&r2=1517293&view=diff
>> >
>> ==============================================================================
>> > ---
>> jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties
>> (original)
>> > +++
>> jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties Sun
>> Aug 25 14:11:05 2013
>> > @@ -1090,6 +1090,8 @@ throughput_control_title=Throughput Cont
>> >  throughput_control_tplabel=Throughput
>> >  time_format=Format string for SimpleDateFormat (optional)
>> >  timelim=Time limit
>> > +timeout_config_box_title=Timeout configuration
>> > +timeout_title=Timeout (ms)
>> >  toggle=Toggle
>> >  toolbar_icon_set_not_found=The file description of toolbar icon set is
>> not found. See logs.
>> >  total_threads_tooltip=Total number of threads to run
>> >
>> > Modified:
>> jmeter/trunk/src/core/org/apache/jmeter/resources/messages_fr.properties
>> > URL:
>> http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/resources/messages_fr.properties?rev=1517293&r1=1517292&r2=1517293&view=diff
>> >
>> ==============================================================================
>> > ---
>> jmeter/trunk/src/core/org/apache/jmeter/resources/messages_fr.properties
>> (original)
>> > +++
>> jmeter/trunk/src/core/org/apache/jmeter/resources/messages_fr.properties
>> Sun Aug 25 14:11:05 2013
>> > @@ -1083,6 +1083,8 @@ throughput_control_title=Contr\u00F4leur
>> >  throughput_control_tplabel=D\u00E9bit \:
>> >  time_format=Chaine de formatage sur le mod\u00E8le SimpleDateFormat
>> (optionnel)
>> >  timelim=Limiter le temps de r\u00E9ponses \u00E0 (ms)
>> > +timeout_config_box_title=Configuration du d\u00E9lai d'expiration
>> > +timeout_title=D\u00E9lai expiration (ms)
>> >  toggle=Permuter
>> >  toolbar_icon_set_not_found=Le fichier de description des ic\u00F4nes
>> de la barre d'outils n'est pas trouv\u00E9. Voir les journaux.
>> >  total_threads_tooltip=Nombre total d'Unit\u00E9s \u00E0 lancer
>> >
>> > Modified:
>> jmeter/trunk/src/core/org/apache/jmeter/testelement/AbstractTestElement.java
>> > URL:
>> http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/testelement/AbstractTestElement.java?rev=1517293&r1=1517292&r2=1517293&view=diff
>> >
>> ==============================================================================
>> > ---
>> jmeter/trunk/src/core/org/apache/jmeter/testelement/AbstractTestElement.java
>> (original)
>> > +++
>> jmeter/trunk/src/core/org/apache/jmeter/testelement/AbstractTestElement.java
>> Sun Aug 25 14:11:05 2013
>> > @@ -33,6 +33,7 @@ import org.apache.jmeter.testelement.pro
>> >  import org.apache.jmeter.testelement.property.CollectionProperty;
>> >  import org.apache.jmeter.testelement.property.IntegerProperty;
>> >  import org.apache.jmeter.testelement.property.JMeterProperty;
>> > +import org.apache.jmeter.testelement.property.LongProperty;
>> >  import org.apache.jmeter.testelement.property.MapProperty;
>> >  import org.apache.jmeter.testelement.property.MultiProperty;
>> >  import org.apache.jmeter.testelement.property.NullProperty;
>> > @@ -406,7 +407,7 @@ public abstract class AbstractTestElemen
>> >      }
>> >
>> >      /**
>> > -     * Create a boolean property - but only if it is not the default.
>> > +     * Create an int property - but only if it is not the default.
>> >       * This is intended for use when adding new properties to JMeter
>> >       * so that JMX files are not expanded unnecessarily.
>> >       *
>> > @@ -424,6 +425,31 @@ public abstract class AbstractTestElemen
>> >              setProperty(new IntegerProperty(name, value));
>> >          }
>> >      }
>> > +
>> > +    @Override
>> > +    public void setProperty(String name, long value) {
>> > +        setProperty(new LongProperty(name, value));
>> > +    }
>> > +
>> > +    /**
>> > +     * Create a long property - but only if it is not the default.
>> > +     * This is intended for use when adding new properties to JMeter
>> > +     * so that JMX files are not expanded unnecessarily.
>> > +     *
>> > +     * N.B. - must agree with the default applied when reading the
>> property.
>> > +     *
>> > +     * @param name property name
>> > +     * @param value current value
>> > +     * @param dflt default
>> > +     */
>> > +    @Override
>> > +    public void setProperty(String name, long value, long dflt) {
>> > +        if (value == dflt) {
>> > +            removeProperty(name);
>> > +        } else {
>> > +            setProperty(new LongProperty(name, value));
>> > +        }
>> > +    }
>> >
>> >      @Override
>> >      public PropertyIterator propertyIterator() {
>> >
>> > Modified:
>> jmeter/trunk/src/core/org/apache/jmeter/testelement/TestElement.java
>> > URL:
>> http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/testelement/TestElement.java?rev=1517293&r1=1517292&r2=1517293&view=diff
>> >
>> ==============================================================================
>> > ---
>> jmeter/trunk/src/core/org/apache/jmeter/testelement/TestElement.java
>> (original)
>> > +++
>> jmeter/trunk/src/core/org/apache/jmeter/testelement/TestElement.java Sun
>> Aug 25 14:11:05 2013
>> > @@ -56,6 +56,10 @@ public interface TestElement extends Clo
>> >
>> >      void setProperty(String key, int value, int dflt);
>> >
>> > +    void setProperty(String name, long value);
>> > +
>> > +    void setProperty(String name, long value, long dflt);
>> > +
>> >      /**
>> >       * Check if ENABLED property is present and true ; defaults to true
>> >       *
>>
>> Ideally it would have been better to add the changes to
>> TestElement/ATE in a separate commit, as they are generic.
>>
>
> You're right.
>
>>
>> > Modified:
>> jmeter/trunk/src/jorphan/org/apache/jorphan/exec/SystemCommand.java
>> > URL:
>> http://svn.apache.org/viewvc/jmeter/trunk/src/jorphan/org/apache/jorphan/exec/SystemCommand.java?rev=1517293&r1=1517292&r2=1517293&view=diff
>> >
>> ==============================================================================
>> > --- jmeter/trunk/src/jorphan/org/apache/jorphan/exec/SystemCommand.java
>> (original)
>> > +++ jmeter/trunk/src/jorphan/org/apache/jorphan/exec/SystemCommand.java
>> Sun Aug 25 14:11:05 2013
>> > @@ -26,6 +26,7 @@ import java.util.Collections;
>> >  import java.util.List;
>> >  import java.util.Map;
>> >
>> > +import org.apache.jmeter.util.JMeterUtils;
>> >  import org.apache.jorphan.util.JOrphanUtils;
>> >
>> >  /**
>> > @@ -33,6 +34,7 @@ import org.apache.jorphan.util.JOrphanUt
>> >   */
>> >  public class SystemCommand {
>> >
>> > +    private static final int POLL_INTERVAL =
>> JMeterUtils.getPropDefault("os_sampler.poll_for_timeout", 100);
>> >      private StreamGobbler outputGobbler;
>> >      private final File directory;
>> >      private final Map<String, String> env;
>> > @@ -40,25 +42,28 @@ public class SystemCommand {
>> >      private final String stdin;
>> >      private final String stdout;
>> >      private final String stderr;
>> > +    private final long timeoutMillis;
>> >
>> >      /**
>> >       * @param env Environment variables appended to environment (may
>> be null)
>> >       * @param directory File working directory (may be null)
>> >       */
>> >      public SystemCommand(File directory, Map<String, String> env) {
>> > -        this(directory, env, null, null, null);
>> > +        this(directory, 0L, env, null, null, null);
>> >      }
>> >
>> >      /**
>> >       *
>> >       * @param env Environment variables appended to environment (may
>> be null)
>> >       * @param directory File working directory (may be null)
>> > +     * @param timeoutMillis timeout in Milliseconds
>> >       * @param stdin File name that will contain data to be input to
>> process (may be null)
>> >       * @param stdout File name that will contain out stream (may be
>> null)
>> >       * @param stderr File name that will contain err stream (may be
>> null)
>> >       */
>> > -    public SystemCommand(File directory, Map<String, String> env,
>> String stdin, String stdout, String stderr) {
>> > +    public SystemCommand(File directory, long timeoutMillis,
>> Map<String, String> env, String stdin, String stdout, String stderr) {
>> >          super();
>> > +        this.timeoutMillis = timeoutMillis;
>> >          this.directory = directory;
>> >          this.env = env;
>> >          this.stdin = JOrphanUtils.nullifyIfEmptyTrimmed(stdin);
>> > @@ -108,7 +113,7 @@ public class SystemCommand {
>> >              } else {
>> >                  proc.getOutputStream().close(); // ensure the
>> application does not hang if it requests input
>> >              }
>> > -            int exitVal = proc.waitFor();
>> > +            int exitVal = waitForEndWithTimeout(proc, timeoutMillis);
>> >
>> >              if (outputGobbler != null) {
>> >                  outputGobbler.join();
>> > @@ -139,6 +144,44 @@ public class SystemCommand {
>> >      }
>> >
>> >      /**
>> > +     * Wait for end of proc execution or timeout if timeoutInMillis is
>> greater than 0
>> > +     * @param proc Process
>> > +     * @param timeoutInMillis long timeout in ms
>> > +     * @return proc exit value
>> > +     * @throws InterruptedException
>> > +     */
>> > +    private int waitForEndWithTimeout(Process proc, long
>> timeoutInMillis) throws InterruptedException {
>> > +        if (timeoutInMillis <= 0L) {
>> > +            return proc.waitFor();
>> > +        } else {
>> > +            long now = System.currentTimeMillis();
>> > +            long finish = now + timeoutInMillis;
>> > +            while (isAlive(proc) && (System.currentTimeMillis() <
>> finish)) {
>> > +                Thread.sleep(POLL_INTERVAL);
>> > +            }
>> > +
>> > +            if (isAlive(proc)) {
>>
>> This will leave the process running. Is that intentional?
>>
>> If so, it needs to be documented.
>>
>
> You mean we should call proc.destroy().
> Good catch although I remember there may be issues with destro on Windows
>
>>
>> > +                throw new InterruptedException( "Process timeout out
>> after " + timeoutInMillis + " milliseconds" );
>> > +            }
>> > +            return proc.exitValue();
>> > +        }
>> > +    }
>> > +
>> > +    /**
>> > +     *
>> > +     * @param p Process
>> > +     * @return true if p is still running
>> > +     */
>> > +    public static boolean isAlive(Process p) {
>> > +        try {
>> > +            p.exitValue();
>> > +            return false;
>> > +        } catch (IllegalThreadStateException e) {
>> > +            return true;
>> > +        }
>> > +    }
>> > +
>> > +    /**
>> >       * @return Out/Err stream contents
>> >       */
>> >      public String getOutResult() {
>> >
>> > Modified:
>> jmeter/trunk/src/protocol/native/org/apache/jmeter/protocol/system/NativeCommand.java
>> > URL:
>> http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/native/org/apache/jmeter/protocol/system/NativeCommand.java?rev=1517293&r1=1517292&r2=1517293&view=diff
>> >
>> ==============================================================================
>> > ---
>> jmeter/trunk/src/protocol/native/org/apache/jmeter/protocol/system/NativeCommand.java
>> (original)
>> > +++
>> jmeter/trunk/src/protocol/native/org/apache/jmeter/protocol/system/NativeCommand.java
>> Sun Aug 25 14:11:05 2013
>> > @@ -45,7 +45,7 @@ public class NativeCommand extends  org.
>> >       * @param stderr File name that will contain err stream
>> >       */
>> >      public NativeCommand(File directory, Map<String, String> env,
>> String stdin, String stdout, String stderr) {
>> > -        super(directory, env, stdin, stdout, stderr);
>> > +        super(directory, 0L, env, stdin, stdout, stderr);
>> >      }
>> >
>> >  }
>> > \ No newline at end of file
>> >
>> > Modified:
>> jmeter/trunk/src/protocol/native/org/apache/jmeter/protocol/system/SystemSampler.java
>> > URL:
>> http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/native/org/apache/jmeter/protocol/system/SystemSampler.java?rev=1517293&r1=1517292&r2=1517293&view=diff
>> >
>> ==============================================================================
>> > ---
>> jmeter/trunk/src/protocol/native/org/apache/jmeter/protocol/system/SystemSampler.java
>> (original)
>> > +++
>> jmeter/trunk/src/protocol/native/org/apache/jmeter/protocol/system/SystemSampler.java
>> Sun Aug 25 14:11:05 2013
>> > @@ -67,6 +67,8 @@ public class SystemSampler extends Abstr
>> >
>> >      private static final String STDIN = "SystemSampler.stdin";
>> >
>> > +    private static final String TIMEOUT = "SystemSampler.timeout";
>> > +
>> >      // - JMX names
>> >
>> >      /**
>> > @@ -144,7 +146,7 @@ public class SystemSampler extends Abstr
>> >                  "\nEnvironment:"+env+
>> >                  "\nExecuting:" + cmdLine.toString());
>> >
>> > -        SystemCommand nativeCommand = new SystemCommand(directory,
>> env, getStdin(), getStdout(), getStderr());
>> > +        SystemCommand nativeCommand = new SystemCommand(directory,
>> getTimeout(), env, getStdin(), getStdout(), getStderr());
>> >
>> >          try {
>> >              results.sampleStart();
>> > @@ -309,4 +311,11 @@ public class SystemSampler extends Abstr
>> >          setProperty(STDIN, filename, "");
>> >      }
>> >
>> > +    public long getTimeout() {
>> > +        return getPropertyAsLong(TIMEOUT, 0L);
>> > +    }
>> > +
>> > +    public void setTimout(long timeoutMs) {
>> > +        setProperty(TIMEOUT, timeoutMs, 0L);
>> > +    }
>> >  }
>> > \ No newline at end of file
>> >
>> > Modified:
>> jmeter/trunk/src/protocol/native/org/apache/jmeter/protocol/system/gui/SystemSamplerGui.java
>> > URL:
>> http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/native/org/apache/jmeter/protocol/system/gui/SystemSamplerGui.java?rev=1517293&r1=1517292&r2=1517293&view=diff
>> >
>> ==============================================================================
>> > ---
>> jmeter/trunk/src/protocol/native/org/apache/jmeter/protocol/system/gui/SystemSamplerGui.java
>> (original)
>> > +++
>> jmeter/trunk/src/protocol/native/org/apache/jmeter/protocol/system/gui/SystemSamplerGui.java
>> Sun Aug 25 14:11:05 2013
>> > @@ -40,12 +40,15 @@ import org.apache.jmeter.testelement.Tes
>> >  import org.apache.jmeter.util.JMeterUtils;
>> >  import org.apache.jorphan.gui.JLabeledTextField;
>> >  import org.apache.jorphan.gui.ObjectTableModel;
>> > +import org.apache.jorphan.logging.LoggingManager;
>> >  import org.apache.jorphan.reflect.Functor;
>> > +import org.apache.log.Logger;
>> >
>> >  /**
>> >   * GUI for {@link SystemSampler}
>> >   */
>> >  public class SystemSamplerGui extends AbstractSamplerGui implements
>> ItemListener {
>> > +    private static final Logger log =
>> LoggingManager.getLoggerForClass();
>> >
>> >      /**
>> >       *
>> > @@ -59,6 +62,7 @@ public class SystemSamplerGui extends Ab
>> >      private final FilePanelEntry stderr = new
>> FilePanelEntry(JMeterUtils.getResString("system_sampler_stderr")); //
>> $NON-NLS-1$
>> >      private JLabeledTextField directory;
>> >      private JLabeledTextField command;
>> > +    private JLabeledTextField timeout;
>> >      private ArgumentsPanel argsPanel;
>> >      private ArgumentsPanel envPanel;
>> >
>> > @@ -92,7 +96,8 @@ public class SystemSamplerGui extends Ab
>> >
>> >          JPanel streamsCodePane = new JPanel(new BorderLayout());
>> >          streamsCodePane.add(makeStreamsPanel(), BorderLayout.NORTH);
>> > -        streamsCodePane.add(makeReturnCodePanel(), BorderLayout.SOUTH);
>> > +        streamsCodePane.add(makeReturnCodePanel(),
>> BorderLayout.CENTER);
>> > +        streamsCodePane.add(makeTimeoutPanel(), BorderLayout.SOUTH);
>> >          add(streamsCodePane, BorderLayout.SOUTH);
>> >      }
>> >
>> > @@ -125,6 +130,13 @@ public class SystemSamplerGui extends Ab
>> >          systemSampler.setStdin(stdin.getFilename());
>> >          systemSampler.setStdout(stdout.getFilename());
>> >          systemSampler.setStderr(stderr.getFilename());
>> > +        if(!StringUtils.isEmpty(timeout.getText())) {
>> > +            try {
>> > +
>>  systemSampler.setTimout(Long.parseLong(timeout.getText()));
>> > +            } catch (NumberFormatException e) {
>> > +                log.error("Error parsing timeout field
>> value:"+timeout.getText(), e);
>> > +            }
>> > +        }
>> >      }
>> >
>> >      /* Overrides AbstractJMeterGuiComponent.configure(TestElement) */
>> > @@ -165,6 +177,21 @@ public class SystemSamplerGui extends Ab
>> >      }
>> >
>> >      /**
>> > +     * @return JPanel timeout config
>> > +     */
>> > +    private JPanel makeTimeoutPanel() {
>> > +        JPanel panel = new JPanel();
>> > +        panel.setLayout(new BoxLayout(panel, BoxLayout.X_AXIS));
>> > +        panel.setBorder(BorderFactory.createTitledBorder(
>> > +                BorderFactory.createEtchedBorder(),
>> > +
>>  JMeterUtils.getResString("timeout_config_box_title"))); // $NON-NLS-1$
>> > +        timeout = new
>> JLabeledTextField(JMeterUtils.getResString("timeout_title")); // $NON-NLS-1$
>> > +        timeout.setSize(timeout.getSize().height, 30);
>> > +        panel.add(timeout);
>> > +        return panel;
>> > +    }
>> > +
>> > +    /**
>> >       * @return JPanel Command + directory
>> >       */
>> >      private JPanel makeCommandPanel() {
>> >
>> > Modified: jmeter/trunk/xdocs/changes.xml
>> > URL:
>> http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml?rev=1517293&r1=1517292&r2=1517293&view=diff
>> >
>> ==============================================================================
>> > --- jmeter/trunk/xdocs/changes.xml (original)
>> > +++ jmeter/trunk/xdocs/changes.xml Sun Aug 25 14:11:05 2013
>> > @@ -73,6 +73,11 @@ citizen in JMeter, you can now test your
>> >  <figure width="906" height="313"
>> image="changes/2.10/03_mongodb_script_alpha.png"></figure>
>> >  </p>
>> >
>> > +<h4>* Timeout has been added to OS Process Sampler</h4>
>> > +<p>
>> > +<figure width="540" height="600"
>> image="changes/2.10/17_os_process_timeout.png"></figure>
>> > +</p>
>> > +
>> >  <h4>* Query timeout has been added to JDBC Request</h4>
>> >  <p>
>> >  <figure width="540" height="600"
>> image="changes/2.10/04_jdbc_request_timeout.png"></figure>
>> > @@ -129,19 +134,22 @@ template into your Test Plan</h4>
>> >  <figure width="911" height="614"
>> image="changes/2.10/11_color_syntax_jsr223_preprocessor.png"></figure>
>> >  </p>
>> >
>> > +<h4>* JMeter GUI can now be fully Internationalized, all remaining
>> issues have been fixed</h4>
>> > +<h5>Currently French has all its labels translated. Other languages
>> are partly translated, feel free to
>> > +contribute translations by reading <a
>> href="localising/index.html">Localisation (Translator's Guide)</a></h5>
>> > +
>> >  <h4>* Moving elements in Test plan has been improved in many ways</h4>
>> >  <h5>Drag and drop of elements in Test Plan tree is now much easier and
>> possible on multiple nodes</h5>
>> >  <p>
>> >  <figure width="894" height="236"
>> image="changes/2.10/12_drap_n-drop_multiple.png"></figure>
>> >  </p>
>> >  <p>
>> > -Note that due to this <a href="
>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6560955">bug in
>> Java</a>,
>> > +<b>Note that due to this <a href="
>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6560955">bug in
>> Java</a>,
>> >  you cannot drop a node after last node. The workaround is to drop it
>> before this last node and then Drag and Drop the last node
>> > -before the one you just dropped.
>> > -<figure width="762" height="277" image="changes/2.10/XXX.png"></figure>
>> > +before the one you just dropped.</b>
>> >  </p>
>> >  <h5>New shortcuts have been added to move elements in the tree. </h5>
>> > -<p>(alt + Arrow Up) and (alt + Arrow Down) move the element within the
>> parent node.
>> > +<p>(alt + Arrow Up) and (alt + Arrow Down) move the element within the
>> parent node.<br/>
>> >  (alt + Arrow Left) and (alt + Arrow Right) move the element up and
>> down in the tree depth</p>
>> >
>> >  <h4>* Response Time Graph Y axis can now be scaled</h4>
>> > @@ -328,6 +336,7 @@ Previously the default was 1, which coul
>> >  <li><bugzilla>54759</bugzilla> - SSLPeerUnverifiedException
using
>> HTTPS , property documented.</li>
>> >  <li><bugzilla>54896</bugzilla> - JUnit sampler gives only
"failed to
>> create an instance of the class" message with constructor problems.</li>
>> >  <li><bugzilla>55084</bugzilla> - Add timeout support for
JDBC Request.
>> Contributed by Mikhail Epikhin (epihin-m at yandex.ru)</li>
>> > +<li><bugzilla>55403</bugzilla> - Enhancement to OS sampler:
Support
>> for timeout</li>
>> >  </ul>
>> >
>> >  <h3>Controllers</h3>
>> >
>> >
>>
>
>
>
> --
> Cordialement.
> Philippe Mouawad.
>
>
>


-- 
Cordialement.
Philippe Mouawad.

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message