Repository: storm
Updated Branches:
  refs/heads/master db510ae58 -> 9d5515a8a


[STORM-2743] Add logging and metrics to monitor how long scheduling is taking


Project: http://git-wip-us.apache.org/repos/asf/storm/repo
Commit: http://git-wip-us.apache.org/repos/asf/storm/commit/7d07c72a
Tree: http://git-wip-us.apache.org/repos/asf/storm/tree/7d07c72a
Diff: http://git-wip-us.apache.org/repos/asf/storm/diff/7d07c72a

Branch: refs/heads/master
Commit: 7d07c72a2f434f30b5d10047be65740a1b2e4f9f
Parents: d2e221a
Author: Ethan Li <[email protected]>
Authored: Tue Sep 19 09:11:00 2017 -0500
Committer: Ethan Li <[email protected]>
Committed: Fri Sep 22 10:55:04 2017 -0500

----------------------------------------------------------------------
 .../src/main/java/org/apache/storm/daemon/nimbus/Nimbus.java | 8 ++++++++
 1 file changed, 8 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/storm/blob/7d07c72a/storm-server/src/main/java/org/apache/storm/daemon/nimbus/Nimbus.java
----------------------------------------------------------------------
diff --git 
a/storm-server/src/main/java/org/apache/storm/daemon/nimbus/Nimbus.java 
b/storm-server/src/main/java/org/apache/storm/daemon/nimbus/Nimbus.java
index 2c81f8e..d6b6ab6 100644
--- a/storm-server/src/main/java/org/apache/storm/daemon/nimbus/Nimbus.java
+++ b/storm-server/src/main/java/org/apache/storm/daemon/nimbus/Nimbus.java
@@ -18,6 +18,8 @@
 
 package org.apache.storm.daemon.nimbus;
 
+import com.codahale.metrics.ExponentiallyDecayingReservoir;
+import com.codahale.metrics.Histogram;
 import com.codahale.metrics.Meter;
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.collect.ImmutableMap;
@@ -215,6 +217,7 @@ public class Nimbus implements Iface, Shutdownable, 
DaemonCommon {
     private static final Meter getSupervisorPageInfoCalls = 
StormMetricsRegistry.registerMeter("nimbus:num-getSupervisorPageInfo-calls");
     private static final Meter getComponentPageInfoCalls = 
StormMetricsRegistry.registerMeter("nimbus:num-getComponentPageInfo-calls");
     private static final Meter getOwnerResourceSummariesCalls = 
StormMetricsRegistry.registerMeter("nimbus:num-getOwnerResourceSummaries-calls");
+    private static final Histogram scheduleTopologyTimeMs = 
StormMetricsRegistry.registerHistogram("nimbus:time-scheduleTopology-ms", new 
ExponentiallyDecayingReservoir());
     private static final Meter shutdownCalls = 
StormMetricsRegistry.registerMeter("nimbus:num-shutdown-calls");
     // END Metrics
     
@@ -1602,7 +1605,12 @@ public class Nimbus implements Iface, Shutdownable, 
DaemonCommon {
         Map<String, SupervisorDetails> supervisors = 
readAllSupervisorDetails(supervisorToDeadPorts, topologies, 
missingAssignmentTopologies);
         Cluster cluster = new Cluster(inimbus, supervisors, 
topoToSchedAssignment, topologies, conf);
         cluster.setStatusMap(idToSchedStatus.get());
+
+        long beforeSchedule = System.currentTimeMillis();
         scheduler.schedule(topologies, cluster);
+        long scheduleTimeElapsedMs = System.currentTimeMillis() - 
beforeSchedule;
+        LOG.info("Scheduling took {} ms for {} topologies", 
scheduleTimeElapsedMs, topologies.getTopologies().size());
+        scheduleTopologyTimeMs.update(scheduleTimeElapsedMs);
 
         //merge with existing statuses
         idToSchedStatus.set(Utils.merge(idToSchedStatus.get(), 
cluster.getStatusMap()));

Reply via email to