rootpath = System.getProperty("user.dir");
}
String collectionFilePath = rootpath + File.separator + m_config.prefix + timestamp + ".tgz";
File collectionFile = new File(collectionFilePath);
TarGenerator tarGenerator = new TarGenerator(collectionFile, true, null);
String folderPath= m_config.prefix + timestamp + File.separator;
// Collect files with paths indicated in the list
for (String path: paths) {
// Skip particular items corresponding to temporary files that are only generated during collecting
if (Arrays.asList(cmdFilenames).contains(path.split(" ")[0])) {
continue;
}
File file = new File(path);
String filename = file.getName();
String entryPath = file.getName();
for (String logPath: m_logPaths) {
if (filename.startsWith(new File(logPath).getName())) {
entryPath = "log" + File.separator + file.getName();
break;
}
}
if (filename.startsWith("voltdb_crash")) {
entryPath = "voltdb_crash" + File.separator + file.getName();
}
if (filename.startsWith("syslog") || filename.equals("dmesg")) {
entryPath = "syslog" + File.separator + file.getName();
}
if (file.isFile() && file.canRead() && file.length() > 0) {
tarGenerator.queueEntry(folderPath + entryPath, file);
}
}
String[] sarCmd = {"bash", "-c", "sar -A"};
cmd(tarGenerator, sarCmd, folderPath , "sardata");
String[] dmesgCmd = {"bash", "-c", "/bin/dmesg"};
cmd(tarGenerator, dmesgCmd, folderPath, "dmesgdata");
tarGenerator.write(m_config.calledFromVEM ? null : System.out);
long sizeInByte = collectionFile.length();
String sizeStringInKB = String.format("%5.2f", (double)sizeInByte / 1000);
if (!m_config.calledFromVEM) {
System.out.println("Collection file created at " + collectionFilePath + " size: " + sizeStringInKB + " KB");