All,
To me it seems unfortunate that when multiple remote_hosts are used, there are
multiple threads with the same thread names in the XML output. This makes the
output less useful. Would it be possible to add the IP address
(InetAddress.getLocalHost()) of the host at the end of the thread name in
StandardJMeterEngine or is the functionality that I am looking for already
available?
Next question: By modifying FunctionProperty.getStringValue to the following, I
can use property values, e.g., ${__property(report.dir)}/file.xml in the File
Reporter. Would it be possible to take this modification into the release?
public String getStringValue() {
log.debug("Calling getStringValue from FunctionProperty");
log.debug("boogedy boogedy");
JMeterContext ctx = JMeterContextService.getContext();//Expensive, so
do once
int iter = 0;
JMeterVariables var = ctx.getVariables();
if (var != null) {
iter = ctx.getVariables().getIteration();
if (iter < testIteration) {
testIteration = -1;
}
}
if (iter > testIteration || cacheValue == null) {
testIteration = iter;
cacheValue = function.execute();
}
return cacheValue;
}
Unfortunately, this doesn't yet solve the problems of resolving variables in
the Custom Variables of the Test Plan because the replacer is not used in
PreCompiler.addNode. Could this also be fixed, please? I am happy to help, if
desired.
I find it kind of annoying that a separate VM is required for the RMI registry
in remote servers. Hence, I have created my own startup class. Probably, you
would want to execute the registry creation part only if there is an i such
that "-r".equals(args[i]):
public class Startup {
public static void main(String[] args) throws Throwable {
try {
String base =
Startup.class.getProtectionDomain().getCodeSource().getLocation().toString();
int index = base.lastIndexOf("/bin/");
base = base.substring(0, index + 1);
String codebase = base + "lib/ext/ApacheJMeter_core.jar" + " " +
base + "lib/jorphan.jar" + " " + base + "lib/logkit-1.2.jar";
System.setProperty("java.rmi.server.codebase", codebase);
System.setSecurityManager(new SecurityManager() {
public void checkPermission(Permission perm) {
}
public void checkPermission(Permission perm, Object context) {
}
});
LocateRegistry.createRegistry(1099);
NewDriver.main(args);
} catch (Throwable t) {
t.printStackTrace();
throw t;
} finally {
}
}
}
I have used InstallAnywhere to turn the JMeter remote engine into a Windows
service. However, I think it would be even better if the Java Service Wrapper
(http://wrapper.tanukisoftware.org/doc/english/index.html) were used. This
would also allow a restart of the VM after each test, just in case we have a
memory issue.
Regards,
Martin
------------------------------------------
A v a l o q - essential for banking
Avaloq Evolution AG
Allmendstrasse 140, 8027 Z�rich
T +41 44 488 6888, F +41 44 488 6868, <http://www.avaloq.com/>
Martin B�chi <mailto:[EMAIL PROTECTED]>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]