in atlas-eval/src/main/scala/com/netflix/atlas/eval/graph/SimpleLegends.scala [80:93]
private def keyValues(query: Query): Map[String, String] = {
query match {
case Query.And(q1, q2) => keyValues(q1) ++ keyValues(q2)
case Query.Equal(k, v) => Map(k -> v)
case Query.LessThan(k, v) => Map(k -> v)
case Query.LessThanEqual(k, v) => Map(k -> v)
case Query.GreaterThan(k, v) => Map(k -> v)
case Query.GreaterThanEqual(k, v) => Map(k -> v)
case Query.Regex(k, v) => Map(k -> v)
case Query.RegexIgnoreCase(k, v) => Map(k -> v)
case Query.Not(q: KeyValueQuery) => keyValues(q).map(t => t._1 -> s"!${t._2}")
case _ => Map.empty
}
}