Package

com.netflix.atlas.core

algorithm

Permalink

package algorithm

Visibility
  1. Public
  2. All

Type Members

  1. case class AlgoState(algorithm: String, settings: Map[String, Any]) extends Product with Serializable

    Permalink

    Represents the current state for an online algorithm.

    Represents the current state for an online algorithm. Can be used with OnlineAlgorithm.apply to create a new instance with the same state. This state object is reliably serializable with helpers such as the atlas-json library so state can be persisted.

  2. trait OnlineAlgorithm extends AnyRef

    Permalink

    Base trait for online algorithms used on time series.

  3. case class OnlineDelay(buf: RollingBuffer) extends OnlineAlgorithm with Product with Serializable

    Permalink

    Delays the values by the window size.

    Delays the values by the window size. This is similar to the :offset operator except that it can be applied to any input line instead of just changing the time window fetched with a DataExpr. Short delays can be useful for alerting to detect changes in slightly shifted trend lines.

  4. case class OnlineDerivative(prev: Double) extends OnlineAlgorithm with Product with Serializable

    Permalink

    Computes the rate of change per step of the input time series.

  5. case class OnlineDes(training: Int, alpha: Double, beta: Double) extends OnlineAlgorithm with Product with Serializable

    Permalink

    Helper to compute DES value iteratively for a set of numbers.

    Helper to compute DES value iteratively for a set of numbers.

    training

    Number of samples to record before emitting predicted values.

    alpha

    Data smoothing factor.

    beta

    Trend smoothing factor.

  6. case class OnlineIgnoreN(n: Int) extends OnlineAlgorithm with Product with Serializable

    Permalink

    Ignore the first N datapoints that are passed in.

    Ignore the first N datapoints that are passed in. This is typically used to achieve an initial alignment to step boundaries when using a deterministic sliding window approach like SDES.

  7. case class OnlineIntegral(value: Double) extends OnlineAlgorithm with Product with Serializable

    Permalink

    Sum the values across the evaluation context.

    Sum the values across the evaluation context. This is typically used to approximate the distinct number of events that occurred. If the input is non-negative, then each datapoint for the output line will represent the area under the input line from the start of the graph to the time for that datapoint.

  8. case class OnlineRollingCount(buf: RollingBuffer) extends OnlineAlgorithm with Product with Serializable

    Permalink

    Keeps track of the number of true values within a given window.

    Keeps track of the number of true values within a given window. A value is considered as true if it is not near zero. This is frequently used to check for a number of occurrences before triggering an alert.

  9. case class OnlineRollingMax(buf: RollingBuffer) extends OnlineAlgorithm with Product with Serializable

    Permalink

    Keeps track of the maximum value within a given window.

    Keeps track of the maximum value within a given window. This is typically used as a way to get a smooth upper bound line that closely tracks a noisy input.

  10. case class OnlineRollingMean(buf: RollingBuffer, minNumValues: Int) extends OnlineAlgorithm with Product with Serializable

    Permalink

    Mean of the values within a moving window of the input.

    Mean of the values within a moving window of the input. The denominator is the number of values (non-NaN entries) in the rolling buffer.

    buf

    Rolling buffer to keep track of the input for a given window.

    minNumValues

    Minimum number of values that must be present within the buffer for an average to be emitted. If there are not enough non-NaN values, then NaN will be emitted.

  11. case class OnlineRollingMin(buf: RollingBuffer) extends OnlineAlgorithm with Product with Serializable

    Permalink

    Keeps track of the minimum value within a given window.

    Keeps track of the minimum value within a given window. This is typically used as a way to get a smooth lower bound line that closely tracks a noisy input.

  12. case class OnlineRollingSum(buf: RollingBuffer) extends OnlineAlgorithm with Product with Serializable

    Permalink

    Sum of the values within a moving window of the input.

    Sum of the values within a moving window of the input.

    buf

    Rolling buffer to keep track of the input for a given window.

  13. case class OnlineSlidingDes(training: Int, alpha: Double, beta: Double, des1: OnlineDes, des2: OnlineDes) extends OnlineAlgorithm with Product with Serializable

    Permalink

    Alternate between two DES functions after each training period.

    Alternate between two DES functions after each training period. This provides a deterministic estimate within a bounded amount of time.

    training

    Number of samples to record before emitting predicted values.

    alpha

    Data smoothing factor.

    beta

    Trend smoothing factor.

  14. case class OnlineTrend(buf: RollingBuffer) extends OnlineAlgorithm with Product with Serializable

    Permalink

    Keeps track of the number of true values within a given window.

    Keeps track of the number of true values within a given window. A value is considered as true if it is not near zero. This is frequently used to check for a number of occurrences before triggering an alert.

  15. case class Pipeline(stages: List[OnlineAlgorithm]) extends OnlineAlgorithm with Product with Serializable

    Permalink

    Push a value through a sequence of online algorithms and return the result.

  16. class RollingBuffer extends AnyRef

    Permalink

    Buffer for tracking the last N values of a time series.

Value Members

  1. object AlgoState extends Serializable

    Permalink

    Helper functions to make it easier to create state objects.

  2. object OnlineAlgorithm

    Permalink
  3. object OnlineDelay extends Serializable

    Permalink
  4. object OnlineDerivative extends Serializable

    Permalink
  5. object OnlineDes extends Serializable

    Permalink
  6. object OnlineIgnoreN extends Serializable

    Permalink
  7. object OnlineIntegral extends Serializable

    Permalink
  8. object OnlineRollingCount extends Serializable

    Permalink
  9. object OnlineRollingMax extends Serializable

    Permalink
  10. object OnlineRollingMean extends Serializable

    Permalink
  11. object OnlineRollingMin extends Serializable

    Permalink
  12. object OnlineRollingSum extends Serializable

    Permalink
  13. object OnlineSlidingDes extends Serializable

    Permalink
  14. object OnlineTrend extends Serializable

    Permalink
  15. object Pipeline extends Serializable

    Permalink
  16. object RollingBuffer

    Permalink

Ungrouped