private def checkJvmUptime()

in src/main/scala/com/twitter/iago/launcher/LocalMode.scala [156:181]


  private def checkJvmUptime(
    iagoServerClient: Service[Request, Response],
    iagoFeederClient: Service[Request, Response]
  ) {

    val request = Request("admin/metrics", ("m", "jvm/uptime"))

    def checkJvmUptimeUtil(client: Service[Request, Response]) = {
      val responseStr = client(request).map(_.getContentString())
      val mapper = new ObjectMapper()
      val node = responseStr.map { mapper.readTree(_).get(0) }
      val jvmUptime = node.map { n =>
        Option(n.get("value"))
      }
      jvmUptime.transform {
        case Return(None) => throw new RuntimeException("jvm/uptime is not defined")
        case Return(Some(value)) if value.asInt() == 0 =>
          throw new RuntimeException("jvm/uptime is down to 0")
      }
    }

    // Check Iago server
    checkJvmUptimeUtil(iagoServerClient)
    // Check Iago feeder
    checkJvmUptimeUtil(iagoFeederClient)
  }