in atlas-webapi/src/main/scala/com/netflix/atlas/webapi/ExprApi.scala [300:319]
private def normalizeStat(expr: StyleExpr): StyleExpr = {
expr
.rewrite {
case FilterExpr.Filter(ts1, ts2) =>
val updated = ts2.rewrite {
case FilterExpr.Stat(ts, s, None) if ts == ts1 =>
s match {
case "avg" => FilterExpr.StatAvg
case "min" => FilterExpr.StatMin
case "max" => FilterExpr.StatMax
case "last" => FilterExpr.StatLast
case "total" => FilterExpr.StatTotal
case "count" => FilterExpr.StatCount
case _ => FilterExpr.Stat(ts, s, None)
}
}
FilterExpr.Filter(ts1, updated.asInstanceOf[TimeSeriesExpr])
}
.asInstanceOf[StyleExpr]
}