Stm Gauge
STM-based gauge that tracks a current value with min/max bounds.
Automatically tracks the minimum and maximum values ever set, useful for monitoring metrics like concurrent request counts.
Basic usage:
val gauge = StmGauge.create(0.0)
atomically { with(gauge) { set(42.0) } }
println(gauge.value()) // 42.0Content copied to clipboard
Tracking min/max:
val gauge = StmGauge.create(0.0)
atomically { with(gauge) { set(10.0) } }
atomically { with(gauge) { set(5.0) } }
atomically { with(gauge) { set(8.0) } }
atomically {
with(gauge) {
println("Min: ${min()}") // 0.0
println("Max: ${max()}") // 10.0
println("Current: ${current()}") // 8.0
}
}Content copied to clipboard