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;
+    }
 }