public class RateCondition extends Condition
deltaTime = datum.time - prevDatum.time deltaValue = datum.value - prevData.value periods = deltaTime /In other words, take the rate of change for the most recent datums and compare it to the threshold. For example, Let's say we have a metric, sessionCount, that increments for each new session. If the sessionCount increases too quickly, say more than 20 per minute, we want an alert. We'd want:rate = deltaValue / periods match = rate
RateCondition( 'SessionCount', INCREASING, MINUTE, GT, 20 )By specifying the SessionCount data as increasing, we know to ignore/reset if the previous session count is less than the current session count. This indicates that maybe the counter was reset (maybe due to a restart).
Note that rate of change is always determined as an absolute value. So threshold values should be >= 0.
| Modifier and Type | Class and Description |
|---|---|
static class |
RateCondition.Direction
Default: INCREASING
|
static class |
RateCondition.Operator |
static class |
RateCondition.Period
Default: MINUTE
|
Condition.TypeconditionId, conditionSetIndex, conditionSetSize, context, tenantId, triggerId, triggerMode, type| Constructor and Description |
|---|
RateCondition()
Used for JSON deserialization, not for general use.
|
RateCondition(String triggerId,
Mode triggerMode,
int conditionSetSize,
int conditionSetIndex,
String dataId,
RateCondition.Direction direction,
RateCondition.Period period,
RateCondition.Operator operator,
Double threshold)
This constructor requires the tenantId be assigned prior to persistence.
|
RateCondition(String triggerId,
Mode triggerMode,
String dataId,
RateCondition.Direction direction,
RateCondition.Period period,
RateCondition.Operator operator,
Double threshold)
This constructor requires the tenantId be assigned prior to persistence.
|
RateCondition(String tenantId,
String triggerId,
Mode triggerMode,
int conditionSetSize,
int conditionSetIndex,
String dataId,
RateCondition.Direction direction,
RateCondition.Period period,
RateCondition.Operator operator,
Double threshold) |
RateCondition(String tenantId,
String triggerId,
Mode triggerMode,
String dataId,
RateCondition.Direction direction,
RateCondition.Period period,
RateCondition.Operator operator,
Double threshold) |
RateCondition(String tenantId,
String triggerId,
String dataId,
RateCondition.Direction direction,
RateCondition.Period period,
RateCondition.Operator operator,
Double threshold) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(Object obj) |
String |
getDataId() |
RateCondition.Direction |
getDirection() |
String |
getLog(long time,
double value,
long previousTime,
double previousValue) |
RateCondition.Operator |
getOperator() |
RateCondition.Period |
getPeriod() |
double |
getRate(long time,
double value,
long previousTime,
double previousValue) |
Double |
getThreshold() |
int |
hashCode() |
boolean |
match(long time,
double value,
long previousTime,
double previousValue) |
void |
setDataId(String dataId) |
void |
setDirection(RateCondition.Direction direction) |
void |
setOperator(RateCondition.Operator operator) |
void |
setPeriod(RateCondition.Period period) |
void |
setThreshold(Double threshold) |
String |
toString() |
getConditionId, getConditionSetIndex, getConditionSetSize, getContext, getTenantId, getTriggerId, getTriggerMode, getType, setConditionSetIndex, setConditionSetSize, setContext, setTenantId, setTriggerId, setTriggerModepublic RateCondition()
public RateCondition(String tenantId, String triggerId, String dataId, RateCondition.Direction direction, RateCondition.Period period, RateCondition.Operator operator, Double threshold)
public RateCondition(String triggerId, Mode triggerMode, String dataId, RateCondition.Direction direction, RateCondition.Period period, RateCondition.Operator operator, Double threshold)
public RateCondition(String tenantId, String triggerId, Mode triggerMode, String dataId, RateCondition.Direction direction, RateCondition.Period period, RateCondition.Operator operator, Double threshold)
public RateCondition(String triggerId, Mode triggerMode, int conditionSetSize, int conditionSetIndex, String dataId, RateCondition.Direction direction, RateCondition.Period period, RateCondition.Operator operator, Double threshold)
public RateCondition(String tenantId, String triggerId, Mode triggerMode, int conditionSetSize, int conditionSetIndex, String dataId, RateCondition.Direction direction, RateCondition.Period period, RateCondition.Operator operator, Double threshold)
public String getDataId()
public void setDataId(String dataId)
public RateCondition.Direction getDirection()
public void setDirection(RateCondition.Direction direction)
public RateCondition.Period getPeriod()
public void setPeriod(RateCondition.Period period)
public RateCondition.Operator getOperator()
public void setOperator(RateCondition.Operator operator)
public Double getThreshold()
public void setThreshold(Double threshold)
public String getLog(long time, double value, long previousTime, double previousValue)
public boolean match(long time,
double value,
long previousTime,
double previousValue)
public double getRate(long time,
double value,
long previousTime,
double previousValue)
Copyright © 2015–2016 Red Hat, Inc.. All rights reserved.