You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by li...@apache.org on 2016/04/01 05:13:51 UTC
kylin git commit: KYLIN-1546 Refine diagnosis tool
Repository: kylin
Updated Branches:
refs/heads/master c693dcfa9 -> 220d17b05
KYLIN-1546 Refine diagnosis tool
Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/220d17b0
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/220d17b0
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/220d17b0
Branch: refs/heads/master
Commit: 220d17b05699ade8a084e3d7c4993451d69c6f8e
Parents: c693dcf
Author: lidongsjtu <li...@apache.org>
Authored: Fri Apr 1 09:59:48 2016 +0800
Committer: lidongsjtu <li...@apache.org>
Committed: Fri Apr 1 11:08:02 2016 +0800
----------------------------------------------------------------------
.../kylin/rest/service/BadQueryDetector.java | 3 +--
.../org/apache/kylin/tool/DiagnosisInfoCLI.java | 27 ++++++++++++++++++--
2 files changed, 26 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/kylin/blob/220d17b0/server/src/main/java/org/apache/kylin/rest/service/BadQueryDetector.java
----------------------------------------------------------------------
diff --git a/server/src/main/java/org/apache/kylin/rest/service/BadQueryDetector.java b/server/src/main/java/org/apache/kylin/rest/service/BadQueryDetector.java
index 91c93a9..90d095b 100644
--- a/server/src/main/java/org/apache/kylin/rest/service/BadQueryDetector.java
+++ b/server/src/main/java/org/apache/kylin/rest/service/BadQueryDetector.java
@@ -129,14 +129,13 @@ public class BadQueryDetector extends Thread {
@Override
public void badQueryFound(String adj, int runningSec, long startTime, String project, String sql, Thread t) {
try {
- long cachingSeconds = (kylinConfig.getBadQueryDefaultAlertingSeconds() + 1) * 10;
+ long cachingSeconds = (kylinConfig.getBadQueryDefaultAlertingSeconds() + 1) * 30;
Pair<Long, String> sqlPair = new Pair<>(startTime, sql);
if (!cacheQueue.contains(sqlPair)) {
badQueryManager.addEntryToProject(sql, adj, startTime, runningSec, serverHostname, t.getName(), project);
cacheQueue.add(sqlPair);
while (!cacheQueue.isEmpty() && (System.currentTimeMillis() - cacheQueue.first().getFirst() > cachingSeconds * 1000 || cacheQueue.size() > kylinConfig.getBadQueryHistoryNum() * 3)) {
cacheQueue.pollFirst();
- logger.info("Poll first");
}
}
} catch (IOException e) {
http://git-wip-us.apache.org/repos/asf/kylin/blob/220d17b0/tool/src/main/java/org/apache/kylin/tool/DiagnosisInfoCLI.java
----------------------------------------------------------------------
diff --git a/tool/src/main/java/org/apache/kylin/tool/DiagnosisInfoCLI.java b/tool/src/main/java/org/apache/kylin/tool/DiagnosisInfoCLI.java
index 84e1a3e..5309510 100644
--- a/tool/src/main/java/org/apache/kylin/tool/DiagnosisInfoCLI.java
+++ b/tool/src/main/java/org/apache/kylin/tool/DiagnosisInfoCLI.java
@@ -54,6 +54,9 @@ public class DiagnosisInfoCLI extends AbstractApplication {
@SuppressWarnings("static-access")
private static final Option OPTION_PROJECT = OptionBuilder.withArgName("project").hasArg().isRequired(false).withDescription("Specify realizations in which project to extract").create("project");
+ @SuppressWarnings("static-access")
+ private static final Option OPTION_INCLUDE_CONF = OptionBuilder.withArgName("includeConf").hasArg().isRequired(false).withDescription("Specify whether to include conf files to extract. Default true.").create("includeConf");
+
private CubeMetaExtractor cubeMetaExtractor;
private Options options;
private String exportDest;
@@ -66,6 +69,7 @@ public class DiagnosisInfoCLI extends AbstractApplication {
options.addOption(OPTION_COMPRESS);
options.addOption(OPTION_DEST);
options.addOption(OPTION_PROJECT);
+ options.addOption(OPTION_INCLUDE_CONF);
}
public static void main(String args[]) {
@@ -91,11 +95,12 @@ public class DiagnosisInfoCLI extends AbstractApplication {
}
// export cube metadata
- String[] cubeMetaArgs = { "-destDir", exportDest + File.pathSeparator, "-project", project };
+ String[] cubeMetaArgs = { "-destDir", exportDest + "metadata", "-project", project };
cubeMetaExtractor.execute(cubeMetaArgs);
int logPeriod = optionsHelper.hasOption(OPTION_LOG_PERIOD) ? Integer.valueOf(optionsHelper.getOptionValue(OPTION_LOG_PERIOD)) : DEFAULT_LOG_PERIOD;
boolean compress = optionsHelper.hasOption(OPTION_COMPRESS) ? Boolean.valueOf(optionsHelper.getOptionValue(OPTION_COMPRESS)) : false;
+ boolean includeConf = optionsHelper.hasOption(OPTION_INCLUDE_CONF) ? Boolean.valueOf(optionsHelper.getOptionValue(OPTION_INCLUDE_CONF)) : true;
// export logs
if (logPeriod > 0) {
@@ -103,7 +108,7 @@ public class DiagnosisInfoCLI extends AbstractApplication {
final String logFolder = KylinConfig.getKylinHome() + "/logs/";
final String defaultLogFilename = "kylin.log";
- final File logsDir = new File(exportDest + "/logs/");
+ final File logsDir = new File(exportDest + "logs/");
final SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
FileUtils.forceMkdir(logsDir);
@@ -125,6 +130,12 @@ public class DiagnosisInfoCLI extends AbstractApplication {
}
}
+ // export conf
+ if (includeConf) {
+ logger.info("Start to extract kylin conf files.");
+ FileUtils.copyDirectoryToDirectory(new File(getConfFolder()), new File(exportDest));
+ }
+
// compress to zip package
if (compress) {
File tempZipFile = File.createTempFile("diagnosis_", ".zip");
@@ -139,4 +150,16 @@ public class DiagnosisInfoCLI extends AbstractApplication {
public String getExportDest() {
return exportDest;
}
+
+ private String getConfFolder() {
+ String path = System.getProperty(KylinConfig.KYLIN_CONF);
+ if (StringUtils.isNotEmpty(path)) {
+ return path;
+ }
+ path = KylinConfig.getKylinHome();
+ if (StringUtils.isNotEmpty(path)) {
+ return path + File.separator + "conf";
+ }
+ return null;
+ }
}