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/25 19:45:22 UTC
[1/2] git commit: Implemented a new functionality to log inside
drools files
Updated Branches:
refs/heads/master 90236a71a -> d98f31e86
Implemented a new functionality to log inside drools files
Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/9113bc19
Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/9113bc19
Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/9113bc19
Branch: refs/heads/master
Commit: 9113bc190e106a9df5ad7fb18532772892d1127a
Parents: 22882d6
Author: Imesh Gunaratne <im...@apache.org>
Authored: Thu Dec 26 00:14:56 2013 +0530
Committer: Imesh Gunaratne <im...@apache.org>
Committed: Thu Dec 26 00:14:56 2013 +0530
----------------------------------------------------------------------
.../rule/AutoscalerRuleEvaluator.java | 2 +
.../apache/stratos/autoscaler/rule/RuleLog.java | 55 ++++++++++++++++++++
.../distribution/src/main/conf/mincheck.drl | 8 ++-
.../distribution/src/main/conf/scaling.drl | 9 ++++
4 files changed, 73 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/9113bc19/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/rule/AutoscalerRuleEvaluator.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/rule/AutoscalerRuleEvaluator.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/rule/AutoscalerRuleEvaluator.java
index 789606f..21eedd5 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/rule/AutoscalerRuleEvaluator.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/rule/AutoscalerRuleEvaluator.java
@@ -104,11 +104,13 @@ public class AutoscalerRuleEvaluator {
public StatefulKnowledgeSession getMinCheckStatefulSession() {
StatefulKnowledgeSession ksession;
ksession = minCheckKbase.newStatefulKnowledgeSession();
+ ksession.setGlobal("log", RuleLog.getInstance());
return ksession;
}
public StatefulKnowledgeSession getScaleCheckStatefulSession() {
StatefulKnowledgeSession ksession;
ksession = scaleCheckKbase.newStatefulKnowledgeSession();
+ ksession.setGlobal("log", RuleLog.getInstance());
return ksession;
}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/9113bc19/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/rule/RuleLog.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/rule/RuleLog.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/rule/RuleLog.java
new file mode 100644
index 0000000..3cf21d2
--- /dev/null
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/rule/RuleLog.java
@@ -0,0 +1,55 @@
+package org.apache.stratos.autoscaler.rule;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+/**
+ * Drools rule log for logging inside rule files.
+ */
+public class RuleLog {
+ private static final Log log = LogFactory.getLog(RuleLog.class);
+
+ private static volatile RuleLog instance;
+
+ private RuleLog() {
+ }
+
+ public static RuleLog getInstance() {
+ if (instance == null) {
+ synchronized (RuleLog.class) {
+ if (instance == null) {
+ instance = new RuleLog();
+ }
+ }
+ }
+ return instance;
+ }
+
+ public boolean info(String value) {
+ if(log.isInfoEnabled()) {
+ log.info(value);
+ }
+ return true;
+ }
+
+ public boolean debug(String value) {
+ if(log.isDebugEnabled()) {
+ log.debug(value);
+ }
+ return true;
+ }
+
+ public boolean warn(String value) {
+ if(log.isWarnEnabled()) {
+ log.warn(value);
+ }
+ return true;
+ }
+
+ public boolean error(String value) {
+ if(log.isErrorEnabled()) {
+ log.error(value);
+ }
+ return true;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/9113bc19/products/autoscaler/modules/distribution/src/main/conf/mincheck.drl
----------------------------------------------------------------------
diff --git a/products/autoscaler/modules/distribution/src/main/conf/mincheck.drl b/products/autoscaler/modules/distribution/src/main/conf/mincheck.drl
index bef3370..083d6b2 100755
--- a/products/autoscaler/modules/distribution/src/main/conf/mincheck.drl
+++ b/products/autoscaler/modules/distribution/src/main/conf/mincheck.drl
@@ -40,7 +40,7 @@ import org.apache.stratos.autoscaler.partition.PartitionGroup;
import org.apache.stratos.cloud.controller.deployment.partition.Partition;
import org.apache.stratos.cloud.controller.pojo.MemberContext;
-
+global org.apache.stratos.autoscaler.rule.RuleLog log;
global org.apache.stratos.autoscaler.policy.PolicyManager $manager;
global org.apache.stratos.autoscaler.AutoscalerContext $context;
global org.apache.commons.logging.Log log;
@@ -53,7 +53,10 @@ global java.lang.String lbRef;
rule "Minimum Rule"
dialect "mvel"
when
+ eval(log.debug("Running minimum rule"))
$ctxt : PartitionContext ()
+ eval(log.debug("total member count: " + $ctxt.getTotalMemberCount()))
+ eval(log.debug("minimum member count: " + $ctxt.getMinimumMemberCount()))
eval($ctxt.getTotalMemberCount() < $ctxt.getMinimumMemberCount())
then
@@ -64,9 +67,12 @@ end
rule "Terminate Obsoleted Instances"
dialect "mvel"
when
+ eval(log.debug("Running obsolete instances rule"))
$ctxt : PartitionContext ()
+ eval(log.debug("obsolete member count: " + $ctxt.getObsoletedMembers().size()))
eval($ctxt.getObsoletedMembers().size() > 0)
memberId : String() from $ctxt.getObsoletedMembers()
+ eval(log.debug("member id: " + memberId))
eval($ctxt.removeObsoleteMember(memberId))
then
$delegator.delegateTerminate(memberId);
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/9113bc19/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 3e1fa9f..9f6eeed 100644
--- a/products/autoscaler/modules/distribution/src/main/conf/scaling.drl
+++ b/products/autoscaler/modules/distribution/src/main/conf/scaling.drl
@@ -45,6 +45,7 @@ import org.apache.stratos.cloud.controller.pojo.MemberContext;
import org.apache.stratos.autoscaler.policy.model.LoadAverage
import org.apache.stratos.autoscaler.policy.model.MemoryConsumption
+global org.apache.stratos.autoscaler.rule.RuleLog log;
global org.apache.stratos.autoscaler.rule.RuleTasksDelegator $delegator;
global org.apache.stratos.autoscaler.policy.model.AutoscalePolicy autoscalePolicy;
global java.lang.String clusterId;
@@ -54,6 +55,7 @@ global java.lang.String lbRef;
rule "Scaler-up Rule"
dialect "mvel"
when
+ eval(log.debug("Running scale up rule"))
$networkPartitionContext : NetworkPartitionContext ()
$loadThresholds : LoadThresholds() from autoscalePolicy.getLoadThresholds()
autoscaleAlgorithm : AutoscaleAlgorithm() from $delegator.getAutoscaleAlgorithm($networkPartitionContext.getPartitionAlgorithm())
@@ -64,6 +66,9 @@ dialect "mvel"
partition : Partition() from autoscaleAlgorithm.getNextScaleUpPartition($networkPartitionContext, clusterId)
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-up-factor: " + $delegator.SCALE_UP_FACTOR))
eval(predictedValue > averageLimit * $delegator.SCALE_UP_FACTOR)
then
// if (predictedValue*scaleUpFactor > averageLimit){
@@ -80,6 +85,7 @@ end
rule "Scaler-down Rule"
dialect "mvel"
when
+ eval(log.debug("Running scale down rule"))
$networkPartitionContext : NetworkPartitionContext ()
$loadThresholds : LoadThresholds() from autoscalePolicy.getLoadThresholds()
autoscaleAlgorithm : AutoscaleAlgorithm() from $delegator.getAutoscaleAlgorithm($networkPartitionContext.getPartitionAlgorithm())
@@ -90,6 +96,9 @@ dialect "mvel"
partition : Partition() from autoscaleAlgorithm.getNextScaleDownPartition($networkPartitionContext, clusterId)
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)
then
[2/2] git commit: Merge remote-tracking branch 'origin/master'
Posted by im...@apache.org.
Merge remote-tracking branch 'origin/master'
Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/d98f31e8
Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/d98f31e8
Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/d98f31e8
Branch: refs/heads/master
Commit: d98f31e86071c915812bc7e78d6a488fdaca730d
Parents: 9113bc1 90236a7
Author: Imesh Gunaratne <im...@apache.org>
Authored: Thu Dec 26 00:15:14 2013 +0530
Committer: Imesh Gunaratne <im...@apache.org>
Committed: Thu Dec 26 00:15:14 2013 +0530
----------------------------------------------------------------------
tools/puppet/manifests/classes/php_cartridge.pp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------