private[server] def translateToQuery()

in server/src/main/scala/com/twitter/server/handler/MetricExpressionHandler.scala [39:57]


  private[server] def translateToQuery(
    expr: Expression,
    shouldRate: Boolean,
    sourceLatched: Boolean,
    labels: Map[String, String]
  ): String =
    expr match {
      case HistogramExpression(schema, _) => getHisto(schema, labels)
      case MetricExpression(schema, showRollup) =>
        getMetric(schema, showRollup, shouldRate, sourceLatched)
      case ConstantExpression(repr) => repr
      case FunctionExpression(funcName, exprs) =>
        s"$funcName(${exprs
          .map { expr => translateToQuery(expr, shouldRate, sourceLatched, labels) }.mkString(",")})"
      case StringExpression(expr, isCounter) =>
        val metric = expr.mkString(metadataScopeSeparator())
        if (isCounter && shouldRate && !sourceLatched) s"rate($metric)" else metric
      case NoExpression => "null"
    }