Details
diff --git a/azkaban-common/src/main/java/azkaban/metric/MetricReportManager.java b/azkaban-common/src/main/java/azkaban/metric/MetricReportManager.java
index 9ae5c03..4834361 100644
--- a/azkaban-common/src/main/java/azkaban/metric/MetricReportManager.java
+++ b/azkaban-common/src/main/java/azkaban/metric/MetricReportManager.java
@@ -67,10 +67,17 @@ public class MetricReportManager {
}
/**
- * @return true, if we have enabled metric manager from Azkaban exec server
+ * @return true, if we have Instantiated and enabled metric manager from Azkaban exec server
*/
public static boolean isAvailable() {
- return instance != null && isManagerEnabled;
+ return isInstantiated() && isManagerEnabled;
+ }
+
+ /**
+ * @return true, if we have Instantiated metric manager from Azkaban exec server
+ */
+ public static boolean isInstantiated() {
+ return instance != null;
}
/**
diff --git a/azkaban-common/src/main/java/azkaban/metric/TimeBasedReportingMetric.java b/azkaban-common/src/main/java/azkaban/metric/TimeBasedReportingMetric.java
index 69c23ec..904586c 100644
--- a/azkaban-common/src/main/java/azkaban/metric/TimeBasedReportingMetric.java
+++ b/azkaban-common/src/main/java/azkaban/metric/TimeBasedReportingMetric.java
@@ -41,7 +41,7 @@ public abstract class TimeBasedReportingMetric<T> extends AbstractMetric<T> {
}
/**
- * Get a TimerTask
+ * Get a TimerTask to reschedule Timer
* @return An anonymous TimerTask class
*/
private TimerTask getTimerTask() {
diff --git a/azkaban-execserver/src/main/java/azkaban/execapp/StatsServlet.java b/azkaban-execserver/src/main/java/azkaban/execapp/StatsServlet.java
index c18de09..152a3aa 100644
--- a/azkaban-execserver/src/main/java/azkaban/execapp/StatsServlet.java
+++ b/azkaban-execserver/src/main/java/azkaban/execapp/StatsServlet.java
@@ -110,7 +110,7 @@ public class StatsServlet extends HttpServlet implements ConnectorParams {
boolean enableMetricManager) {
try {
logger.info("Updating metric manager status");
- if (enableMetricManager || MetricReportManager.isAvailable()) {
+ if ((enableMetricManager && MetricReportManager.isInstantiated()) || MetricReportManager.isAvailable()) {
MetricReportManager metricManager = MetricReportManager.getInstance();
if (enableMetricManager) {
metricManager.enableManager();
diff --git a/azkaban-execserver/src/package/conf/azkaban.properties b/azkaban-execserver/src/package/conf/azkaban.properties
index fd27529..a9f832e 100644
--- a/azkaban-execserver/src/package/conf/azkaban.properties
+++ b/azkaban-execserver/src/package/conf/azkaban.properties
@@ -24,3 +24,7 @@ executor.flow.threads=30
# JMX stats
jetty.connector.stats=true
executor.connector.stats=true
+
+# uncomment to enable inmemory stats for azkaban
+#executor.metric.reports=true
+#executor.metric.interval.default=60000
\ No newline at end of file
diff --git a/azkaban-soloserver/src/package/conf/azkaban.properties b/azkaban-soloserver/src/package/conf/azkaban.properties
index 386cd43..d13bf32 100644
--- a/azkaban-soloserver/src/package/conf/azkaban.properties
+++ b/azkaban-soloserver/src/package/conf/azkaban.properties
@@ -46,3 +46,7 @@ lockdown.create.projects=false
# JMX stats
jetty.connector.stats=true
executor.connector.stats=true
+
+# uncomment to enable inmemory stats for azkaban
+#executor.metric.reports=true
+#executor.metric.interval.default=60000
\ No newline at end of file