def apply()

in server/src/main/scala/com/twitter/server/handler/TracingHandler.scala [34:80]


  def apply(request: Request): Future[Response] = {
    val uri = Uri.fromRequest(request)
    val params = uri.params

    try {
      if (FinagleTracing.instance.isEmpty)
        return newResponse(
          status = Status.InternalServerError,
          contentType = "text/html;charset=UTF-8",
          content = Buf.Utf8("Finagle tracing not found!")
        )
    } catch {
      case _: Throwable =>
        return newResponse(
          status = Status.InternalServerError,
          contentType = "text/html;charset=UTF-8",
          content = Buf.Utf8(
            "Could not initialize Finagle tracing classes. Possibly old version of Finagle."
          )
        )
    }

    val tracing = FinagleTracing.instance.get

    val msg = (params.get("enable"), params.get("disable")) match {
      case (Some("true"), Some("true")) =>
        """You set tracing to be enabled and disabled at the same time.
          |Either enable (/admin/tracing?enable=true) or disable (/admin/tracing?disable=true) it.
          |""".stripMargin
      case (Some("true"), _) =>
        tracing.enable()
        "Enabled Finagle tracing"
      case (_, Some("true")) =>
        tracing.disable()
        "Disabling Finagle tracing"
      case _ =>
        """You did not set the parameter for tracing.
          |Either enable (/admin/tracing?enable=true) or disable (/admin/tracing?disable=true) it.
          |""".stripMargin
    }

    log.info(msg)
    newResponse(
      contentType = "text/html;charset=UTF-8",
      content = Buf.Utf8(msg)
    )
  }