Warning: session_start(): open(/var/lib/php/sessions/sess_bmap6plcf5ouis39jk629aonmh, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
static int jInjectionsTable_updateInterval = 3000;
static JTable jInjectionsTable() {
final JTable tbl = sexyTable();
tablePopupMenu(tbl, voidfunc(JPopupMenu menu, final int row) {
final int port = parseIntOpt(str(getTableLineAsMap(tbl, row).get("VM")));
if (port != 0) {
addMenuItem(menu, "Kill VM", r { killVM(port) });
addMenuItem(menu, "Show VM Output", r {
thread "Show VM Output" {
showText("Output of VM " + port, unquote(sendToLocalBot(port, "get output")));
}
});
addMenuItem(menu, "Dump heap...", r {
inputFilePath("Dump heap to where?", new File(javaxCachesDir(), "heap.bin", voidfunc(File f) {
pcall-messagebox {
assertOK(send(port, "dump heap to *", f2s(f)));
infoBox("Heap dumped to " + fileNamePlusMSize(f));
}
});
});
}
});
awtCalcRegularly(tbl, jInjectionsTable_updateInterval, 0, r {
long time = sysNow();
new L l;
for (DialogIO vm : talkToAllVMs()) {
pcall {
int vmPort = vm.getPort();
S x = vm.ask("get injections");
S mem = dropUntilColon(vm.ask("how much memory are you consuming"));
//print("VM " + vmPort + " injections: " + x);
L injections = cast safeUnstructure(x);
for (O inj : injections) {
S progID = formatSnippetID((S) get(inj, "progID"));
l.add(litorderedmap(
"Program name", getSnippetTitle(progID),
"Program ID", progID,
"VM Size (Java)", mem,
"VM", vmPort,
"More info", isTrue(get(inj, "mainDone")) ? "main done" : "main running",
"Injection ID", get(inj, "injectionID")));
}
}
vm.close();
}
done2(time, "Scanned " + n(l, "VMs"));
dataToTable(tbl, l);
});
ret tbl;
}