mrRontgen
@mrRontgen
Scala lover.

Как осуществить мониторинг выполнения методов на Scala?

Есть немного кода на Scala.
def computations1(params: AnyRef*): Future[ComputaionResults] ={
    //computations
  }

  def computations2(params: AnyRef*): Future[ComputaionResults] ={
    //computations
  }
  
  for{
    results1 <- computations1()
    results2 <- computations2()
  } yield {
    //do with results
  }

Как осуществить мониторинг (тайминг) выполняемых методов? Т.е. мне нужно на продакшене узнать сколько времени заняло выполнение методов.
  • Вопрос задан
  • 2327 просмотров
Пригласить эксперта
Ответы на вопрос 1
sergey-gornostaev
@sergey-gornostaev
Седой и строгий
def time[R](block: => R): R = {
    val t0 = System.nanoTime()
    val result = block    // call-by-name
    val t1 = System.nanoTime()
    println("Elapsed time: " + (t1 - t0) + "ns")
    result
}

// Now wrap your method calls, for example change this...
val result = 1 to 1000 sum

// ... into this
val result = time { 1 to 1000 sum }
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы