Gatling - Как преобразовать захваченную сессию строку в двойную, а затем выполнить сравнение - PullRequest
0 голосов
/ 30 октября 2018

Мне нужно иметь возможность захватить строку из ответа, преобразовать ее в двойную, а затем проверить, находится ли значение в пределах диапазона. Если он выходит за пределы диапазона, я хочу провалить симуляцию.

Я вычисляю время процессора в процентах от Prometheus и смог извлечь значение из ответа. Что я хочу сделать, так это убедиться, что оно <значение, и потерпеть неудачу, если оно есть. Ниже то, что я сделал до сих пор. В настоящее время я вставил оператор println, чтобы я мог видеть, работает ли логика - но пока это не так. </p>

Процессор собран нормально, но даже если он выходит за пределы диапазона, он не вызывает оператор println. Я новичок, поэтому хотелось бы услышать слова из односложных слогов: -).

def getCalculatedCpuPercent(namespace: String, container: String) = scenario("get calculated prometheus CPU percent")
  .exec(http("get calculated prometheus CPU percent")
    .get(s"/api/v1/query")
    .queryParam("query", s"((sum by (pod_name)(container_cpu_usage_seconds_total{namespace=~'$namespace',container_name=~'$container',pod_name=~'.*'} - container_cpu_usage_seconds_total{namespace=~'$namespace',container_name=~'$container',pod_name=~'.*'} offset 30s)) / 30) * 100")
    .header("Content-Type", "application/json")
    .header("Accept", "application/json")
    .check(status.is(HttpStatus.SC_OK))
    .check(bodyString
      .saveAs("sBodyString"))
    .check(jsonPath("$..value[1]")
      .saveAs("metricValue"))
  )
  .exec(session => {
    val sCpuValue = ( session( "metricValue" ).as[String] )
    val cpuValue: Double = sCpuValue.toDouble
    doIf(cpuValue > 0) {
      exec { session =>
        println(session("sBodyString").as[String])
        session
      }
  }
  session})
  .exec { session =>
    println( session( "metricValue" ).as[String] )
    session}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...