You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by ud...@apache.org on 2013/12/20 16:15:32 UTC

[17/19] git commit: Adding message processors and adding super class for events

Adding message processors and adding super class for events


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

Branch: refs/heads/master
Commit: 4e772d162700bb68385a297380bf398aea593fd8
Parents: 62f852f
Author: Lahiru Sandaruwan <la...@apache.org>
Authored: Fri Dec 20 15:22:37 2013 +0530
Committer: Udara Liyanage <ud...@wso2.com>
Committed: Fri Dec 20 20:25:37 2013 -0500

----------------------------------------------------------------------
 .../health/stat/AverageLoadAverageEvent.java    |  6 +-
 .../stat/AverageMemoryConsumptionEvent.java     |  6 +-
 .../stat/AverageRequestsInFlightEvent.java      |  6 +-
 .../health/stat/GradientOfLoadAverageEvent.java |  6 +-
 .../stat/GradientOfMemoryConsumptionEvent.java  |  6 +-
 .../stat/GradientOfRequestsInFlightEvent.java   |  6 +-
 .../event/health/stat/HealthStatEvent.java      | 32 ++++++++++
 .../stat/MemberAverageLoadAverageEvent.java     |  6 +-
 .../MemberAverageMemoryConsumptionEvent.java    |  6 +-
 .../event/health/stat/MemberFaultEvent.java     |  6 +-
 .../stat/MemberGradientOfLoadAverageEvent.java  |  6 +-
 .../MemberGradientOfMemoryConsumptionEvent.java |  6 +-
 ...emberSecondDerivativeOfLoadAverageEvent.java |  6 +-
 ...econdDerivativeOfMemoryConsumptionEvent.java |  6 +-
 .../SecondDerivativeOfLoadAverageEvent.java     |  5 +-
 ...econdDerivativeOfMemoryConsumptionEvent.java |  6 +-
 ...SecondDerivativeOfRequestsInFlightEvent.java |  6 +-
 .../AverageLoadAverageMessageProcessor.java     | 66 +++++++++++++++++++
 ...verageMemoryConsumptionMessageProcessor.java | 66 +++++++++++++++++++
 ...AverageRequestsInFlightMessageProcessor.java | 66 +++++++++++++++++++
 .../GradientOfLoadAverageMessageProcessor.java  | 66 +++++++++++++++++++
 ...ientOfMemoryConsumptionMessageProcessor.java | 65 +++++++++++++++++++
 ...dientOfRequestsInFlightMessageProcessor.java | 66 +++++++++++++++++++
 ...emberAverageLoadAverageMessageProcessor.java | 66 +++++++++++++++++++
 ...verageMemoryConsumptionMessageProcessor.java | 66 +++++++++++++++++++
 .../stat/MemberFaultMessageProcessor.java       | 66 +++++++++++++++++++
 ...erGradientOfLoadAverageMessageProcessor.java | 66 +++++++++++++++++++
 ...ientOfMemoryConsumptionMessageProcessor.java | 67 ++++++++++++++++++++
 ...DerivativeOfLoadAverageMessageProcessor.java | 66 +++++++++++++++++++
 ...tiveOfMemoryConsumptionMessageProcessor.java | 66 +++++++++++++++++++
 ...DerivativeOfLoadAverageMessageProcessor.java | 66 +++++++++++++++++++
 ...tiveOfMemoryConsumptionMessageProcessor.java | 66 +++++++++++++++++++
 ...ativeOfRequestsInFlightMessageProcessor.java | 66 +++++++++++++++++++
 33 files changed, 1120 insertions(+), 63 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/4e772d16/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/AverageLoadAverageEvent.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/AverageLoadAverageEvent.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/AverageLoadAverageEvent.java
index 6694fd0..ef28e4b 100644
--- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/AverageLoadAverageEvent.java
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/AverageLoadAverageEvent.java
@@ -19,14 +19,12 @@
 
 package org.apache.stratos.messaging.event.health.stat;
 
-import java.io.Serializable;
+import org.apache.stratos.messaging.event.Event;
 
 /**
  *  This event is fired by Event processing engine to send average of Load average
  */
-public class AverageLoadAverageEvent implements Serializable {
-    private static final long serialVersionUID = 1917296044923546781L;
-
+public class AverageLoadAverageEvent extends Event {
     private String networkPartitionId;
     private String clusterId;
     private float value;

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/4e772d16/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/AverageMemoryConsumptionEvent.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/AverageMemoryConsumptionEvent.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/AverageMemoryConsumptionEvent.java
index feb0837..b5c569a 100644
--- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/AverageMemoryConsumptionEvent.java
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/AverageMemoryConsumptionEvent.java
@@ -19,14 +19,12 @@
 
 package org.apache.stratos.messaging.event.health.stat;
 
-import java.io.Serializable;
+import org.apache.stratos.messaging.event.Event;
 
 /**
  *  This event is fired by Event processing engine to send average of memory consumption
  */
-public class AverageMemoryConsumptionEvent implements Serializable {
-    private static final long serialVersionUID = -2381956370716318004L;
-
+public class AverageMemoryConsumptionEvent extends Event {
     private String networkPartitionId;
     private String clusterId;
     private float value;

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/4e772d16/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/AverageRequestsInFlightEvent.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/AverageRequestsInFlightEvent.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/AverageRequestsInFlightEvent.java
index e7f9f46..0135d8f 100644
--- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/AverageRequestsInFlightEvent.java
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/AverageRequestsInFlightEvent.java
@@ -19,14 +19,12 @@
 
 package org.apache.stratos.messaging.event.health.stat;
 
-import java.io.Serializable;
+import org.apache.stratos.messaging.event.Event;
 
 /**
  *  This event is fired by Event processing engine to send average of requests in flight
  */
-public class AverageRequestsInFlightEvent implements Serializable {
-    private static final long serialVersionUID = 6191065740806547472L;
-
+public class AverageRequestsInFlightEvent extends Event {
     private String networkPartitionId;
     private String clusterId;
     private float value;

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/4e772d16/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/GradientOfLoadAverageEvent.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/GradientOfLoadAverageEvent.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/GradientOfLoadAverageEvent.java
index 6688d50..5596c42 100644
--- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/GradientOfLoadAverageEvent.java
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/GradientOfLoadAverageEvent.java
@@ -19,14 +19,12 @@
 
 package org.apache.stratos.messaging.event.health.stat;
 
-import java.io.Serializable;
+import org.apache.stratos.messaging.event.Event;
 
 /**
  * This event is fired by Event processing engine to send gradient of Load average
  */
-public class GradientOfLoadAverageEvent implements Serializable {
-    private static final long serialVersionUID = 1196101093883889564L;
-
+public class GradientOfLoadAverageEvent extends Event {
     private String networkPartitionId;
     private String clusterId;
     private float value;

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/4e772d16/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/GradientOfMemoryConsumptionEvent.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/GradientOfMemoryConsumptionEvent.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/GradientOfMemoryConsumptionEvent.java
index d322ebf..7598b76 100644
--- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/GradientOfMemoryConsumptionEvent.java
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/GradientOfMemoryConsumptionEvent.java
@@ -19,14 +19,12 @@
 
 package org.apache.stratos.messaging.event.health.stat;
 
-import java.io.Serializable;
+import org.apache.stratos.messaging.event.Event;
 
 /**
  * This event is fired by Event processing engine to send gradient of  memory consumption
  */
-public class GradientOfMemoryConsumptionEvent implements Serializable {
-    private static final long serialVersionUID = 1295261800754126413L;
-
+public class GradientOfMemoryConsumptionEvent extends Event {
     private String networkPartitionId;
     private String clusterId;
     private float value;

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/4e772d16/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/GradientOfRequestsInFlightEvent.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/GradientOfRequestsInFlightEvent.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/GradientOfRequestsInFlightEvent.java
index b53fa0f..fa52577 100644
--- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/GradientOfRequestsInFlightEvent.java
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/GradientOfRequestsInFlightEvent.java
@@ -19,14 +19,12 @@
 
 package org.apache.stratos.messaging.event.health.stat;
 
-import java.io.Serializable;
+import org.apache.stratos.messaging.event.Event;
 
 /**
  * This event is fired by Event processing engine to send gradient of requests in flight
  */
-public class GradientOfRequestsInFlightEvent implements Serializable {
-    private static final long serialVersionUID = 1981538866459526611L;
-
+public class GradientOfRequestsInFlightEvent extends Event {
     private String networkPartitionId;
     private String clusterId;
     private float value;

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/4e772d16/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/HealthStatEvent.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/HealthStatEvent.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/HealthStatEvent.java
new file mode 100644
index 0000000..49ab5b8
--- /dev/null
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/HealthStatEvent.java
@@ -0,0 +1,32 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.stratos.messaging.event.health.stat;
+
+import org.apache.stratos.messaging.event.Event;
+
+import java.io.Serializable;
+
+/**
+ * Represents all topology events.
+ */
+public abstract class HealthStatEvent extends Event implements Serializable {
+
+    private static final long serialVersionUID = 878645729335256359L;
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/4e772d16/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/MemberAverageLoadAverageEvent.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/MemberAverageLoadAverageEvent.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/MemberAverageLoadAverageEvent.java
index cd7eb83..bacdbf0 100644
--- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/MemberAverageLoadAverageEvent.java
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/MemberAverageLoadAverageEvent.java
@@ -19,14 +19,12 @@
 
 package org.apache.stratos.messaging.event.health.stat;
 
-import java.io.Serializable;
+import org.apache.stratos.messaging.event.Event;
 
 /**
  *  This event is fired by Event processing engine to send average of Load average
  */
-public class MemberAverageLoadAverageEvent implements Serializable {
-    private static final long serialVersionUID = 506284597552753304L;
-
+public class MemberAverageLoadAverageEvent extends Event {
     private String memberId;
     private float value;
 

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/4e772d16/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/MemberAverageMemoryConsumptionEvent.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/MemberAverageMemoryConsumptionEvent.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/MemberAverageMemoryConsumptionEvent.java
index c61a67d..2a647e7 100644
--- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/MemberAverageMemoryConsumptionEvent.java
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/MemberAverageMemoryConsumptionEvent.java
@@ -19,14 +19,12 @@
 
 package org.apache.stratos.messaging.event.health.stat;
 
-import java.io.Serializable;
+import org.apache.stratos.messaging.event.Event;
 
 /**
  *  This event is fired by Event processing engine to send average of memory consumption
  */
-public class MemberAverageMemoryConsumptionEvent implements Serializable {
-    private static final long serialVersionUID = -1707034855948914488L;
-
+public class MemberAverageMemoryConsumptionEvent extends Event {
     private String memberId;
     private float value;
 

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/4e772d16/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/MemberFaultEvent.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/MemberFaultEvent.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/MemberFaultEvent.java
index 3061e23..baa6ba4 100644
--- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/MemberFaultEvent.java
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/MemberFaultEvent.java
@@ -19,14 +19,12 @@
 
 package org.apache.stratos.messaging.event.health.stat;
 
-import java.io.Serializable;
+import org.apache.stratos.messaging.event.Event;
 
 /**
  *  This event is fired by Event processing engine to send member fault event
  */
-public class MemberFaultEvent implements Serializable {
-
-    private static final long serialVersionUID = 5364415023905395683L;
+public class MemberFaultEvent extends Event {
     private String clusterId;
     private String memberId;
     private String partitionId;

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/4e772d16/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/MemberGradientOfLoadAverageEvent.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/MemberGradientOfLoadAverageEvent.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/MemberGradientOfLoadAverageEvent.java
index 0f8cfb5..3f6a8e8 100644
--- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/MemberGradientOfLoadAverageEvent.java
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/MemberGradientOfLoadAverageEvent.java
@@ -19,14 +19,12 @@
 
 package org.apache.stratos.messaging.event.health.stat;
 
-import java.io.Serializable;
+import org.apache.stratos.messaging.event.Event;
 
 /**
  * This event is fired by Event processing engine to send gradient of Load average
  */
-public class MemberGradientOfLoadAverageEvent implements Serializable {
-
-    private static final long serialVersionUID = -3175864652586282657L;
+public class MemberGradientOfLoadAverageEvent extends Event {
 
     private String memberId;
     private float value;

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/4e772d16/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/MemberGradientOfMemoryConsumptionEvent.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/MemberGradientOfMemoryConsumptionEvent.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/MemberGradientOfMemoryConsumptionEvent.java
index 1fffcbb..c244669 100644
--- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/MemberGradientOfMemoryConsumptionEvent.java
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/MemberGradientOfMemoryConsumptionEvent.java
@@ -19,14 +19,12 @@
 
 package org.apache.stratos.messaging.event.health.stat;
 
-import java.io.Serializable;
+import org.apache.stratos.messaging.event.Event;
 
 /**
  * This event is fired by Event processing engine to send gradient of  memory consumption
  */
-public class MemberGradientOfMemoryConsumptionEvent implements Serializable {
-
-    private static final long serialVersionUID = 2001384053411577107L;
+public class MemberGradientOfMemoryConsumptionEvent extends Event {
 
     private String memberId;
     private float value;

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/4e772d16/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/MemberSecondDerivativeOfLoadAverageEvent.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/MemberSecondDerivativeOfLoadAverageEvent.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/MemberSecondDerivativeOfLoadAverageEvent.java
index 377becf..6879b27 100644
--- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/MemberSecondDerivativeOfLoadAverageEvent.java
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/MemberSecondDerivativeOfLoadAverageEvent.java
@@ -19,14 +19,12 @@
 
 package org.apache.stratos.messaging.event.health.stat;
 
-import java.io.Serializable;
+import org.apache.stratos.messaging.event.Event;
 
 /**
  *  This event is fired by Event processing engine to send second derivative of Load average
  */
-public class MemberSecondDerivativeOfLoadAverageEvent implements Serializable {
-
-    private static final long serialVersionUID = 4746324304909298087L;
+public class MemberSecondDerivativeOfLoadAverageEvent extends Event {
 
     private String memberId;
     private float value;

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/4e772d16/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/MemberSecondDerivativeOfMemoryConsumptionEvent.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/MemberSecondDerivativeOfMemoryConsumptionEvent.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/MemberSecondDerivativeOfMemoryConsumptionEvent.java
index 91809b7..1c2ae0d 100644
--- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/MemberSecondDerivativeOfMemoryConsumptionEvent.java
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/MemberSecondDerivativeOfMemoryConsumptionEvent.java
@@ -19,14 +19,12 @@
 
 package org.apache.stratos.messaging.event.health.stat;
 
-import java.io.Serializable;
+import org.apache.stratos.messaging.event.Event;
 
 /**
  *  This event is fired by Event processing engine to send second derivative of memory consumption
  */
-public class MemberSecondDerivativeOfMemoryConsumptionEvent implements Serializable {
-
-    private static final long serialVersionUID = -8348401633474144696L;
+public class MemberSecondDerivativeOfMemoryConsumptionEvent extends Event {
 
     private String memberId;
     private float value;

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/4e772d16/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/SecondDerivativeOfLoadAverageEvent.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/SecondDerivativeOfLoadAverageEvent.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/SecondDerivativeOfLoadAverageEvent.java
index 3d69f03..da12c41 100644
--- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/SecondDerivativeOfLoadAverageEvent.java
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/SecondDerivativeOfLoadAverageEvent.java
@@ -19,13 +19,12 @@
 
 package org.apache.stratos.messaging.event.health.stat;
 
-import java.io.Serializable;
+import org.apache.stratos.messaging.event.Event;
 
 /**
  *  This event is fired by Event processing engine to send second derivative of Load average
  */
-public class SecondDerivativeOfLoadAverageEvent implements Serializable {
-    private static final long serialVersionUID = -908665632193275589L;
+public class SecondDerivativeOfLoadAverageEvent extends Event {
 
     private String networkPartitionId;
     private String clusterId;

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/4e772d16/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/SecondDerivativeOfMemoryConsumptionEvent.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/SecondDerivativeOfMemoryConsumptionEvent.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/SecondDerivativeOfMemoryConsumptionEvent.java
index 59bd12c..7abba9b 100644
--- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/SecondDerivativeOfMemoryConsumptionEvent.java
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/SecondDerivativeOfMemoryConsumptionEvent.java
@@ -19,14 +19,12 @@
 
 package org.apache.stratos.messaging.event.health.stat;
 
-import java.io.Serializable;
+import org.apache.stratos.messaging.event.Event;
 
 /**
  *  This event is fired by Event processing engine to send second derivative of memory consumption
  */
-public class SecondDerivativeOfMemoryConsumptionEvent implements Serializable {
-
-    private static final long serialVersionUID = 8546005128088790015L;
+public class SecondDerivativeOfMemoryConsumptionEvent extends Event {
     private String clusterId;
     private float value;
 

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/4e772d16/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/SecondDerivativeOfRequestsInFlightEvent.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/SecondDerivativeOfRequestsInFlightEvent.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/SecondDerivativeOfRequestsInFlightEvent.java
index 839b256..f659a47 100644
--- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/SecondDerivativeOfRequestsInFlightEvent.java
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/health/stat/SecondDerivativeOfRequestsInFlightEvent.java
@@ -19,14 +19,12 @@
 
 package org.apache.stratos.messaging.event.health.stat;
 
-import java.io.Serializable;
+import org.apache.stratos.messaging.event.Event;
 
 /**
  *  This event is fired by Event processing engine to send second derivative of requests in flight
  */
-public class SecondDerivativeOfRequestsInFlightEvent implements Serializable {
-
-    private static final long serialVersionUID = -3085209649653431205L;
+public class SecondDerivativeOfRequestsInFlightEvent extends Event {
     private String clusterId;
     private String networkPartitionId;
     private float value;

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/4e772d16/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/AverageLoadAverageMessageProcessor.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/AverageLoadAverageMessageProcessor.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/AverageLoadAverageMessageProcessor.java
new file mode 100644
index 0000000..779e0e3
--- /dev/null
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/AverageLoadAverageMessageProcessor.java
@@ -0,0 +1,66 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.stratos.messaging.message.processor.health.stat;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.stratos.messaging.event.health.stat.AverageLoadAverageEvent;
+import org.apache.stratos.messaging.message.processor.MessageProcessor;
+import org.apache.stratos.messaging.util.Util;
+
+/**
+ *  Processes event that is fired by Event processing engine to send average of Load average
+ */
+public class AverageLoadAverageMessageProcessor extends MessageProcessor {
+
+    private static final Log log = LogFactory.getLog(AverageLoadAverageMessageProcessor.class);
+
+    private MessageProcessor nextProcessor;
+
+    @Override
+    public void setNext(MessageProcessor nextProcessor) {
+        this.nextProcessor = nextProcessor;
+    }
+
+    @Override
+    public boolean process(String type, String message, Object object) {
+        if (AverageLoadAverageEvent.class.getName().equals(type)) {
+
+            // Parse complete message and build event
+            AverageLoadAverageEvent event = (AverageLoadAverageEvent) Util.jsonToObject(message, AverageLoadAverageEvent.class);
+
+            // Notify event listeners
+            notifyEventListeners(event);
+
+            if(log.isDebugEnabled()){
+                log.debug(String.format("%s event processor notified listeners ... " , type));
+            }
+            return true;
+        }
+        else {
+            if(nextProcessor != null) {
+                return nextProcessor.process(type, message, object);
+            }
+            else {
+                throw new RuntimeException(String.format("Failed to process health stat message using available message processors: [type] %s [body] %s", type, message));
+            }
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/4e772d16/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/AverageMemoryConsumptionMessageProcessor.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/AverageMemoryConsumptionMessageProcessor.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/AverageMemoryConsumptionMessageProcessor.java
new file mode 100644
index 0000000..88b09a1
--- /dev/null
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/AverageMemoryConsumptionMessageProcessor.java
@@ -0,0 +1,66 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.stratos.messaging.message.processor.health.stat;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.stratos.messaging.event.health.stat.AverageMemoryConsumptionEvent;
+import org.apache.stratos.messaging.message.processor.MessageProcessor;
+import org.apache.stratos.messaging.util.Util;
+
+/**
+ *  Processes event that is fired by Event processing engine to send average of memory consumption
+ */
+public class AverageMemoryConsumptionMessageProcessor extends MessageProcessor {
+
+    private static final Log log = LogFactory.getLog(AverageMemoryConsumptionMessageProcessor.class);
+
+    private MessageProcessor nextProcessor;
+
+    @Override
+    public void setNext(MessageProcessor nextProcessor) {
+        this.nextProcessor = nextProcessor;
+    }
+
+    @Override
+    public boolean process(String type, String message, Object object) {
+        if (AverageMemoryConsumptionEvent.class.getName().equals(type)) {
+
+            // Parse complete message and build event
+            AverageMemoryConsumptionEvent event = (AverageMemoryConsumptionEvent) Util.jsonToObject(message, AverageMemoryConsumptionEvent.class);
+
+            // Notify event listeners
+            notifyEventListeners(event);
+
+            if(log.isDebugEnabled()){
+                log.debug(String.format("%s event processor notified listeners ... " , type));
+            }
+            return true;
+        }
+        else {
+            if(nextProcessor != null) {
+                return nextProcessor.process(type, message, object);
+            }
+            else {
+                throw new RuntimeException(String.format("Failed to process health stat message using available message processors: [type] %s [body] %s", type, message));
+            }
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/4e772d16/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/AverageRequestsInFlightMessageProcessor.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/AverageRequestsInFlightMessageProcessor.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/AverageRequestsInFlightMessageProcessor.java
new file mode 100644
index 0000000..e5c470a
--- /dev/null
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/AverageRequestsInFlightMessageProcessor.java
@@ -0,0 +1,66 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.stratos.messaging.message.processor.health.stat;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.stratos.messaging.event.health.stat.AverageRequestsInFlightEvent;
+import org.apache.stratos.messaging.message.processor.MessageProcessor;
+import org.apache.stratos.messaging.util.Util;
+
+/**
+ *  Processes event that is fired by Event processing engine to send average of requests in flight
+ */
+public class AverageRequestsInFlightMessageProcessor extends MessageProcessor {
+
+    private static final Log log = LogFactory.getLog(AverageRequestsInFlightMessageProcessor.class);
+
+    private MessageProcessor nextProcessor;
+
+    @Override
+    public void setNext(MessageProcessor nextProcessor) {
+        this.nextProcessor = nextProcessor;
+    }
+
+    @Override
+    public boolean process(String type, String message, Object object) {
+        if (AverageRequestsInFlightEvent.class.getName().equals(type)) {
+
+            // Parse complete message and build event
+            AverageRequestsInFlightEvent event = (AverageRequestsInFlightEvent) Util.jsonToObject(message, AverageRequestsInFlightEvent.class);
+
+            // Notify event listeners
+            notifyEventListeners(event);
+
+            if(log.isDebugEnabled()){
+                log.debug(String.format("%s event processor notified listeners ... " , type));
+            }
+            return true;
+        }
+        else {
+            if(nextProcessor != null) {
+                return nextProcessor.process(type, message, object);
+            }
+            else {
+                throw new RuntimeException(String.format("Failed to process health stat message using available message processors: [type] %s [body] %s", type, message));
+            }
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/4e772d16/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/GradientOfLoadAverageMessageProcessor.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/GradientOfLoadAverageMessageProcessor.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/GradientOfLoadAverageMessageProcessor.java
new file mode 100644
index 0000000..c55f119
--- /dev/null
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/GradientOfLoadAverageMessageProcessor.java
@@ -0,0 +1,66 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.stratos.messaging.message.processor.health.stat;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.stratos.messaging.event.health.stat.AverageRequestsInFlightEvent;
+import org.apache.stratos.messaging.message.processor.MessageProcessor;
+import org.apache.stratos.messaging.util.Util;
+
+/**
+ * Processes event that is fired by Event processing engine to send gradient of Load average
+ */
+public class GradientOfLoadAverageMessageProcessor extends MessageProcessor {
+
+    private static final Log log = LogFactory.getLog(GradientOfLoadAverageMessageProcessor.class);
+
+    private MessageProcessor nextProcessor;
+
+    @Override
+    public void setNext(MessageProcessor nextProcessor) {
+        this.nextProcessor = nextProcessor;
+    }
+
+    @Override
+    public boolean process(String type, String message, Object object) {
+        if (AverageRequestsInFlightEvent.class.getName().equals(type)) {
+
+            // Parse complete message and build event
+            AverageRequestsInFlightEvent event = (AverageRequestsInFlightEvent) Util.jsonToObject(message, AverageRequestsInFlightEvent.class);
+
+            // Notify event listeners
+            notifyEventListeners(event);
+
+            if(log.isDebugEnabled()){
+                log.debug(String.format("%s event processor notified listeners ... " , type));
+            }
+            return true;
+        }
+        else {
+            if(nextProcessor != null) {
+                return nextProcessor.process(type, message, object);
+            }
+            else {
+                throw new RuntimeException(String.format("Failed to process health stat message using available message processors: [type] %s [body] %s", type, message));
+            }
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/4e772d16/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/GradientOfMemoryConsumptionMessageProcessor.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/GradientOfMemoryConsumptionMessageProcessor.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/GradientOfMemoryConsumptionMessageProcessor.java
new file mode 100644
index 0000000..e03cc5a
--- /dev/null
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/GradientOfMemoryConsumptionMessageProcessor.java
@@ -0,0 +1,65 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.stratos.messaging.message.processor.health.stat;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.stratos.messaging.event.health.stat.GradientOfMemoryConsumptionEvent;
+import org.apache.stratos.messaging.message.processor.MessageProcessor;
+import org.apache.stratos.messaging.util.Util;
+
+/**
+ * Processes event that is fired by Event processing engine to send gradient of  memory consumption
+ */
+public class GradientOfMemoryConsumptionMessageProcessor extends MessageProcessor {
+    private static final Log log = LogFactory.getLog(GradientOfMemoryConsumptionMessageProcessor.class);
+
+    private MessageProcessor nextProcessor;
+
+    @Override
+    public void setNext(MessageProcessor nextProcessor) {
+      this.nextProcessor = nextProcessor;
+    }
+
+    @Override
+    public boolean process(String type, String message, Object object) {
+        if (GradientOfMemoryConsumptionEvent.class.getName().equals(type)) {
+
+            // Parse complete message and build event
+            GradientOfMemoryConsumptionEvent event = (GradientOfMemoryConsumptionEvent) Util.jsonToObject(message, GradientOfMemoryConsumptionEvent.class);
+
+            // Notify event listeners
+            notifyEventListeners(event);
+
+            if(log.isDebugEnabled()){
+                log.debug(String.format("%s event processor notified listeners ... " , type));
+            }
+            return true;
+        }
+        else {
+            if(nextProcessor != null) {
+                return nextProcessor.process(type, message, object);
+            }
+            else {
+                throw new RuntimeException(String.format("Failed to process health stat message using available message processors: [type] %s [body] %s", type, message));
+            }
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/4e772d16/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/GradientOfRequestsInFlightMessageProcessor.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/GradientOfRequestsInFlightMessageProcessor.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/GradientOfRequestsInFlightMessageProcessor.java
new file mode 100644
index 0000000..784bd78
--- /dev/null
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/GradientOfRequestsInFlightMessageProcessor.java
@@ -0,0 +1,66 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.stratos.messaging.message.processor.health.stat;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.stratos.messaging.event.health.stat.GradientOfRequestsInFlightEvent;
+import org.apache.stratos.messaging.message.processor.MessageProcessor;
+import org.apache.stratos.messaging.util.Util;
+
+/**
+ * Processes event that is fired by Event processing engine to send gradient of requests in flight
+ */
+public class GradientOfRequestsInFlightMessageProcessor extends MessageProcessor {
+    private static final Log log = LogFactory.getLog(GradientOfRequestsInFlightMessageProcessor.class);
+
+    private MessageProcessor nextProcessor;
+
+    @Override
+    public void setNext(MessageProcessor nextProcessor) {
+      this.nextProcessor = nextProcessor;
+    }
+
+    @Override
+    public boolean process(String type, String message, Object object) {
+        if (GradientOfRequestsInFlightEvent.class.getName().equals(type)) {
+
+            // Parse complete message and build event
+            GradientOfRequestsInFlightEvent event = (GradientOfRequestsInFlightEvent) Util.jsonToObject
+                    (message, GradientOfRequestsInFlightEvent.class);
+
+            // Notify event listeners
+            notifyEventListeners(event);
+
+            if(log.isDebugEnabled()){
+                log.debug(String.format("%s event processor notified listeners ... " , type));
+            }
+            return true;
+        }
+        else {
+            if(nextProcessor != null) {
+                return nextProcessor.process(type, message, object);
+            }
+            else {
+                throw new RuntimeException(String.format("Failed to process health stat message using available message processors: [type] %s [body] %s", type, message));
+            }
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/4e772d16/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/MemberAverageLoadAverageMessageProcessor.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/MemberAverageLoadAverageMessageProcessor.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/MemberAverageLoadAverageMessageProcessor.java
new file mode 100644
index 0000000..d757da0
--- /dev/null
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/MemberAverageLoadAverageMessageProcessor.java
@@ -0,0 +1,66 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.stratos.messaging.message.processor.health.stat;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.stratos.messaging.event.health.stat.MemberAverageLoadAverageEvent;
+import org.apache.stratos.messaging.message.processor.MessageProcessor;
+import org.apache.stratos.messaging.util.Util;
+
+/**
+ *  Processes event that is fired by Event processing engine to send average of Load average
+ */
+public class MemberAverageLoadAverageMessageProcessor extends MessageProcessor {
+    private static final Log log = LogFactory.getLog(MemberAverageLoadAverageMessageProcessor.class);
+
+    private MessageProcessor nextProcessor;
+
+    @Override
+    public void setNext(MessageProcessor nextProcessor) {
+      this.nextProcessor = nextProcessor;
+    }
+
+    @Override
+    public boolean process(String type, String message, Object object) {
+        if (MemberAverageLoadAverageEvent.class.getName().equals(type)) {
+
+            // Parse complete message and build event
+            MemberAverageLoadAverageEvent event = (MemberAverageLoadAverageEvent) Util.jsonToObject
+                    (message, MemberAverageLoadAverageEvent.class);
+
+            // Notify event listeners
+            notifyEventListeners(event);
+
+            if(log.isDebugEnabled()){
+                log.debug(String.format("%s event processor notified listeners ... " , type));
+            }
+            return true;
+        }
+        else {
+            if(nextProcessor != null) {
+                return nextProcessor.process(type, message, object);
+            }
+            else {
+                throw new RuntimeException(String.format("Failed to process health stat message using available message processors: [type] %s [body] %s", type, message));
+            }
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/4e772d16/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/MemberAverageMemoryConsumptionMessageProcessor.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/MemberAverageMemoryConsumptionMessageProcessor.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/MemberAverageMemoryConsumptionMessageProcessor.java
new file mode 100644
index 0000000..fd61cbb
--- /dev/null
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/MemberAverageMemoryConsumptionMessageProcessor.java
@@ -0,0 +1,66 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.stratos.messaging.message.processor.health.stat;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.stratos.messaging.event.health.stat.MemberAverageMemoryConsumptionEvent;
+import org.apache.stratos.messaging.message.processor.MessageProcessor;
+import org.apache.stratos.messaging.util.Util;
+
+/**
+ *  Processes event that is fired by Event processing engine to send average of memory consumption
+ */
+public class MemberAverageMemoryConsumptionMessageProcessor extends MessageProcessor {
+    private static final Log log = LogFactory.getLog(MemberAverageMemoryConsumptionMessageProcessor.class);
+
+    private MessageProcessor nextProcessor;
+
+    @Override
+    public void setNext(MessageProcessor nextProcessor) {
+      this.nextProcessor = nextProcessor;
+    }
+
+    @Override
+    public boolean process(String type, String message, Object object) {
+        if (MemberAverageMemoryConsumptionEvent.class.getName().equals(type)) {
+
+            // Parse complete message and build event
+            MemberAverageMemoryConsumptionEvent event = (MemberAverageMemoryConsumptionEvent) Util.jsonToObject
+                    (message, MemberAverageMemoryConsumptionEvent.class);
+
+            // Notify event listeners
+            notifyEventListeners(event);
+
+            if(log.isDebugEnabled()){
+                log.debug(String.format("%s event processor notified listeners ... " , type));
+            }
+            return true;
+        }
+        else {
+            if(nextProcessor != null) {
+                return nextProcessor.process(type, message, object);
+            }
+            else {
+                throw new RuntimeException(String.format("Failed to process health stat message using available message processors: [type] %s [body] %s", type, message));
+            }
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/4e772d16/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/MemberFaultMessageProcessor.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/MemberFaultMessageProcessor.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/MemberFaultMessageProcessor.java
new file mode 100644
index 0000000..fe04cca
--- /dev/null
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/MemberFaultMessageProcessor.java
@@ -0,0 +1,66 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.stratos.messaging.message.processor.health.stat;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.stratos.messaging.event.health.stat.MemberFaultEvent;
+import org.apache.stratos.messaging.message.processor.MessageProcessor;
+import org.apache.stratos.messaging.util.Util;
+
+/**
+ *  Processes event that is fired by Event processing engine to send member fault event
+ */
+public class MemberFaultMessageProcessor extends MessageProcessor {
+    private static final Log log = LogFactory.getLog(MemberFaultMessageProcessor.class);
+
+    private MessageProcessor nextProcessor;
+
+    @Override
+    public void setNext(MessageProcessor nextProcessor) {
+      this.nextProcessor = nextProcessor;
+    }
+
+    @Override
+    public boolean process(String type, String message, Object object) {
+        if (MemberFaultEvent.class.getName().equals(type)) {
+
+            // Parse complete message and build event
+            MemberFaultEvent event = (MemberFaultEvent) Util.jsonToObject
+                    (message, MemberFaultEvent.class);
+
+            // Notify event listeners
+            notifyEventListeners(event);
+
+            if(log.isDebugEnabled()){
+                log.debug(String.format("%s event processor notified listeners ... " , type));
+            }
+            return true;
+        }
+        else {
+            if(nextProcessor != null) {
+                return nextProcessor.process(type, message, object);
+            }
+            else {
+                throw new RuntimeException(String.format("Failed to process health stat message using available message processors: [type] %s [body] %s", type, message));
+            }
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/4e772d16/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/MemberGradientOfLoadAverageMessageProcessor.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/MemberGradientOfLoadAverageMessageProcessor.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/MemberGradientOfLoadAverageMessageProcessor.java
new file mode 100644
index 0000000..0c1b4df
--- /dev/null
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/MemberGradientOfLoadAverageMessageProcessor.java
@@ -0,0 +1,66 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.stratos.messaging.message.processor.health.stat;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.stratos.messaging.event.health.stat.MemberGradientOfLoadAverageEvent;
+import org.apache.stratos.messaging.message.processor.MessageProcessor;
+import org.apache.stratos.messaging.util.Util;
+
+/**
+ * Processes event that is fired by Event processing engine to send gradient of Load average
+ */
+public class MemberGradientOfLoadAverageMessageProcessor extends MessageProcessor{
+    private static final Log log = LogFactory.getLog(MemberGradientOfLoadAverageMessageProcessor.class);
+
+    private MessageProcessor nextProcessor;
+
+    @Override
+    public void setNext(MessageProcessor nextProcessor) {
+      this.nextProcessor = nextProcessor;
+    }
+
+    @Override
+    public boolean process(String type, String message, Object object) {
+        if (MemberGradientOfLoadAverageEvent.class.getName().equals(type)) {
+
+            // Parse complete message and build event
+            MemberGradientOfLoadAverageEvent event = (MemberGradientOfLoadAverageEvent) Util.jsonToObject
+                    (message, MemberGradientOfLoadAverageEvent.class);
+
+            // Notify event listeners
+            notifyEventListeners(event);
+
+            if(log.isDebugEnabled()){
+                log.debug(String.format("%s event processor notified listeners ... " , type));
+            }
+            return true;
+        }
+        else {
+            if(nextProcessor != null) {
+                return nextProcessor.process(type, message, object);
+            }
+            else {
+                throw new RuntimeException(String.format("Failed to process health stat message using available message processors: [type] %s [body] %s", type, message));
+            }
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/4e772d16/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/MemberGradientOfMemoryConsumptionMessageProcessor.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/MemberGradientOfMemoryConsumptionMessageProcessor.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/MemberGradientOfMemoryConsumptionMessageProcessor.java
new file mode 100644
index 0000000..e554a88
--- /dev/null
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/MemberGradientOfMemoryConsumptionMessageProcessor.java
@@ -0,0 +1,67 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.stratos.messaging.message.processor.health.stat;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.stratos.messaging.event.health.stat.MemberGradientOfMemoryConsumptionEvent;
+import org.apache.stratos.messaging.message.processor.MessageProcessor;
+import org.apache.stratos.messaging.util.Util;
+
+/**
+ * Processes event that is fired by Event processing engine to send gradient of  memory consumption
+ */
+public class MemberGradientOfMemoryConsumptionMessageProcessor extends MessageProcessor {
+
+    private static final Log log = LogFactory.getLog(MemberGradientOfMemoryConsumptionMessageProcessor.class);
+
+    private MessageProcessor nextProcessor;
+
+    @Override
+    public void setNext(MessageProcessor nextProcessor) {
+      this.nextProcessor = nextProcessor;
+    }
+
+    @Override
+    public boolean process(String type, String message, Object object) {
+        if (MemberGradientOfMemoryConsumptionEvent.class.getName().equals(type)) {
+
+            // Parse complete message and build event
+            MemberGradientOfMemoryConsumptionEvent event = (MemberGradientOfMemoryConsumptionEvent) Util.jsonToObject
+                    (message, MemberGradientOfMemoryConsumptionEvent.class);
+
+            // Notify event listeners
+            notifyEventListeners(event);
+
+            if(log.isDebugEnabled()){
+                log.debug(String.format("%s event processor notified listeners ... " , type));
+            }
+            return true;
+        }
+        else {
+            if(nextProcessor != null) {
+                return nextProcessor.process(type, message, object);
+            }
+            else {
+                throw new RuntimeException(String.format("Failed to process health stat message using available message processors: [type] %s [body] %s", type, message));
+            }
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/4e772d16/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/MemberSecondDerivativeOfLoadAverageMessageProcessor.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/MemberSecondDerivativeOfLoadAverageMessageProcessor.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/MemberSecondDerivativeOfLoadAverageMessageProcessor.java
new file mode 100644
index 0000000..a45ca44
--- /dev/null
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/MemberSecondDerivativeOfLoadAverageMessageProcessor.java
@@ -0,0 +1,66 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.stratos.messaging.message.processor.health.stat;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.stratos.messaging.event.health.stat.MemberSecondDerivativeOfLoadAverageEvent;
+import org.apache.stratos.messaging.message.processor.MessageProcessor;
+import org.apache.stratos.messaging.util.Util;
+
+/**
+ *  Processes event that is fired by Event processing engine to send second derivative of Load average
+ */
+public class MemberSecondDerivativeOfLoadAverageMessageProcessor extends MessageProcessor {
+    private static final Log log = LogFactory.getLog(MemberSecondDerivativeOfLoadAverageMessageProcessor.class);
+
+    private MessageProcessor nextProcessor;
+
+    @Override
+    public void setNext(MessageProcessor nextProcessor) {
+      this.nextProcessor = nextProcessor;
+    }
+
+    @Override
+    public boolean process(String type, String message, Object object) {
+        if (MemberSecondDerivativeOfLoadAverageEvent.class.getName().equals(type)) {
+
+            // Parse complete message and build event
+            MemberSecondDerivativeOfLoadAverageEvent event = (MemberSecondDerivativeOfLoadAverageEvent) Util.jsonToObject
+                    (message, MemberSecondDerivativeOfLoadAverageEvent.class);
+
+            // Notify event listeners
+            notifyEventListeners(event);
+
+            if(log.isDebugEnabled()){
+                log.debug(String.format("%s event processor notified listeners ... " , type));
+            }
+            return true;
+        }
+        else {
+            if(nextProcessor != null) {
+                return nextProcessor.process(type, message, object);
+            }
+            else {
+                throw new RuntimeException(String.format("Failed to process health stat message using available message processors: [type] %s [body] %s", type, message));
+            }
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/4e772d16/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/MemberSecondDerivativeOfMemoryConsumptionMessageProcessor.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/MemberSecondDerivativeOfMemoryConsumptionMessageProcessor.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/MemberSecondDerivativeOfMemoryConsumptionMessageProcessor.java
new file mode 100644
index 0000000..4eddf68
--- /dev/null
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/MemberSecondDerivativeOfMemoryConsumptionMessageProcessor.java
@@ -0,0 +1,66 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.stratos.messaging.message.processor.health.stat;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.stratos.messaging.event.health.stat.MemberSecondDerivativeOfMemoryConsumptionEvent;
+import org.apache.stratos.messaging.message.processor.MessageProcessor;
+import org.apache.stratos.messaging.util.Util;
+
+/**
+ *  Processes event that is fired by Event processing engine to send second derivative of memory consumption
+ */
+public class MemberSecondDerivativeOfMemoryConsumptionMessageProcessor extends MessageProcessor {
+    private static final Log log = LogFactory.getLog(MemberSecondDerivativeOfMemoryConsumptionMessageProcessor.class);
+
+    private MessageProcessor nextProcessor;
+
+    @Override
+    public void setNext(MessageProcessor nextProcessor) {
+      this.nextProcessor = nextProcessor;
+    }
+
+    @Override
+    public boolean process(String type, String message, Object object) {
+        if (MemberSecondDerivativeOfMemoryConsumptionEvent.class.getName().equals(type)) {
+
+            // Parse complete message and build event
+            MemberSecondDerivativeOfMemoryConsumptionEvent event = (MemberSecondDerivativeOfMemoryConsumptionEvent) Util.jsonToObject
+                    (message, MemberSecondDerivativeOfMemoryConsumptionEvent.class);
+
+            // Notify event listeners
+            notifyEventListeners(event);
+
+            if(log.isDebugEnabled()){
+                log.debug(String.format("%s event processor notified listeners ... " , type));
+            }
+            return true;
+        }
+        else {
+            if(nextProcessor != null) {
+                return nextProcessor.process(type, message, object);
+            }
+            else {
+                throw new RuntimeException(String.format("Failed to process health stat message using available message processors: [type] %s [body] %s", type, message));
+            }
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/4e772d16/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/SecondDerivativeOfLoadAverageMessageProcessor.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/SecondDerivativeOfLoadAverageMessageProcessor.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/SecondDerivativeOfLoadAverageMessageProcessor.java
new file mode 100644
index 0000000..d2100a4
--- /dev/null
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/SecondDerivativeOfLoadAverageMessageProcessor.java
@@ -0,0 +1,66 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.stratos.messaging.message.processor.health.stat;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.stratos.messaging.event.health.stat.SecondDerivativeOfLoadAverageEvent;
+import org.apache.stratos.messaging.message.processor.MessageProcessor;
+import org.apache.stratos.messaging.util.Util;
+
+/**
+ *  Processes event that is fired by Event processing engine to send second derivative of Load average
+ */
+public class SecondDerivativeOfLoadAverageMessageProcessor extends MessageProcessor {
+    private static final Log log = LogFactory.getLog(SecondDerivativeOfLoadAverageMessageProcessor.class);
+
+    private MessageProcessor nextProcessor;
+
+    @Override
+    public void setNext(MessageProcessor nextProcessor) {
+      this.nextProcessor = nextProcessor;
+    }
+
+    @Override
+    public boolean process(String type, String message, Object object) {
+        if (SecondDerivativeOfLoadAverageEvent.class.getName().equals(type)) {
+
+            // Parse complete message and build event
+            SecondDerivativeOfLoadAverageEvent event = (SecondDerivativeOfLoadAverageEvent) Util.jsonToObject
+                    (message, SecondDerivativeOfLoadAverageEvent.class);
+
+            // Notify event listeners
+            notifyEventListeners(event);
+
+            if(log.isDebugEnabled()){
+                log.debug(String.format("%s event processor notified listeners ... " , type));
+            }
+            return true;
+        }
+        else {
+            if(nextProcessor != null) {
+                return nextProcessor.process(type, message, object);
+            }
+            else {
+                throw new RuntimeException(String.format("Failed to process health stat message using available message processors: [type] %s [body] %s", type, message));
+            }
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/4e772d16/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/SecondDerivativeOfMemoryConsumptionMessageProcessor.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/SecondDerivativeOfMemoryConsumptionMessageProcessor.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/SecondDerivativeOfMemoryConsumptionMessageProcessor.java
new file mode 100644
index 0000000..59190ed
--- /dev/null
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/SecondDerivativeOfMemoryConsumptionMessageProcessor.java
@@ -0,0 +1,66 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.stratos.messaging.message.processor.health.stat;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.stratos.messaging.event.health.stat.SecondDerivativeOfMemoryConsumptionEvent;
+import org.apache.stratos.messaging.message.processor.MessageProcessor;
+import org.apache.stratos.messaging.util.Util;
+
+/**
+ *  Processes event that is fired by Event processing engine to send second derivative of memory consumption
+ */
+public class SecondDerivativeOfMemoryConsumptionMessageProcessor extends MessageProcessor {
+    private static final Log log = LogFactory.getLog(SecondDerivativeOfMemoryConsumptionMessageProcessor.class);
+
+    private MessageProcessor nextProcessor;
+
+    @Override
+    public void setNext(MessageProcessor nextProcessor) {
+      this.nextProcessor = nextProcessor;
+    }
+
+    @Override
+    public boolean process(String type, String message, Object object) {
+        if (SecondDerivativeOfMemoryConsumptionEvent.class.getName().equals(type)) {
+
+            // Parse complete message and build event
+            SecondDerivativeOfMemoryConsumptionEvent event = (SecondDerivativeOfMemoryConsumptionEvent) Util.jsonToObject
+                    (message, SecondDerivativeOfMemoryConsumptionEvent.class);
+
+            // Notify event listeners
+            notifyEventListeners(event);
+
+            if(log.isDebugEnabled()){
+                log.debug(String.format("%s event processor notified listeners ... " , type));
+            }
+            return true;
+        }
+        else {
+            if(nextProcessor != null) {
+                return nextProcessor.process(type, message, object);
+            }
+            else {
+                throw new RuntimeException(String.format("Failed to process health stat message using available message processors: [type] %s [body] %s", type, message));
+            }
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/4e772d16/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/SecondDerivativeOfRequestsInFlightMessageProcessor.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/SecondDerivativeOfRequestsInFlightMessageProcessor.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/SecondDerivativeOfRequestsInFlightMessageProcessor.java
new file mode 100644
index 0000000..6fa80ca
--- /dev/null
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/SecondDerivativeOfRequestsInFlightMessageProcessor.java
@@ -0,0 +1,66 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.stratos.messaging.message.processor.health.stat;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.stratos.messaging.event.health.stat.SecondDerivativeOfRequestsInFlightEvent;
+import org.apache.stratos.messaging.message.processor.MessageProcessor;
+import org.apache.stratos.messaging.util.Util;
+
+/**
+ *  Processes event that is fired by Event processing engine to send second derivative of requests in flight
+ */
+public class SecondDerivativeOfRequestsInFlightMessageProcessor extends MessageProcessor {
+    private static final Log log = LogFactory.getLog(SecondDerivativeOfRequestsInFlightMessageProcessor.class);
+
+    private MessageProcessor nextProcessor;
+
+    @Override
+    public void setNext(MessageProcessor nextProcessor) {
+      this.nextProcessor = nextProcessor;
+    }
+
+    @Override
+    public boolean process(String type, String message, Object object) {
+        if (SecondDerivativeOfRequestsInFlightEvent.class.getName().equals(type)) {
+
+            // Parse complete message and build event
+            SecondDerivativeOfRequestsInFlightEvent event = (SecondDerivativeOfRequestsInFlightEvent) Util.jsonToObject
+                    (message, SecondDerivativeOfRequestsInFlightEvent.class);
+
+            // Notify event listeners
+            notifyEventListeners(event);
+
+            if(log.isDebugEnabled()){
+                log.debug(String.format("%s event processor notified listeners ... " , type));
+            }
+            return true;
+        }
+        else {
+            if(nextProcessor != null) {
+                return nextProcessor.process(type, message, object);
+            }
+            else {
+                throw new RuntimeException(String.format("Failed to process health stat message using available message processors: [type] %s [body] %s", type, message));
+            }
+        }
+    }
+}