protected void onRestartFailed(String msg) { LOG.warn("ServiceRestarter failed for "+entity+": "+msg); if (getConfig(SET_ON_FIRE_ON_FAILURE)) { entity.setAttribute(Attributes.SERVICE_STATE, Lifecycle.ON_FIRE); } entity.emit(ENTITY_RESTART_FAILED, new FailureDescriptor(entity, msg)); } }
protected void onReplacementFailed(String msg) { LOG.warn("ServiceReplacer failed for "+entity+": "+msg); consecutiveReplacementFailureTimes.add(currentTimeMillis()); if (getConfig(SET_ON_FIRE_ON_FAILURE)) { entity.setAttribute(Attributes.SERVICE_STATE, Lifecycle.ON_FIRE); } entity.emit(ENTITY_REPLACEMENT_FAILED, new FailureDescriptor(entity, msg)); } }
LOG.info("{} health-check for {}, component recovered (from failure at {}): {}", new Object[] {this, member, Time.makeDateString(memberFailures.get(member)), description}); entity.emit(HASensors.ENTITY_RECOVERED, new HASensors.FailureDescriptor(member, description)); memberFailures.remove(member); } else if (failed) { LOG.info("{} health-check for {}, component failed: {}", new Object[] {this, member, description}); memberFailures.put(member, System.currentTimeMillis()); entity.emit(HASensors.ENTITY_FAILED, new HASensors.FailureDescriptor(member, description)); } else { if (LOG.isTraceEnabled()) LOG.trace("{} health-check for {}, either healthy or insufficient data: {}", new Object[] {this, member, description});
@Override @SuppressWarnings({ "unchecked", "rawtypes" }) public void onEvent(SensorEvent<Object> event) { // propagate upwards Sensor<?> sourceSensor = event.getSensor(); Sensor<?> destinationSensor = getDestinationSensor(sourceSensor); if (log.isTraceEnabled()) log.trace("policy {} got {}, propagating via {}{}", new Object[] {this, event, entity, (sourceSensor == destinationSensor ? "" : " (as "+destinationSensor+")")}); if (event.getSensor() instanceof AttributeSensor) { entity.setAttribute((AttributeSensor)destinationSensor, event.getValue()); } else { entity.emit((Sensor)destinationSensor, event.getValue()); } }
weSetItOnFire = false; entity.emit(HASensors.ENTITY_RECOVERED, new HASensors.FailureDescriptor(entity, description)); currentFailureStartTime.set(null); } else if (failed) { entity.setAttribute(Attributes.SERVICE_STATE, Lifecycle.ON_FIRE); entity.emit(HASensors.ENTITY_FAILED, new HASensors.FailureDescriptor(entity, description)); } else { if (LOG.isTraceEnabled()) LOG.trace("{} health-check for {}, either healthy or insufficient data: {}", new Object[] {this, entity, description});
@SuppressWarnings({ "rawtypes", "unchecked" }) @Override public void onEvent(SensorEvent event) { Number value = recompute(); Number typedValue = cast(value, (Class<? extends Number>)target.getType()); if (target instanceof AttributeSensor) { entity.setAttribute((AttributeSensor)target, typedValue); } else if (typedValue!=null) entity.emit((Sensor)target, typedValue); }
AutoScalerPolicy.POOL_HIGH_THRESHOLD_KEY, model.getPoolHighThreshold()); ((EntityLocal)poolEntity).emit(AutoScalerPolicy.DEFAULT_POOL_COLD_SENSOR, eventVal); AutoScalerPolicy.POOL_HIGH_THRESHOLD_KEY, model.getPoolHighThreshold()); ((EntityLocal)poolEntity).emit(AutoScalerPolicy.DEFAULT_POOL_HOT_SENSOR, eventVal);
@Override public void onEvent(SensorEvent event) { if (accept((T)event.getValue())) { if (target instanceof AttributeSensor) entity.setAttribute((AttributeSensor)target, compute((T)event.getValue())); else entity.emit(target, compute((T)event.getValue())); } }
.timeWindow(timeWindowSize) .build(); entity.emit(maxSizeReachedSensor, event);