Details
diff --git a/azkaban-common/src/main/java/azkaban/metric/MetricReportManager.java b/azkaban-common/src/main/java/azkaban/metric/MetricReportManager.java
index fe68a32..3352f4f 100644
--- a/azkaban-common/src/main/java/azkaban/metric/MetricReportManager.java
+++ b/azkaban-common/src/main/java/azkaban/metric/MetricReportManager.java
@@ -25,7 +25,7 @@ import org.apache.log4j.Logger;
public class MetricReportManager {
- private static final int MAX_EMITTER_THREADS = 2;
+ private static final int MAX_EMITTER_THREADS = 4;
private static final Logger logger = Logger.getLogger(MetricReportManager.class);
private List<IMetric<?>> metrics;
@@ -58,7 +58,8 @@ public class MetricReportManager {
// each element of metrics List is responsible to call this method and report metrics
public void reportMetric(final IMetric<?> metric) {
if (metric != null) {
- logger.debug(String.format("Submitting %s metric for metric emission pool", metric.getName()));
+ // TODO: change to debug level
+ logger.info(String.format("Submitting %s metric for metric emission pool", metric.getName()));
executorService.submit(new Runnable() {
@Override
public void run() {
diff --git a/azkaban-execserver/src/main/java/azkaban/execapp/AzkabanExecutorServer.java b/azkaban-execserver/src/main/java/azkaban/execapp/AzkabanExecutorServer.java
index 7d5a064..aff7250 100644
--- a/azkaban-execserver/src/main/java/azkaban/execapp/AzkabanExecutorServer.java
+++ b/azkaban-execserver/src/main/java/azkaban/execapp/AzkabanExecutorServer.java
@@ -142,7 +142,7 @@ public class AzkabanExecutorServer {
metricManager.AddMetric(new NumRunningJobMetric());
metricManager.AddMetric(new NumRunningFlowMetric(runnerManager));
- logger.info("Copleted configuring Metric Reports");
+ logger.info("Completed configuring Metric Reports");
}
}
diff --git a/azkaban-execserver/src/main/java/azkaban/execapp/metric/NumRunningFlowMetric.java b/azkaban-execserver/src/main/java/azkaban/execapp/metric/NumRunningFlowMetric.java
index 6f47f76..0db4363 100644
--- a/azkaban-execserver/src/main/java/azkaban/execapp/metric/NumRunningFlowMetric.java
+++ b/azkaban-execserver/src/main/java/azkaban/execapp/metric/NumRunningFlowMetric.java
@@ -25,7 +25,7 @@ import azkaban.metric.AbstractMetric;
public class NumRunningFlowMetric extends AbstractMetric<Integer> {
public static final String NUM_RUNNING_FLOW_METRIC_NAME = "NumRunningFlowMetric";
public static final String NUM_RUNNING_FLOW_METRIC_TYPE = "uint16";
- private static final int NUM_RUNNING_FLOW_INTERVAL = 60 * 1000; //milliseconds
+ private static final int NUM_RUNNING_FLOW_INTERVAL = 5 * 1000; //milliseconds TODO: increase frequency
private FlowRunnerManager flowManager;
private Timer timer = new Timer();
@@ -46,7 +46,7 @@ public class NumRunningFlowMetric extends AbstractMetric<Integer> {
}
- public void UpdateValueAndNotifyManager() {
+ public synchronized void UpdateValueAndNotifyManager() {
value = flowManager.getNumRunningFlows();
notifyManager();
}
diff --git a/azkaban-execserver/src/main/java/azkaban/execapp/metric/NumRunningJobMetric.java b/azkaban-execserver/src/main/java/azkaban/execapp/metric/NumRunningJobMetric.java
index 957359b..e6f64fe 100644
--- a/azkaban-execserver/src/main/java/azkaban/execapp/metric/NumRunningJobMetric.java
+++ b/azkaban-execserver/src/main/java/azkaban/execapp/metric/NumRunningJobMetric.java
@@ -32,16 +32,16 @@ public class NumRunningJobMetric extends AbstractMetric<Integer> implements Even
@Override
public void UpdateValueAndNotifyManager() {
- metricManager.reportMetric(this);
+ notifyManager();
}
@Override
- public void handleEvent(Event event) {
+ public synchronized void handleEvent(Event event) {
if (event.getType() == Type.JOB_STARTED) {
value = value + 1;
} else if (event.getType() == Type.JOB_FINISHED) {
value = value - 1;
}
- notifyManager();
+ UpdateValueAndNotifyManager();
}
}