Author: pmouawad
Date: Wed Sep  5 20:17:14 2018
New Revision: 1840157

URL: http://svn.apache.org/viewvc?rev=1840157&view=rev
Log:
Bug 62684 - Distributed Testing : Add automatically to thread name a prefix to 
identify engine
Bugzilla Id: 62684

Modified:
    jmeter/trunk/src/core/org/apache/jmeter/engine/RemoteJMeterEngineImpl.java
    jmeter/trunk/src/core/org/apache/jmeter/threads/ThreadGroup.java
    jmeter/trunk/src/core/org/apache/jmeter/util/JMeterUtils.java
    jmeter/trunk/xdocs/changes.xml
    jmeter/trunk/xdocs/usermanual/generating-dashboard.xml

Modified: 
jmeter/trunk/src/core/org/apache/jmeter/engine/RemoteJMeterEngineImpl.java
URL: 
http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/engine/RemoteJMeterEngineImpl.java?rev=1840157&r1=1840156&r2=1840157&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/engine/RemoteJMeterEngineImpl.java 
(original)
+++ jmeter/trunk/src/core/org/apache/jmeter/engine/RemoteJMeterEngineImpl.java 
Wed Sep  5 20:17:14 2018
@@ -124,10 +124,11 @@ public final class RemoteJMeterEngineImp
      *
      * @param testTree
      *            the feature to be added to the ThreadGroup attribute
+     * @param host Host and Port
      */
     @Override
-    public void rconfigure(HashTree testTree, String host, File jmxBase, 
String scriptName) throws RemoteException {
-        log.info("Creating JMeter engine on host {} base '{}'", host, jmxBase);
+    public void rconfigure(HashTree testTree, String hostAndPort, File 
jmxBase, String scriptName) throws RemoteException {
+        log.info("Creating JMeter engine on host {} base '{}'", hostAndPort, 
jmxBase);
         try {
             if (log.isInfoEnabled()) {
                 log.info("Remote client host: {}", getClientHost());
@@ -141,7 +142,8 @@ public final class RemoteJMeterEngineImp
                 throw new IllegalStateException("Engine is busy - please try 
later");
             }
             ownerThread = Thread.currentThread();
-            backingEngine = new StandardJMeterEngine(host);
+            
JMeterUtils.setProperty(JMeterUtils.THREAD_GROUP_DISTRIBUTED_PREFIX_PROPERTY_NAME,
 hostAndPort);
+            backingEngine = new StandardJMeterEngine(hostAndPort);
             backingEngine.configure(testTree); // sets active = true
         }
         FileServer.getFileServer().setScriptName(scriptName);

Modified: jmeter/trunk/src/core/org/apache/jmeter/threads/ThreadGroup.java
URL: 
http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/threads/ThreadGroup.java?rev=1840157&r1=1840156&r2=1840157&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/threads/ThreadGroup.java (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/threads/ThreadGroup.java Wed Sep  5 
20:17:14 2018
@@ -297,7 +297,9 @@ public class ThreadGroup extends Abstrac
         jmeterThread.setThreadNum(threadNumber);
         jmeterThread.setThreadGroup(this);
         jmeterThread.setInitialContext(context);
-        final String threadName = groupName + " " + groupNumber + "-" + 
(threadNumber + 1);
+        String distributedPrefix = 
+                
JMeterUtils.getPropDefault(JMeterUtils.THREAD_GROUP_DISTRIBUTED_PREFIX_PROPERTY_NAME,
 "");
+        final String threadName = distributedPrefix + 
(distributedPrefix.isEmpty() ? "":"-") +groupName + " " + groupNumber + "-" + 
(threadNumber + 1);
         jmeterThread.setThreadName(threadName);
         jmeterThread.setEngine(engine);
         jmeterThread.setOnErrorStopTest(onErrorStopTest);

Modified: jmeter/trunk/src/core/org/apache/jmeter/util/JMeterUtils.java
URL: 
http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/util/JMeterUtils.java?rev=1840157&r1=1840156&r2=1840157&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/util/JMeterUtils.java (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/util/JMeterUtils.java Wed Sep  5 
20:17:14 2018
@@ -80,7 +80,10 @@ import com.thoughtworks.xstream.security
  */
 public class JMeterUtils implements UnitTestManager {
     private static final Logger log = 
LoggerFactory.getLogger(JMeterUtils.class);
+
     private static final String JMETER_VARS_PREFIX = "__jm__";
+    public static final String THREAD_GROUP_DISTRIBUTED_PREFIX_PROPERTY_NAME = 
"__jm.D_TG";
+
     // Note: cannot use a static variable here, because that would be 
processed before the JMeter properties
     // have been defined (Bug 52783)
     private static class LazyPatternCacheHolder {

Modified: jmeter/trunk/xdocs/changes.xml
URL: 
http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml?rev=1840157&r1=1840156&r2=1840157&view=diff
==============================================================================
--- jmeter/trunk/xdocs/changes.xml [utf-8] (original)
+++ jmeter/trunk/xdocs/changes.xml [utf-8] Wed Sep  5 20:17:14 2018
@@ -149,7 +149,7 @@ this behaviour, set <code>httpclient.res
 
 <h3>General</h3>
 <ul>
-  <li><bug>62128</bug>Try to guess <code>JMETER_HOME</code> correctly, when 
<code>jmeter.bat</code> is called from a batch file in another directory. 
Contributed by logox01 (logox01 at gmx.at)</li>
+  <li><bug>62684</bug>Distributed Testing : Add automatically to thread name a 
prefix to identify engine</li>
   <li><bug>62155</bug>Search Feature: Make Search text field get focus</li>
   <li><bug>62156</bug>Search Feature : Distinguish between node that matches 
search and node that contains a child that matches search</li>
   <li><bug>62234</bug>Search/Replace Feature : Enhance UX and add 
Replace/Next/Previous/Replace &amp; Find features. Contributed by Ubik Load 
Pack (support at ubikloadpack.com)</li>
@@ -158,13 +158,14 @@ this behaviour, set <code>httpclient.res
   <li><bug>61635</bug>Add a menu to restart JMeter</li>
   <li><bug>62470</bug>CSV Output : Enable logging of sub results when 
<code>jmeter.save.saveservice.subresults=true</code>. Contributed by Ubik Load 
Pack (support at ubikloadpack.com)</li>
   <li><bug>62473</bug>Setting "<code>saveservice_properties</code>" has 
counter intuitive behaviour</li>
+  <li><bug>62354</bug>Correct calculation and usage of units for second per 
user (reported by jffagot05 at gmail.com)</li>
+  <li><bug>62128</bug>Try to guess <code>JMETER_HOME</code> correctly, when 
<code>jmeter.bat</code> is called from a batch file in another directory. 
Contributed by logox01 (logox01 at gmx.at)</li>
+  <li><pr>386</pr>Add parameter support for RMI keystore creation scripts. 
Contributed by Logan Mauzaize (t524467 at airfrance.fr)</li>
   <li><bug>62065</bug>Use Maven artifact for JAF Module instead of embedded 
module</li>
-  <li><pr>379</pr> Improve chinese translations. Contributed by XmeterNet</li>
   <li><bug>61714</bug>Update Real-time results documentation</li>
-  <li><bug>62354</bug>Correct calculation and usage of units for second per 
user (reported by jffagot05 at gmail.com)</li>
   <li><pr>382</pr>Correct typo in documentation. Reported by Perze Ababa 
(perze.ababa at gmail.com>)</li>
-  <li><pr>386</pr>Add parameter support for RMI keystore creation scripts. 
Contributed by Logan Mauzaize (t524467 at airfrance.fr)</li>
   <li><pr>392</pr>Correct typo in documentation. Reported by Aaron Levin</li>
+  <li><pr>379</pr> Improve chinese translations. Contributed by XmeterNet</li>
 </ul>
 
 <ch_section>Non-functional changes</ch_section>

Modified: jmeter/trunk/xdocs/usermanual/generating-dashboard.xml
URL: 
http://svn.apache.org/viewvc/jmeter/trunk/xdocs/usermanual/generating-dashboard.xml?rev=1840157&r1=1840156&r2=1840157&view=diff
==============================================================================
--- jmeter/trunk/xdocs/usermanual/generating-dashboard.xml (original)
+++ jmeter/trunk/xdocs/usermanual/generating-dashboard.xml Wed Sep  5 20:17:14 
2018
@@ -117,16 +117,6 @@ jmeter.save.saveservice.timestamp_format
                         </ul>
                     </p>
                     </subsection>
-                    <subsection name="&sect-num;.2.1.4 Distributed Testing 
configuration" anchor="distributed_requirements">
-                    <p>
-                        If your are using JMeter distributed mode with 
multiple jmeter-server instances, ensure you add in your Thread Groups 
something that uniquely identifies ThreadGroup for every JVM, example:
-                        <source>TG_${__P(JVM_ID)}</source>
-                        <figure image="thread_group_distributed.png"></figure>
-                        where you pass a different JVM_ID property for each 
jmeter-server through <code><funclink name="__P()"/></code> function:
-                        <source>-JJVM_ID=i</source> where <code>i</code> 
varies between 1 and the number of jmeter-server you are using. 
-                      
-                    </p>
-                    </subsection>
                 </subsection>
 
                 <subsection name="&sect-num;.2.2 General settings" 
anchor="configuration_general">


Reply via email to