Metric

object Metric
Companion:
class
class Object
trait Matchable
class Any
Metric.type

Type members

Classlikes

abstract class BaseMetric[Inst <: Instrument[Inst, Sett], Sett <: Settings, Snap](val name: String, val description: String, val settings: Sett, instrumentBuilder: (Inst, Sett) => Snap, scheduler: Option[ScheduledExecutorService]) extends Metric[Inst, Sett]
trait BaseMetricAutoUpdate[Inst <: Instrument[Inst, Sett], Sett <: Settings, Snap]

Handles registration of auto-update actions on a base metric.

Handles registration of auto-update actions on a base metric.

User-facing API for a Counter-based metric. All Kamon APIs returning a Counter-based metric to users should always return this interface rather than internal representations.

User-facing API for a Counter-based metric. All Kamon APIs returning a Counter-based metric to users should always return this interface rather than internal representations.

User-facing API for a Gauge-based metric. All Kamon APIs returning a Gauge-based metric to users should always return this interface rather than internal representations.

User-facing API for a Gauge-based metric. All Kamon APIs returning a Gauge-based metric to users should always return this interface rather than internal representations.

User-facing API for a Histogram-based metric. All Kamon APIs returning a Histogram-based metric to users should always return this interface rather than internal representations.

User-facing API for a Histogram-based metric. All Kamon APIs returning a Histogram-based metric to users should always return this interface rather than internal representations.

User-facing API for a Range Sampler-based metric. All Kamon APIs returning a Range Sampler-based metric to users should always return this interface rather than internal representations.

User-facing API for a Range Sampler-based metric. All Kamon APIs returning a Range Sampler-based metric to users should always return this interface rather than internal representations.

object Settings
Companion:
class
sealed trait Settings

Describes the minimum settings that should be provided to all metrics.

Describes the minimum settings that should be provided to all metrics.

Companion:
object

User-facing API for a Timer-based metric. All Kamon APIs returning a Timer-based metric to users should always return this interface rather than internal representations.

User-facing API for a Timer-based metric. All Kamon APIs returning a Timer-based metric to users should always return this interface rather than internal representations.

Types

type InstrumentBuilder[Inst <: Instrument[Inst, Sett], Sett <: Settings, Snap] = (BaseMetric[Inst, Sett, Snap], TagSet) => RichInstrument[Inst, Sett, Snap]
type RichInstrument[Inst <: Instrument[Inst, Sett], Sett <: Settings, Snap] = Inst & Snapshotting[Snap] & BaseMetricAutoUpdate[Inst, Sett, Snap]

Provides basic creation, lifecycle, tagging, scheduling and snapshotting operations for Kamon metrics. This base metric keeps track of all instruments created for a given metric and ensures that every time an instrument is requested from it, the instrument will be either created or retrieved if it was requested before, in a thread safe manner.

Provides basic creation, lifecycle, tagging, scheduling and snapshotting operations for Kamon metrics. This base metric keeps track of all instruments created for a given metric and ensures that every time an instrument is requested from it, the instrument will be either created or retrieved if it was requested before, in a thread safe manner.

Any actions scheduled on an instrument will be cancelled if that instrument is removed from the metric.