Enabled health statistics notifier in cartridge agent
Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/62f852f1 Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/62f852f1 Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/62f852f1 Branch: refs/heads/master Commit: 62f852f1eb71aa4f2ac8d2a67b660e9de2baade9 Parents: 6e62121 Author: Imesh Gunaratne <[email protected]> Authored: Fri Dec 20 15:34:38 2013 +0530 Committer: Udara Liyanage <[email protected]> Committed: Fri Dec 20 20:25:37 2013 -0500 ---------------------------------------------------------------------- .../publisher/CartridgeAgentEventPublisher.java | 78 +++++++++++++------- .../publisher/WSO2CEPStatisticsPublisher.java | 2 +- .../conf/configurator/CEPConfigurator.java | 2 +- .../src/main/bin/haproxy-extension.sh | 2 +- .../src/main/bin/cartridge-agent.sh | 3 +- 5 files changed, 57 insertions(+), 30 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/62f852f1/components/org.apache.stratos.cartridge.agent/src/main/java/org/apache/stratos/cartridge/agent/event/publisher/CartridgeAgentEventPublisher.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cartridge.agent/src/main/java/org/apache/stratos/cartridge/agent/event/publisher/CartridgeAgentEventPublisher.java b/components/org.apache.stratos.cartridge.agent/src/main/java/org/apache/stratos/cartridge/agent/event/publisher/CartridgeAgentEventPublisher.java index a576a3a..9e6372d 100644 --- a/components/org.apache.stratos.cartridge.agent/src/main/java/org/apache/stratos/cartridge/agent/event/publisher/CartridgeAgentEventPublisher.java +++ b/components/org.apache.stratos.cartridge.agent/src/main/java/org/apache/stratos/cartridge/agent/event/publisher/CartridgeAgentEventPublisher.java @@ -3,6 +3,7 @@ package org.apache.stratos.cartridge.agent.event.publisher; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.stratos.cartridge.agent.config.CartridgeAgentConfiguration; +import org.apache.stratos.cartridge.agent.statistics.publisher.HealthStatisticsNotifier; import org.apache.stratos.messaging.broker.publish.EventPublisher; import org.apache.stratos.messaging.event.instance.status.InstanceActivatedEvent; import org.apache.stratos.messaging.event.instance.status.InstanceStartedEvent; @@ -13,40 +14,65 @@ import org.apache.stratos.messaging.util.Constants; */ public class CartridgeAgentEventPublisher { private static final Log log = LogFactory.getLog(CartridgeAgentEventPublisher.class); + private static boolean started; + private static boolean activated; public static void publishInstanceStartedEvent() { - if(log.isInfoEnabled()) { - log.info("Publishing instance started event"); - } - InstanceStartedEvent event = new InstanceStartedEvent( - CartridgeAgentConfiguration.getInstance().getServiceName(), - CartridgeAgentConfiguration.getInstance().getClusterId(), - CartridgeAgentConfiguration.getInstance().getNetworkPartitionId(), - CartridgeAgentConfiguration.getInstance().getPartitionId(), - CartridgeAgentConfiguration.getInstance().getMemberId()); + if (!started) { + if (log.isInfoEnabled()) { + log.info("Publishing instance started event"); + } + InstanceStartedEvent event = new InstanceStartedEvent( + CartridgeAgentConfiguration.getInstance().getServiceName(), + CartridgeAgentConfiguration.getInstance().getClusterId(), + CartridgeAgentConfiguration.getInstance().getNetworkPartitionId(), + CartridgeAgentConfiguration.getInstance().getPartitionId(), + CartridgeAgentConfiguration.getInstance().getMemberId()); - EventPublisher eventPublisher = new EventPublisher(Constants.INSTANCE_STATUS_TOPIC); - eventPublisher.publish(event); - if(log.isInfoEnabled()) { - log.info("Instance started event published"); + EventPublisher eventPublisher = new EventPublisher(Constants.INSTANCE_STATUS_TOPIC); + eventPublisher.publish(event); + started = true; + if (log.isInfoEnabled()) { + log.info("Instance started event published"); + } + } else { + if (log.isWarnEnabled()) { + log.warn("Instance already started"); + } } } public static void publishInstanceActivatedEvent() { - if(log.isInfoEnabled()) { - log.info("Publishing instance activated event"); - } - InstanceActivatedEvent event = new InstanceActivatedEvent( - CartridgeAgentConfiguration.getInstance().getServiceName(), - CartridgeAgentConfiguration.getInstance().getClusterId(), - CartridgeAgentConfiguration.getInstance().getNetworkPartitionId(), - CartridgeAgentConfiguration.getInstance().getPartitionId(), - CartridgeAgentConfiguration.getInstance().getMemberId()); + if (!activated) { + if (log.isInfoEnabled()) { + log.info("Publishing instance activated event"); + } + InstanceActivatedEvent event = new InstanceActivatedEvent( + CartridgeAgentConfiguration.getInstance().getServiceName(), + CartridgeAgentConfiguration.getInstance().getClusterId(), + CartridgeAgentConfiguration.getInstance().getNetworkPartitionId(), + CartridgeAgentConfiguration.getInstance().getPartitionId(), + CartridgeAgentConfiguration.getInstance().getMemberId()); + + EventPublisher eventPublisher = new EventPublisher(Constants.INSTANCE_STATUS_TOPIC); + eventPublisher.publish(event); + if (log.isInfoEnabled()) { + log.info("Instance activated event published"); + } - EventPublisher eventPublisher = new EventPublisher(Constants.INSTANCE_STATUS_TOPIC); - eventPublisher.publish(event); - if(log.isInfoEnabled()) { - log.info("Instance activated event published"); + if (log.isInfoEnabled()) { + log.info("Starting health statistics notifier"); + } + Thread thread = new Thread(new HealthStatisticsNotifier()); + thread.start(); + activated = true; + if (log.isInfoEnabled()) { + log.info("Health statistics notifier started"); + } + } else { + if (log.isWarnEnabled()) { + log.warn("Instance already activated"); + } } } } http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/62f852f1/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/statistics/publisher/WSO2CEPStatisticsPublisher.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/statistics/publisher/WSO2CEPStatisticsPublisher.java b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/statistics/publisher/WSO2CEPStatisticsPublisher.java index 153c511..0899f1a 100644 --- a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/statistics/publisher/WSO2CEPStatisticsPublisher.java +++ b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/statistics/publisher/WSO2CEPStatisticsPublisher.java @@ -51,7 +51,7 @@ public class WSO2CEPStatisticsPublisher implements StatisticsPublisher { this.port = System.getProperty("thrift.receiver.port"); this.username = "admin"; this.password = "admin"; - String enabledStr = System.getProperty("load.balancer.cep.stats.publisher.enabled"); + String enabledStr = System.getProperty("cep.stats.publisher.enabled"); if (StringUtils.isNotBlank(enabledStr)) { enabled = Boolean.getBoolean(enabledStr); if (enabled) { http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/62f852f1/components/org.apache.stratos.load.balancer/src/main/java/org/apache/stratos/load/balancer/conf/configurator/CEPConfigurator.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.load.balancer/src/main/java/org/apache/stratos/load/balancer/conf/configurator/CEPConfigurator.java b/components/org.apache.stratos.load.balancer/src/main/java/org/apache/stratos/load/balancer/conf/configurator/CEPConfigurator.java index 9d9d492..7d76766 100644 --- a/components/org.apache.stratos.load.balancer/src/main/java/org/apache/stratos/load/balancer/conf/configurator/CEPConfigurator.java +++ b/components/org.apache.stratos.load.balancer/src/main/java/org/apache/stratos/load/balancer/conf/configurator/CEPConfigurator.java @@ -28,7 +28,7 @@ public class CEPConfigurator { public static void configure(LoadBalancerConfiguration configuration) { // Set system properties - System.setProperty("load.balancer.cep.stats.publisher.enabled", String.valueOf(configuration.isCepStatsPublisherEnabled())); + System.setProperty("cep.stats.publisher.enabled", String.valueOf(configuration.isCepStatsPublisherEnabled())); System.setProperty("thrift.receiver.ip", configuration.getCepIp()); System.setProperty("thrift.receiver.port", String.valueOf(configuration.getCepPort())); System.setProperty("network.partition.id", configuration.getNetworkPartitionId()); http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/62f852f1/extensions/load-balancer/haproxy-extension/src/main/bin/haproxy-extension.sh ---------------------------------------------------------------------- diff --git a/extensions/load-balancer/haproxy-extension/src/main/bin/haproxy-extension.sh b/extensions/load-balancer/haproxy-extension/src/main/bin/haproxy-extension.sh index 2254f09..43b7428 100755 --- a/extensions/load-balancer/haproxy-extension/src/main/bin/haproxy-extension.sh +++ b/extensions/load-balancer/haproxy-extension/src/main/bin/haproxy-extension.sh @@ -38,7 +38,7 @@ properties="-Djndi.properties.dir=${script_path}/../conf -Dthrift.receiver.port=7615 -Dnetwork.partition.id= -Dstratos.messaging.topology.service.filter= - -Dload.balancer.cep.stats.publisher.enabled=true" + -Dcep.stats.publisher.enabled=true" # Uncomment below line to enable remote debugging #debug="-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005" http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/62f852f1/products/cartridge-agent/modules/distribution/src/main/bin/cartridge-agent.sh ---------------------------------------------------------------------- diff --git a/products/cartridge-agent/modules/distribution/src/main/bin/cartridge-agent.sh b/products/cartridge-agent/modules/distribution/src/main/bin/cartridge-agent.sh index c03bad3..830a78a 100644 --- a/products/cartridge-agent/modules/distribution/src/main/bin/cartridge-agent.sh +++ b/products/cartridge-agent/modules/distribution/src/main/bin/cartridge-agent.sh @@ -30,8 +30,9 @@ properties="-Dmb.ip=localhost -Dthrift.receiver.port=7615 -Djndi.properties.template.file.path=${script_path}/../conf/templates/jndi.properties.template -Djndi.properties.dir=${script_path}/../conf - -Dlog4j.properties.file.path=${script_path}/../conf/log4j.properties" + -Dlog4j.properties.file.path=${script_path}/../conf/log4j.properties -Dparam.file.path=/opt/apache-stratos-cartridge-agent/payload/launch.params + -Dcep.stats.publisher.enabled=true" # Uncomment below line to enable remote debugging #debug="-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005"
