SENDLINE open source
open source / metrics4s / runtimes

Runtimes

Runtime Instances Native resource Runtime metrics
cats-effect metrics4s.runtime.cats.CatsInstances.given (Sync for Effect, Async for Dispatch) allocated.toResource CatsRuntimeMetrics.resource()
ZIO metrics4s.runtime.zio.ZioInstances.given (Task) allocated.toScoped ZioRuntimeMetrics.scoped
Kyo metrics4s.runtime.kyo.KyoInstances.given (KIO) allocated.toScope KyoRuntimeMetrics.scoped
rapid metrics4s.runtime.rapid.RapidInstances.given (Task) allocated.use(f) none (rapid exposes no scheduler state)

The adapters come from metrics4s.runtime.<runtime>.syntax.given. The four Effect instances pass one shared EffectSuite: exit cases, finalizer errors, brackets, resources, and a Dispatch that times out and cancels what it gave up on.

The runtime metrics export the families commons exports, with the same names, types and labels:

  • cats-effect:
    • cats_effect_compute_threads* and cats_effect_fibers{state};
    • per-worker cats_effect_worker_*{worker} and cats_effect_timers_*{worker};
    • cats_effect_cpu_starvation_total;
    • cats_effect_cpu_starvation_clock_drift_seconds, sampled by a fiber with the interval of the starvation check.
  • ZIO:
    • zio_executor_*{executor} for the default and the blocking executor;
    • zio_fibers{state}, zio_fibers_started_total and zio_fibers_ended_total{outcome}, counted through a Supervisor.
  • Kyo:
    • kyo_scheduler_* and per-worker kyo_worker_*{worker};
    • all read from one Scheduler.status() per scrape.
built from README.md at v0.2.0 edit this page on GitHub