Package org.apache.stratos.autoscaler.monitor

Examples of org.apache.stratos.autoscaler.monitor.AbstractMonitor


                    String serviceName = e.getServiceName();
                    String clusterId = e.getClusterId();
                    String deploymentPolicy = e.getDeploymentPolicy();

                    AbstractMonitor monitor;

                    if (e.isLbCluster()) {
                        DeploymentPolicy depPolicy = PolicyManager.getInstance().getDeploymentPolicy(deploymentPolicy);
                        if (depPolicy != null) {
                            List<NetworkPartitionLbHolder> lbHolders = PartitionManager.getInstance()
                                    .getNetworkPartitionLbHolders(depPolicy);

                            for (NetworkPartitionLbHolder networkPartitionLbHolder : lbHolders) {
                                // removes lb cluster ids
                                boolean isRemoved = networkPartitionLbHolder.removeLbClusterId(clusterId);
                                if (isRemoved) {
                                    log.info("Removed the lb cluster [id]:"
                                            + clusterId
                                            + " reference from Network Partition [id]: "
                                            + networkPartitionLbHolder
                                            .getNetworkPartitionId());

                                }
                                if (log.isDebugEnabled()) {
                                    log.debug(networkPartitionLbHolder);
                                }

                            }
                        }
                        monitor = AutoscalerContext.getInstance()
                                .removeLbMonitor(clusterId);

                    } else {
                        monitor = AutoscalerContext.getInstance()
                                .removeMonitor(clusterId);
                    }

                    // runTerminateAllRule(monitor);
                    if (monitor != null) {
                        monitor.destroy();
                        log.info(String.format("Cluster monitor has been removed successfully: [cluster] %s ",
                                clusterId));
                    }
                } catch (Exception e) {
                    log.error("Error processing event", e);
                } finally {
                    TopologyManager.releaseReadLock();
                }
            }

        });

        topologyEventReceiver.addEventListener(new MemberStartedEventListener() {
            @Override
            protected void onEvent(Event event) {

            }

        });

        topologyEventReceiver.addEventListener(new MemberTerminatedEventListener() {
            @Override
            protected void onEvent(Event event) {

                try {
                    TopologyManager.acquireReadLock();
                    MemberTerminatedEvent e = (MemberTerminatedEvent) event;
                    String networkPartitionId = e.getNetworkPartitionId();
                    String clusterId = e.getClusterId();
                    String partitionId = e.getPartitionId();
                    AbstractMonitor monitor;

                    if (AutoscalerContext.getInstance().monitorExist(clusterId)) {
                        monitor = AutoscalerContext.getInstance().getMonitor(clusterId);
                    } else {
                        //This is LB member
                        monitor = AutoscalerContext.getInstance().getLBMonitor(clusterId);
                    }

                    NetworkPartitionContext networkPartitionContext = monitor.getNetworkPartitionCtxt(networkPartitionId);

                    PartitionContext partitionContext = networkPartitionContext.getPartitionCtxt(partitionId);
                    String memberId = e.getMemberId();
                    partitionContext.removeMemberStatsContext(memberId);

                    if (partitionContext.removeTerminationPendingMember(memberId)) {
                        if (log.isDebugEnabled()) {
                            log.debug(String.format("Member is removed from termination pending members list: [member] %s", memberId));
                        }
                    } else if (partitionContext.removePendingMember(memberId)) {
                        if (log.isDebugEnabled()) {
                            log.debug(String.format("Member is removed from pending members list: [member] %s", memberId));
                        }
                    } else if (partitionContext.removeActiveMemberById(memberId)) {
                        log.warn(String.format("Member is in the wrong list and it is removed from active members list", memberId));
                    } else {
                        log.warn(String.format("Member is not available in any of the list active, pending and termination pending", memberId));
                    }

                    if (log.isInfoEnabled()) {
                        log.info(String.format("Member stat context has been removed successfully: [member] %s", memberId));
                    }
//                partitionContext.decrementCurrentActiveMemberCount(1);


                } catch (Exception e) {
                    log.error("Error processing event", e);
                } finally {
                    TopologyManager.releaseReadLock();
                }
            }

        });

        topologyEventReceiver.addEventListener(new MemberActivatedEventListener() {
            @Override
            protected void onEvent(Event event) {

                try {
                    TopologyManager.acquireReadLock();

                    MemberActivatedEvent e = (MemberActivatedEvent) event;
                    String memberId = e.getMemberId();
                    String partitionId = e.getPartitionId();
                    String networkPartitionId = e.getNetworkPartitionId();

                    PartitionContext partitionContext;
                    String clusterId = e.getClusterId();
                    AbstractMonitor monitor;

                    if (AutoscalerContext.getInstance().monitorExist(clusterId)) {
                        monitor = AutoscalerContext.getInstance().getMonitor(clusterId);
                        partitionContext = monitor.getNetworkPartitionCtxt(networkPartitionId).getPartitionCtxt(partitionId);
                    } else {
                        monitor = AutoscalerContext.getInstance().getLBMonitor(clusterId);
                        partitionContext = monitor.getNetworkPartitionCtxt(networkPartitionId).getPartitionCtxt(partitionId);
                    }
                    partitionContext.addMemberStatsContext(new MemberStatsContext(memberId));
                    if (log.isInfoEnabled()) {
                        log.info(String.format("Member stat context has been added successfully: [member] %s", memberId));
                    }
//                partitionContext.incrementCurrentActiveMemberCount(1);
                    partitionContext.movePendingMemberToActiveMembers(memberId);

                } catch (Exception e) {
                    log.error("Error processing event", e);
                } finally {
                    TopologyManager.releaseReadLock();
                }
            }
        });


        topologyEventReceiver.addEventListener(new MemberMaintenanceListener() {
            @Override
            protected void onEvent(Event event) {

                try {
                    TopologyManager.acquireReadLock();

                    MemberMaintenanceModeEvent e = (MemberMaintenanceModeEvent) event;
                    String memberId = e.getMemberId();
                    String partitionId = e.getPartitionId();
                    String networkPartitionId = e.getNetworkPartitionId();

                    PartitionContext partitionContext;
                    String clusterId = e.getClusterId();
                    AbstractMonitor monitor;

                    if (AutoscalerContext.getInstance().monitorExist(clusterId)) {
                        monitor = AutoscalerContext.getInstance().getMonitor(clusterId);
                        partitionContext = monitor.getNetworkPartitionCtxt(networkPartitionId).getPartitionCtxt(partitionId);
                    } else {
                        monitor = AutoscalerContext.getInstance().getLBMonitor(clusterId);
                        partitionContext = monitor.getNetworkPartitionCtxt(networkPartitionId).getPartitionCtxt(partitionId);
                    }
                    partitionContext.addMemberStatsContext(new MemberStatsContext(memberId));
                    if (log.isDebugEnabled()) {
                        log.debug(String.format("Member has been moved as pending termination: [member] %s", memberId));
                    }
View Full Code Here


                if (log.isDebugEnabled()) {
                    log.debug(String.format("Avg load avg event: [cluster] %s [network-partition] %s [value] %s",
                            clusterId, networkPartitionId, floatValue));
                }
                AutoscalerContext asCtx = AutoscalerContext.getInstance();
                AbstractMonitor monitor;

                if(asCtx.monitorExist(clusterId)){
                    monitor = asCtx.getMonitor(clusterId);
                }else if(asCtx.lbMonitorExist(clusterId)){
                    monitor = asCtx.getLBMonitor(clusterId);
                }else{
                    if(log.isDebugEnabled()){
                        log.debug(String.format("A cluster monitor is not found in autoscaler context [cluster] %s", clusterId));
                    }
                    return;
                }
                if(null != monitor){
                    NetworkPartitionContext networkPartitionContext = monitor.getNetworkPartitionCtxt(networkPartitionId);
                    if(null != networkPartitionContext){
                        networkPartitionContext.setAverageLoadAverage(floatValue);
                    } else {
                        if(log.isDebugEnabled()) {
                           log.debug(String.format("Network partition context is not available for :" +
                                   " [network partition] %s", networkPartitionId));
                        }
                    }
                }

            }

        });
        healthStatEventReceiver.addEventListener(new AverageMemoryConsumptionEventListener() {
            @Override
            protected void onEvent(org.apache.stratos.messaging.event.Event event) {

                AverageMemoryConsumptionEvent e = (AverageMemoryConsumptionEvent) event;
                String clusterId = e.getClusterId();
                String networkPartitionId = e.getNetworkPartitionId();

                Float floatValue = e.getValue();

                if (log.isDebugEnabled()) {
                    log.debug(String.format("Avg Memory Consumption event: [cluster] %s [network-partition] %s [value] %s",
                            clusterId, networkPartitionId, floatValue));
                }
                AutoscalerContext asCtx = AutoscalerContext.getInstance();
                AbstractMonitor monitor;

                if(asCtx.monitorExist(clusterId)){
                    monitor = asCtx.getMonitor(clusterId);
                }else if(asCtx.lbMonitorExist(clusterId)){
                    monitor = asCtx.getLBMonitor(clusterId);
                }else{
                    if(log.isDebugEnabled()){
                        log.debug(String.format("A cluster monitor is not found in autoscaler context [cluster] %s", clusterId));
                    }
                    return;
                }

                if(null != monitor){
                    NetworkPartitionContext networkPartitionContext = monitor.getNetworkPartitionCtxt(networkPartitionId);
                    if(null != networkPartitionContext){
                        networkPartitionContext.setAverageMemoryConsumption(floatValue);
                    } else {
                        if(log.isDebugEnabled()) {
                           log.debug(String.format("Network partition context is not available for :" +
                                   " [network partition] %s", networkPartitionId));
                        }
                    }
                }
            }

        });
        healthStatEventReceiver.addEventListener(new AverageRequestsInFlightEventListener() {
            @Override
            protected void onEvent(org.apache.stratos.messaging.event.Event event) {

                AverageRequestsInFlightEvent e = (AverageRequestsInFlightEvent) event;
                String clusterId = e.getClusterId();
                String networkPartitionId = e.getNetworkPartitionId();
                Float floatValue = e.getValue();


                if (log.isDebugEnabled()) {
                    log.debug(String.format("Average Rif event: [cluster] %s [network-partition] %s [value] %s",
                            clusterId, networkPartitionId, floatValue));
                }
                AutoscalerContext asCtx = AutoscalerContext.getInstance();
                AbstractMonitor monitor;

                if(asCtx.monitorExist(clusterId)){
                    monitor = asCtx.getMonitor(clusterId);
                }else if(asCtx.lbMonitorExist(clusterId)){
                    monitor = asCtx.getLBMonitor(clusterId);
                }else{
                    if(log.isDebugEnabled()){
                        log.debug(String.format("A cluster monitor is not found in autoscaler context [cluster] %s", clusterId));
                    }
                    return;
                }
                if(null != monitor){
                    NetworkPartitionContext networkPartitionContext = monitor.getNetworkPartitionCtxt(networkPartitionId);
                    if(null != networkPartitionContext){
                        networkPartitionContext.setAverageRequestsInFlight(floatValue);
                    } else {
                        if(log.isDebugEnabled()) {
                           log.debug(String.format("Network partition context is not available for :" +
                                   " [network partition] %s", networkPartitionId));
                        }
                    }
                }
            }

        });
        healthStatEventReceiver.addEventListener(new GradientOfLoadAverageEventListener() {
            @Override
            protected void onEvent(org.apache.stratos.messaging.event.Event event) {
                GradientOfLoadAverageEvent e = (GradientOfLoadAverageEvent) event;
                String clusterId = e.getClusterId();
                String networkPartitionId = e.getNetworkPartitionId();

                Float floatValue = e.getValue();

                if (log.isDebugEnabled()) {
                    log.debug(String.format("Grad of load avg event: [cluster] %s [network-partition] %s [value] %s",
                            clusterId, networkPartitionId, floatValue));
                }
                AutoscalerContext asCtx = AutoscalerContext.getInstance();
                AbstractMonitor monitor;

                if(asCtx.monitorExist(clusterId)){
                    monitor = asCtx.getMonitor(clusterId);
                }else if(asCtx.lbMonitorExist(clusterId)){
                    monitor = asCtx.getLBMonitor(clusterId);
                }else{
                    if(log.isDebugEnabled()){
                        log.debug(String.format("A cluster monitor is not found in autoscaler context [cluster] %s", clusterId));
                    }
                    return;
                }
                if(null != monitor){
                    NetworkPartitionContext networkPartitionContext = monitor.getNetworkPartitionCtxt(networkPartitionId);
                    if(null != networkPartitionContext){
                        networkPartitionContext.setLoadAverageGradient(floatValue);
                    } else {
                        if(log.isDebugEnabled()) {
                           log.debug(String.format("Network partition context is not available for :" +
                                   " [network partition] %s", networkPartitionId));
                        }
                    }
                }
            }

        });
        healthStatEventReceiver.addEventListener(new GradientOfMemoryConsumptionEventListener() {
            @Override
            protected void onEvent(org.apache.stratos.messaging.event.Event event) {

                GradientOfMemoryConsumptionEvent e = (GradientOfMemoryConsumptionEvent) event;
                String clusterId = e.getClusterId();
                String networkPartitionId = e.getNetworkPartitionId();

                Float floatValue = e.getValue();

                if (log.isDebugEnabled()) {
                    log.debug(String.format("Grad of Memory Consumption event: [cluster] %s [network-partition] %s [value] %s",
                            clusterId, networkPartitionId, floatValue));
                }
                AutoscalerContext asCtx = AutoscalerContext.getInstance();
                AbstractMonitor monitor;

                if(asCtx.monitorExist(clusterId)){
                    monitor = asCtx.getMonitor(clusterId);
                }else if(asCtx.lbMonitorExist(clusterId)){
                    monitor = asCtx.getLBMonitor(clusterId);
                }else{
                    if(log.isDebugEnabled()){
                        log.debug(String.format("A cluster monitor is not found in autoscaler context [cluster] %s", clusterId));
                    }
                    return;
                };
                if(null != monitor){
                    NetworkPartitionContext networkPartitionContext = monitor.getNetworkPartitionCtxt(networkPartitionId);
                    if(null != networkPartitionContext){
                        networkPartitionContext.setMemoryConsumptionGradient(floatValue);
                    } else {
                        if(log.isDebugEnabled()) {
                           log.debug(String.format("Network partition context is not available for :" +
                                   " [network partition] %s", networkPartitionId));
                        }
                    }
                }
            }

        });
        healthStatEventReceiver.addEventListener(new GradientOfRequestsInFlightEventListener() {
            @Override
            protected void onEvent(org.apache.stratos.messaging.event.Event event) {
                GradientOfRequestsInFlightEvent e = (GradientOfRequestsInFlightEvent) event;
                String clusterId = e.getClusterId();
                String networkPartitionId = e.getNetworkPartitionId();

                Float floatValue = e.getValue();

                if (log.isDebugEnabled()) {
                    log.debug(String.format("Gradient of Rif event: [cluster] %s [network-partition] %s [value] %s",
                            clusterId, networkPartitionId, floatValue));
                }
                AutoscalerContext asCtx = AutoscalerContext.getInstance();
                AbstractMonitor monitor;

                if(asCtx.monitorExist(clusterId)){
                    monitor = asCtx.getMonitor(clusterId);
                }else if(asCtx.lbMonitorExist(clusterId)){
                    monitor = asCtx.getLBMonitor(clusterId);
                }else{
                    if(log.isDebugEnabled()){
                        log.debug(String.format("A cluster monitor is not found in autoscaler context [cluster] %s", clusterId));
                    }
                    return;
                }
                if(null != monitor){
                    NetworkPartitionContext networkPartitionContext = monitor.getNetworkPartitionCtxt(networkPartitionId);
                    if(null != networkPartitionContext){
                        networkPartitionContext.setRequestsInFlightGradient(floatValue);
                    } else {
                        if(log.isDebugEnabled()) {
                           log.debug(String.format("Network partition context is not available for :" +
                                   " [network partition] %s", networkPartitionId));
                        }
                    }
                }
            }

        });
        healthStatEventReceiver.addEventListener(new MemberAverageLoadAverageEventListener() {
            @Override
            protected void onEvent(org.apache.stratos.messaging.event.Event event) {
                MemberAverageLoadAverageEvent e = (MemberAverageLoadAverageEvent) event;
                LoadAverage loadAverage = findLoadAverage(e.getMemberId());
                if(loadAverage != null) {

                    Float floatValue = e.getValue();
                    loadAverage.setAverage(floatValue);

                    if (log.isDebugEnabled()) {
                        log.debug(String.format("Member avg of load avg event: [member] %s [value] %s", e.getMemberId()
                                , floatValue));
                    }
                }

            }

        });
        healthStatEventReceiver.addEventListener(new MemberAverageMemoryConsumptionEventListener() {
            @Override
            protected void onEvent(org.apache.stratos.messaging.event.Event event) {
                MemberAverageMemoryConsumptionEvent e = (MemberAverageMemoryConsumptionEvent) event;
                MemoryConsumption memoryConsumption = findMemoryConsumption(e.getMemberId());
                if(memoryConsumption != null) {

                    Float floatValue = e.getValue();
                    memoryConsumption.setAverage(floatValue);

                    if (log.isDebugEnabled()) {
                        log.debug(String.format("Member avg Memory Consumption event: [member] %s [value] %s", e.getMemberId(),
                                floatValue));
                    }
                }

            }

        });
        healthStatEventReceiver.addEventListener(new MemberFaultEventListener() {
            @Override
            protected void onEvent(org.apache.stratos.messaging.event.Event event) {
                MemberFaultEvent e = (MemberFaultEvent) event;
                String clusterId = e.getClusterId();
                String memberId = e.getMemberId();

                if (memberId == null || memberId.isEmpty()) {
                    if(log.isErrorEnabled()) {
                        log.error("Member id not found in received message");
                    }
                } else {

                    if (log.isDebugEnabled()) {
                        log.debug(String.format("Member fault event: [member] %s ", e.getMemberId()));
                    }
                    handleMemberFaultEvent(clusterId, memberId);
                }
            }

        });
        healthStatEventReceiver.addEventListener(new MemberGradientOfLoadAverageEventListener() {
            @Override
            protected void onEvent(org.apache.stratos.messaging.event.Event event) {
                MemberGradientOfLoadAverageEvent e = (MemberGradientOfLoadAverageEvent) event;
                LoadAverage loadAverage = findLoadAverage(e.getMemberId());
                if(loadAverage != null) {

                    Float floatValue = e.getValue();
                    loadAverage.setGradient(floatValue);

                    if (log.isDebugEnabled()) {
                        log.debug(String.format("Member grad of load avg event: [member] %s [value] %s", e.getMemberId(),
                                floatValue));
                    }
                }

            }

        });
        healthStatEventReceiver.addEventListener(new MemberGradientOfMemoryConsumptionEventListener() {
            @Override
            protected void onEvent(org.apache.stratos.messaging.event.Event event) {
                MemberGradientOfMemoryConsumptionEvent e = (MemberGradientOfMemoryConsumptionEvent) event;
                MemoryConsumption memoryConsumption = findMemoryConsumption(e.getMemberId());
                if(memoryConsumption != null) {

                    Float floatValue = e.getValue();
                    memoryConsumption.setGradient(floatValue);

                    if (log.isDebugEnabled()) {
                        log.debug(String.format("Member grad of Memory Consumption event: [member] %s [value] %s", e.getMemberId(),
                                floatValue));
                    }
                }

            }

        });
        healthStatEventReceiver.addEventListener(new MemberSecondDerivativeOfLoadAverageEventListener() {
            @Override
            protected void onEvent(org.apache.stratos.messaging.event.Event event) {
                MemberSecondDerivativeOfLoadAverageEvent e = (MemberSecondDerivativeOfLoadAverageEvent) event;
                LoadAverage loadAverage = findLoadAverage(e.getMemberId());
                if(loadAverage != null) {

                    Float floatValue = e.getValue();
                    loadAverage.setSecondDerivative(floatValue);

                    if (log.isDebugEnabled()) {
                        log.debug(String.format("Member Second Derivation of load avg event: [member] %s [value] %s", e.getMemberId()
                                , floatValue));
                    }
                }
            }

        });
        healthStatEventReceiver.addEventListener(new MemberSecondDerivativeOfMemoryConsumptionEventListener() {
            @Override
            protected void onEvent(org.apache.stratos.messaging.event.Event event) {
            }

        });
        healthStatEventReceiver.addEventListener(new SecondDerivativeOfLoadAverageEventListener() {
            @Override
            protected void onEvent(org.apache.stratos.messaging.event.Event event) {

                SecondDerivativeOfLoadAverageEvent e = (SecondDerivativeOfLoadAverageEvent) event;
                String clusterId = e.getClusterId();
                String networkPartitionId = e.getNetworkPartitionId();

                Float floatValue = e.getValue();

                if (log.isDebugEnabled()) {
                    log.debug(String.format("Second Derivation of load avg event: [cluster] %s [network-partition] %s [value] %s",
                            clusterId, networkPartitionId, floatValue));
                }
                AutoscalerContext asCtx = AutoscalerContext.getInstance();
                AbstractMonitor monitor;

                if(asCtx.monitorExist(clusterId)){
                    monitor = asCtx.getMonitor(clusterId);
                }else if(asCtx.lbMonitorExist(clusterId)){
                    monitor = asCtx.getLBMonitor(clusterId);
                }else{
                    if(log.isDebugEnabled()){
                        log.debug(String.format("A cluster monitor is not found in autoscaler context [cluster] %s", clusterId));
                    }
                    return;
                }
                if(null != monitor){
                    NetworkPartitionContext networkPartitionContext = monitor.getNetworkPartitionCtxt(networkPartitionId);
                    if(null != networkPartitionContext){
                        networkPartitionContext.setLoadAverageSecondDerivative(floatValue);
                    } else {
                        if(log.isDebugEnabled()) {
                           log.debug(String.format("Network partition context is not available for :" +
                                   " [network partition] %s", networkPartitionId));
                        }
                    }
                }
            }

        });
        healthStatEventReceiver.addEventListener(new SecondDerivativeOfMemoryConsumptionEventListener() {
            @Override
            protected void onEvent(org.apache.stratos.messaging.event.Event event) {

                SecondDerivativeOfMemoryConsumptionEvent e = (SecondDerivativeOfMemoryConsumptionEvent) event;
                String clusterId = e.getClusterId();
                String networkPartitionId = e.getNetworkPartitionId();

                Float floatValue = e.getValue();

                if (log.isDebugEnabled()) {
                    log.debug(String.format("Second Derivation of Memory Consumption event: [cluster] %s [network-partition] %s [value] %s",
                            clusterId, networkPartitionId, floatValue));
                }
                AutoscalerContext asCtx = AutoscalerContext.getInstance();
                AbstractMonitor monitor;

                if(asCtx.monitorExist(clusterId)){
                    monitor = asCtx.getMonitor(clusterId);
                }else if(asCtx.lbMonitorExist(clusterId)){
                    monitor = asCtx.getLBMonitor(clusterId);
                }else{
                    if(log.isDebugEnabled()){
                        log.debug(String.format("A cluster monitor is not found in autoscaler context [cluster] %s", clusterId));
                    }
                    return;
                }
                if(null != monitor){
                    NetworkPartitionContext networkPartitionContext = monitor.getNetworkPartitionCtxt(networkPartitionId);
                    if(null != networkPartitionContext){
                        networkPartitionContext.setMemoryConsumptionSecondDerivative(floatValue);
                    } else {
                        if(log.isDebugEnabled()) {
                           log.debug(String.format("Network partition context is not available for :" +
                                   " [network partition] %s", networkPartitionId));
                        }
                    }
                }

            }

        });
        healthStatEventReceiver.addEventListener(new SecondDerivativeOfRequestsInFlightEventListener() {
            @Override
            protected void onEvent(org.apache.stratos.messaging.event.Event event) {
                SecondDerivativeOfRequestsInFlightEvent e = (SecondDerivativeOfRequestsInFlightEvent) event;
                String clusterId = e.getClusterId();
                String networkPartitionId = e.getNetworkPartitionId();
                Float floatValue = e.getValue();

                if (log.isDebugEnabled()) {
                    log.debug(String.format("Second derivative of Rif event: [cluster] %s [network-partition] %s [value] %s",
                            clusterId, networkPartitionId, floatValue));
                }
                AutoscalerContext asCtx = AutoscalerContext.getInstance();
                AbstractMonitor monitor;

                if(asCtx.monitorExist(clusterId)){
                    monitor = asCtx.getMonitor(clusterId);
                }else if(asCtx.lbMonitorExist(clusterId)){
                    monitor = asCtx.getLBMonitor(clusterId);
                }else{
                    if(log.isDebugEnabled()){
                        log.debug(String.format("A cluster monitor is not found in autoscaler context [cluster] %s", clusterId));
                    }
                    return;
                }
                if(null != monitor){
                    NetworkPartitionContext networkPartitionContext = monitor.getNetworkPartitionCtxt(networkPartitionId);
                    if(null != networkPartitionContext){
                        networkPartitionContext.setRequestsInFlightSecondDerivative(floatValue);
                    } else {
                        if(log.isDebugEnabled()) {
                           log.debug(String.format("Network partition context is not available for :" +
View Full Code Here

          return null;
        }
        String clusterId = member.getClusterId();

        AutoscalerContext asCtx = AutoscalerContext.getInstance();
        AbstractMonitor monitor;

        if(asCtx.monitorExist(clusterId)){
            monitor = asCtx.getMonitor(clusterId);
        }else if(asCtx.lbMonitorExist(clusterId)){
            monitor = asCtx.getLBMonitor(clusterId);
        }else{
            if(log.isDebugEnabled()){
                log.debug(String.format("A cluster monitor is not found in autoscaler context [cluster] %s", clusterId));
            }
            return null;
        }
        String networkPartitionId = findNetworkPartitionId(memberId);
        MemberStatsContext memberStatsContext = monitor.getNetworkPartitionCtxt(networkPartitionId)
                        .getPartitionCtxt(member.getPartitionId())
                        .getMemberStatsContext(memberId);
        if(null == memberStatsContext){
            if(log.isDebugEnabled()) {
               log.debug(String.format("Member context is not available for : [member] %s", memberId));
View Full Code Here

                log.debug(String.format("Member not found in the Topology : [member] %s", memberId));
            }
          return null;
        }
        String clusterId = member.getClusterId();
        AbstractMonitor monitor = AutoscalerContext.getInstance().getMonitor(member.getClusterId());
        if(null == monitor){

            monitor = AutoscalerContext.getInstance().getLBMonitor(member.getClusterId());
            if(null == monitor){
                if(log.isDebugEnabled()) {
                   log.debug(String.format("Cluster monitor is not available for : [member] %s", memberId));
                }
            }
            return null;
        }

        String networkPartitionId = findNetworkPartitionId(memberId);
        MemberStatsContext memberStatsContext = monitor.getNetworkPartitionCtxt(networkPartitionId)
                        .getPartitionCtxt(member.getPartitionId())
                        .getMemberStatsContext(memberId);
        if(null == memberStatsContext){
            if(log.isDebugEnabled()) {
               log.debug(String.format("Member context is not available for : [member] %s", memberId));
View Full Code Here

    }

    private void handleMemberFaultEvent(String clusterId, String memberId) {
        try {
          AutoscalerContext asCtx = AutoscalerContext.getInstance();
          AbstractMonitor monitor;
         
          if(asCtx.monitorExist(clusterId)){
            monitor = asCtx.getMonitor(clusterId);
          }else if(asCtx.lbMonitorExist(clusterId)){
            monitor = asCtx.getLBMonitor(clusterId);
          }else{
                if(log.isDebugEnabled()){
                    log.debug(String.format("A cluster monitor is not found in autoscaler context [cluster] %s", clusterId));
                }
                return;
          }
         
          NetworkPartitionContext nwPartitionCtxt;
            try{
              TopologyManager.acquireReadLock();
              Member member = findMember(memberId);
             
              if(null == member){
                return;
              }
                if(!member.isActive()){
                    if(log.isDebugEnabled()){
                        log.debug(String.format("Member activated event has not received for the member %s. Therefore ignoring" +
                                " the member fault health stat", memberId));
                    }
                    return;
                }
             
              nwPartitionCtxt = monitor.getNetworkPartitionCtxt(member);
             
            }finally{
              TopologyManager.releaseReadLock();
            }
            // start a new member in the same Partition
            String partitionId = monitor.getPartitionOfMember(memberId);
            Partition partition = monitor.getDeploymentPolicy().getPartitionById(partitionId);
            PartitionContext partitionCtxt = nwPartitionCtxt.getPartitionCtxt(partitionId);

            if(!partitionCtxt.activeMemberExist(memberId)){
                if(log.isDebugEnabled()){
                    log.debug(String.format("Could not find the active member in partition context, [member] %s ", memberId));
View Full Code Here

TOP

Related Classes of org.apache.stratos.autoscaler.monitor.AbstractMonitor

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.