You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by im...@apache.org on 2013/12/27 06:05:40 UTC

git commit: Added more logs to scaling.drl file

Updated Branches:
  refs/heads/master b3359961c -> 56878f061


Added more logs to scaling.drl file


Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/56878f06
Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/56878f06
Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/56878f06

Branch: refs/heads/master
Commit: 56878f061c3cc432b3a5bfc98ed86fd30cab3961
Parents: b335996
Author: Imesh Gunaratne <im...@apache.org>
Authored: Fri Dec 27 10:35:30 2013 +0530
Committer: Imesh Gunaratne <im...@apache.org>
Committed: Fri Dec 27 10:35:30 2013 +0530

----------------------------------------------------------------------
 .../distribution/src/main/conf/scaling.drl      | 64 ++++++++++++++------
 1 file changed, 47 insertions(+), 17 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/56878f06/products/autoscaler/modules/distribution/src/main/conf/scaling.drl
----------------------------------------------------------------------
diff --git a/products/autoscaler/modules/distribution/src/main/conf/scaling.drl b/products/autoscaler/modules/distribution/src/main/conf/scaling.drl
index 3782d66..eaf225a 100644
--- a/products/autoscaler/modules/distribution/src/main/conf/scaling.drl
+++ b/products/autoscaler/modules/distribution/src/main/conf/scaling.drl
@@ -56,7 +56,7 @@ rule "Scaler-up Rule"
 dialect "mvel"
 	when
         $networkPartitionContext : NetworkPartitionContext ()
-        eval(log.debug("Running scale up rule: [network-partition] " + $networkPartitionContext.getId()))
+        eval(log.debug("Running scale up rule: [network-partition] " + $networkPartitionContext.getId() + " [cluster] " + clusterId))
         $loadThresholds : LoadThresholds() from  autoscalePolicy.getLoadThresholds()
 	    algorithmName : String() from $networkPartitionContext.getPartitionAlgorithm();
         eval(log.debug("algorithm name " + algorithmName))
@@ -68,14 +68,19 @@ dialect "mvel"
         averageLimit : Float() from  $loadThresholds.getRequestsInFlight().getAverage()
 
         partition :  Partition() from autoscaleAlgorithm.getNextScaleUpPartition($networkPartitionContext, clusterId)
+        eval(log.debug("[scale-up] [network-partition] " + $networkPartitionContext.getId() + " Partition is null: " + (partition == null)))
         eval(partition != null)
 	    predictedValue : Double() from $delegator.getPredictedValueForNextMinute(lbStatAverage, lbStatGradient, lbStatSecondDerivative, 1)
-        eval(log.debug("predicted value: " + predictedValue))
-        eval(log.debug("average limit: " + averageLimit))
-        eval(log.debug("scale-up factor: " + $delegator.SCALE_UP_FACTOR))
-        eval(predictedValue > averageLimit * $delegator.SCALE_UP_FACTOR)
+        scaleUpAction : Boolean() from (predictedValue > averageLimit * $delegator.SCALE_UP_FACTOR)
+
+        eval(log.debug("[scale-up] [network-partition] " + $networkPartitionContext.getId() + " [partition]" + partition.getId() + " [cluster] " + clusterId + " Predicted value: " + predictedValue))
+        eval(log.debug("[scale-up] [network-partition] " + $networkPartitionContext.getId() + " [partition]" + partition.getId() + " [cluster] " + clusterId + " Average limit: " + averageLimit))
+        eval(log.debug("[scale-up] [network-partition] " + $networkPartitionContext.getId() + " [partition]" + partition.getId() + " [cluster] " + clusterId + " Scale-up factor: " + $delegator.SCALE_UP_FACTOR))
+        eval(log.debug("[scale-up] [network-partition] " + $networkPartitionContext.getId() + " [partition]" + partition.getId() + " [cluster] " + clusterId + " Scale-up action: " + scaleUpAction))
+
+        eval(scaleUpAction)
 	then
-        log.debug("scaling up");
+        log.debug(log.debug("[scale-up] [network-partition] " + $networkPartitionContext.getId() + " [partition]" + partition.getId() + " [cluster] " + cluster + " Scaling up cluster");
         $delegator.delegateSpawn($networkPartitionContext.getPartitionCtxt(partition.getId()), clusterId, lbRef);
 end
 
@@ -84,7 +89,7 @@ rule "Scaler-down Rule"
 dialect "mvel"
 	when
         $networkPartitionContext : NetworkPartitionContext ()
-        eval(log.debug("Running scale down rule: [network-partition] " + $networkPartitionContext.getId()))
+        eval(log.debug("Running scale down rule: [network-partition] " + $networkPartitionContext.getId() + " [cluster] " + clusterId))
         $loadThresholds : LoadThresholds() from  autoscalePolicy.getLoadThresholds()
         autoscaleAlgorithm : AutoscaleAlgorithm() from  $delegator.getAutoscaleAlgorithm($networkPartitionContext.getPartitionAlgorithm())
         lbStatAverage : Float() from  $networkPartitionContext.getAverageRequestsInFlight()
@@ -93,12 +98,18 @@ dialect "mvel"
         averageLimit : Float() from  $loadThresholds.getRequestsInFlight().getAverage()
 
         partition :  Partition() from autoscaleAlgorithm.getNextScaleDownPartition($networkPartitionContext, clusterId)
+        eval(log.debug("[scale-down] [network-partition] " + $networkPartitionContext.getId() + " Partition is null: " + (partition == null)))
         eval(partition != null)
         predictedValue :  Float() from $delegator.getPredictedValueForNextMinute(lbStatAverage, lbStatGradient, lbStatSecondDerivative, 1)
-        eval(log.debug("predicted value: " + predictedValue))
-        eval(log.debug("average limit: " + averageLimit))
-        eval(log.debug("scale-down factor: " + $delegator.SCALE_DOWN_FACTOR))
-        eval(predictedValue < averageLimit * $delegator.SCALE_DOWN_FACTOR)
+        scaleDown : Boolean() from (predictedValue < averageLimit * $delegator.SCALE_DOWN_FACTOR)
+
+        eval(log.debug("[scale-down] [network-partition] " + $networkPartitionContext.getId() + " [partition]" + partition.getId() + " [cluster] " + clusterId + " Predicted value: " + predictedValue))
+        eval(log.debug("[scale-down] [network-partition] " + $networkPartitionContext.getId() + " [partition]" + partition.getId() + " [cluster] " + clusterId + " Predicted value: " + predictedValue))
+        eval(log.debug("[scale-down] [network-partition] " + $networkPartitionContext.getId() + " [partition]" + partition.getId() + " [cluster] " + clusterId + " Average limit: " + averageLimit))
+        eval(log.debug("[scale-down] [network-partition] " + $networkPartitionContext.getId() + " [partition]" + partition.getId() + " [cluster] " + clusterId + " Scale-down factor: " + $delegator.SCALE_DOWN_FACTOR))
+        eval(log.debug("[scale-down] [network-partition] " + $networkPartitionContext.getId() + " [partition]" + partition.getId() + " [cluster] " + clusterId + " Scale-down action: " + scaleDown))
+
+        eval(scaleDown)
 	then
 
         MemberStatsContext selectedMemberStatsContext = null;
@@ -108,12 +119,25 @@ dialect "mvel"
             for(MemberStatsContext memberStatsContext: partitionContext.getMemberStatsContexts().values()){
 
                 LoadAverage loadAverage = memberStatsContext.getLoadAverage();
+                log.debug("[scale-down] [network-partition] " + $networkPartitionContext.getId() + " [partition]" + partition.getId() + " [cluster] " + clusterId
+                    + " [member] " + memberStatsContext.getMemberId() + " Load average: " + loadAverage.toString());
+
                 MemoryConsumption memoryConsumption = memberStatsContext.getMemoryConsumption();
-                double predictedCpu
-                = $delegator.getPredictedValueForNextMinute(loadAverage.getAverage(),loadAverage.getGradient(),loadAverage.getSecondDerivative(), 1);
-                double predictedMemoryConsumption
-                = $delegator.getPredictedValueForNextMinute(memoryConsumption.getAverage(),memoryConsumption.getGradient(),memoryConsumption.getSecondDerivative(), 1);
+                log.debug(log.debug("[scale-down] [network-partition] " + $networkPartitionContext.getId() + " [partition]" + partition.getId() + " [cluster] " + clusterId
+                    + " [member] " + memberStatsContext.getMemberId() + " Memory consumption: " + memoryConsumption.toString()));
+
+                double predictedCpu = $delegator.getPredictedValueForNextMinute(loadAverage.getAverage(),loadAverage.getGradient(),loadAverage.getSecondDerivative(), 1);
+                log.debug("[scale-down] [network-partition] " + $networkPartitionContext.getId() + " [partition]" + partition.getId() + " [cluster] " + clusterId
+                    + " [member] " + memberStatsContext.getMemberId() + " Predicted CPU: " + predictedCpu);
+
+                double predictedMemoryConsumption = $delegator.getPredictedValueForNextMinute(memoryConsumption.getAverage(),memoryConsumption.getGradient(),memoryConsumption.getSecondDerivative(), 1);
+                log.debug("[scale-down] [network-partition] " + $networkPartitionContext.getId() + " [partition]" + partition.getId() + " [cluster] " + clusterId
+                    + " [member] " + memberStatsContext.getMemberId() + " Predicted memory consumption: " + predictedMemoryConsumption);
+
                 double overallLoad = (predictedCpu + predictedMemoryConsumption) / 2;
+                log.debug("[scale-down] [network-partition] " + $networkPartitionContext.getId() + " [partition]" + partition.getId() + " [cluster] " + clusterId
+                    + " [member] " + memberStatsContext.getMemberId() + " Overall load: " + overallLoad);
+
                 if(!foundAValue){
                     foundAValue = true;
                     selectedMemberStatsContext = memberStatsContext;
@@ -123,11 +147,17 @@ dialect "mvel"
                     lowestOverallLoad = overallLoad;
                 }
 
-
+                if(selectedMemberStatsContext != null) {
+                    log.debug("[scale-down] [network-partition] " + $networkPartitionContext.getId() + " [partition]" + partition.getId() + " [cluster] " + clusterId +
+                        + " Member with lowest overall load: " + memberStatsContext.getMemberId());
+                }
             }
         }
-        if(selectedMemberStatsContext != null)
+        if(selectedMemberStatsContext != null) {
+            log.debug("[scale-down] [network-partition] " + $networkPartitionContext.getId() + " [partition]" + partition.getId() + " [cluster] " + clusterId +
+                        + " Terminating member: " + memberStatsContext.getMemberId());
             $delegator.delegateTerminate(selectedMemberStatsContext.getMemberId());
+        }
 end