in atlas-core/src/main/scala/com/netflix/atlas/core/algorithm/OnlineAlgorithm.scala [51:68]
def apply(state: AlgoState): OnlineAlgorithm = {
state.algorithm match {
case "delay" => OnlineDelay(state)
case "derivative" => OnlineDerivative(state)
case "des" => OnlineDes(state)
case "ignore" => OnlineIgnoreN(state)
case "integral" => OnlineIntegral(state)
case "pipeline" => Pipeline(state)
case "rolling-count" => OnlineRollingCount(state)
case "rolling-sum" => OnlineRollingSum(state)
case "rolling-max" => OnlineRollingMax(state)
case "rolling-mean" => OnlineRollingMean(state)
case "rolling-min" => OnlineRollingMin(state)
case "sliding-des" => OnlineSlidingDes(state)
case "trend" => OnlineTrend(state)
case t => throw new IllegalArgumentException(s"unknown type: '$t'")
}
}