Compare observed latency with the service target.

latency-budget-report Latency reports can show the observed value, target, and final status together.

Latency Budget Reliability Report

observedMs
LatencyBudgetReliabilityReport.scala
Replay: real traced execution (multi-file project)
object Main {
  def main(args: Array[String]): Unit = {
    val observedMs = 180
    val targetMs = 200
    var status = "watch"

    if (observedMs <= 150) {
      status = "fast"
    }
    if (observedMs > targetMs) {
      status = "slow"
    }

    println("observed=" + observedMs)
    println("target=" + targetMs)
    println("status=" + status)
  }
}
object Main {
  def main(args: Array[String]): Unit = {
    val observedMs = 120
    val targetMs = 200
    var status = "watch"

    if (observedMs <= 150) {
      status = "fast"
    }
    if (observedMs > targetMs) {
      status = "slow"
    }

    println("observed=" + observedMs)
    println("target=" + targetMs)
    println("status=" + status)
  }
}
object Main {
  def main(args: Array[String]): Unit = {
    val observedMs = 260
    val targetMs = 200
    var status = "watch"

    if (observedMs <= 150) {
      status = "fast"
    }
    if (observedMs > targetMs) {
      status = "slow"
    }

    println("observed=" + observedMs)
    println("target=" + targetMs)
    println("status=" + status)
  }
}
  1. observedMs ← 180, targetMs ← 200, status ← watch

    1object Main {2  def main(args: Array[String]): Unit = {3    val observedMs→ 180 = 180 //@observedMs=120, 2604    val targetMs→ 200 = 2005    var status→ watch = "watch"67    if (observedMs <= 150) {8      status = "fast"9    }10    if (observedMs > targetMs) {11      status = "slow"12    }1314    println("observed=" + observedMs180)15    println("target=" + targetMs200)16    println("status=" + statuswatch)17  }18}
    outputobserved=180
    target=200
    status=watch
  1. observedMs ← 120, targetMs ← 200, status ← watch

    1object Main {2  def main(args: Array[String]): Unit = {3    val observedMs→ 120 = 1204    val targetMs→ 200 = 2005    var status→ watch = "watch"67    if (observedMs <= 150) {
  2. status ← fast

    7if (observedMs120 <= 150) {8  status→ fast = "fast"9}10if (observedMs > targetMs) {
  3. println("observed=" + observedMs)

    14    println("observed=" + observedMs120)15    println("target=" + targetMs200)16    println("status=" + statusfast)17  }18}
    outputobserved=120
    target=200
    status=fast
  1. observedMs ← 260, targetMs ← 200, status ← watch

    1object Main {2  def main(args: Array[String]): Unit = {3    val observedMs→ 260 = 2604    val targetMs→ 200 = 2005    var status→ watch = "watch"67    if (observedMs <= 150) {
  2. status ← slow

    9}10if (observedMs260 > targetMs200) {11  status→ slow = "slow"12}
  3. println("observed=" + observedMs)

    14    println("observed=" + observedMs260)15    println("target=" + targetMs200)16    println("status=" + statusslow)17  }18}
    outputobserved=260
    target=200
    status=slow