in taverna-server-worker/src/main/java/org/apache/taverna/server/localworker/impl/WorkerCore.java [586:621]
private void buildUR(@Nonnull Status status, int exitCode) {
try {
Date now = new Date();
long user = -1, sys = -1, real = -1;
Matcher m = TimeRE.matcher(stderr.toString());
ur = newUR();
while (m.find())
for (int i = 1; i < 6; i += 2)
if (m.group(i + 1).equals("user"))
user = parseDuration(m.group(i));
else if (m.group(i + 1).equals("sys")
|| m.group(i + 1).equals("system"))
sys = parseDuration(m.group(i));
else if (m.group(i + 1).equals("real")
|| m.group(i + 1).equals("elapsed"))
real = parseDuration(m.group(i));
if (user != -1)
ur.addCpuDuration(user).setUsageType("user");
if (sys != -1)
ur.addCpuDuration(sys).setUsageType("system");
ur.addUser(System.getProperty("user.name"), null);
ur.addStartAndEnd(start, now);
if (real != -1)
ur.addWallDuration(real);
else
ur.addWallDuration(now.getTime() - start.getTime());
ur.setStatus(status.toString());
ur.addHost(getLocalHost().getHostName());
ur.addResource("exitcode", Integer.toString(exitCode));
ur.addDisk(sizeOfDirectory(wd)).setStorageUnit("B");
if (urreceiver != null)
urreceiver.acceptUsageRecord(ur.marshal());
} catch (Exception e) {
e.printStackTrace();
}
}