删除无用的日志
This commit is contained in:
parent
e6b2a577cb
commit
19478566a1
|
@ -7,7 +7,6 @@ import org.apache.jmeter.samplers.Remoteable;
|
||||||
import org.apache.jmeter.testelement.TestStateListener;
|
import org.apache.jmeter.testelement.TestStateListener;
|
||||||
import org.apache.jmeter.util.JMeterUtils;
|
import org.apache.jmeter.util.JMeterUtils;
|
||||||
import org.apache.jorphan.collections.HashTree;
|
import org.apache.jorphan.collections.HashTree;
|
||||||
import org.apache.jorphan.util.JOrphanUtils;
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
@ -20,6 +19,8 @@ public class DistributedRunner extends org.apache.jmeter.engine.DistributedRunne
|
||||||
private static final String HOSTS_SEPARATOR = ",";
|
private static final String HOSTS_SEPARATOR = ",";
|
||||||
private HashTree jmxTree;
|
private HashTree jmxTree;
|
||||||
private String hosts;
|
private String hosts;
|
||||||
|
// 脚本运行完成后是否停止jmeter-server
|
||||||
|
private boolean remoteStop = false;
|
||||||
|
|
||||||
public DistributedRunner(HashTree jmxTree, String hosts) {
|
public DistributedRunner(HashTree jmxTree, String hosts) {
|
||||||
this.jmxTree = jmxTree;
|
this.jmxTree = jmxTree;
|
||||||
|
@ -28,7 +29,7 @@ public class DistributedRunner extends org.apache.jmeter.engine.DistributedRunne
|
||||||
|
|
||||||
public void run() {
|
public void run() {
|
||||||
final List<String> hosts = getRemoteHosts();
|
final List<String> hosts = getRemoteHosts();
|
||||||
final ListenToTest listener = new ListenToTest(false, null);
|
final ListenToTest listener = new ListenToTest(remoteStop, null);
|
||||||
jmxTree.add(jmxTree.getArray()[0], listener);
|
jmxTree.add(jmxTree.getArray()[0], listener);
|
||||||
init(hosts, jmxTree);
|
init(hosts, jmxTree);
|
||||||
listener.setStartedRemoteEngines(new ArrayList<>(getEngines()));
|
listener.setStartedRemoteEngines(new ArrayList<>(getEngines()));
|
||||||
|
@ -126,42 +127,11 @@ public class DistributedRunner extends org.apache.jmeter.engine.DistributedRunne
|
||||||
reportGenerator.generate();
|
reportGenerator.generate();
|
||||||
log.info("Dashboard generated");
|
log.info("Dashboard generated");
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
System.err.println("Error generating the report: " + ex);//NOSONAR
|
System.err.println("Error generating the report: " + ex);
|
||||||
log.error("Error generating the report: {}", ex.getMessage(), ex);
|
log.error("Error generating the report: {}", ex.getMessage(), ex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
checkForRemainingThreads();
|
|
||||||
log.info("... end of run");
|
log.info("... end of run");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Runs daemon thread which waits a short while;
|
|
||||||
* if JVM does not exit, lists remaining non-daemon threads on stdout.
|
|
||||||
*/
|
|
||||||
private void checkForRemainingThreads() {
|
|
||||||
// This cannot be a JMeter class variable, because properties
|
|
||||||
// are not initialised until later.
|
|
||||||
final int pauseToCheckForRemainingThreads =
|
|
||||||
JMeterUtils.getPropDefault("jmeter.exit.check.pause", 2000); // $NON-NLS-1$
|
|
||||||
|
|
||||||
if (pauseToCheckForRemainingThreads > 0) {
|
|
||||||
Thread daemon = new Thread(() -> {
|
|
||||||
try {
|
|
||||||
TimeUnit.MILLISECONDS.sleep(pauseToCheckForRemainingThreads); // Allow enough time for JVM to exit
|
|
||||||
} catch (InterruptedException ignored) {
|
|
||||||
Thread.currentThread().interrupt();
|
|
||||||
}
|
|
||||||
// This is a daemon thread, which should only reach here if there are other
|
|
||||||
// non-daemon threads still active
|
|
||||||
System.out.println("The JVM should have exited but did not.");//NOSONAR
|
|
||||||
System.out.println("The following non-daemon threads are still running (DestroyJavaVM is OK):");//NOSONAR
|
|
||||||
JOrphanUtils.displayThreads(false);
|
|
||||||
});
|
|
||||||
daemon.setDaemon(true);
|
|
||||||
daemon.start();
|
|
||||||
} else if (pauseToCheckForRemainingThreads <= 0) {
|
|
||||||
log.debug("jmeter.exit.check.pause is <= 0, JMeter won't check for unterminated non-daemon threads");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue