MetricBuilder
Builds and registers metrics.
Value members
Concrete methods
Registers a new gauge metric that caches its value for a given duration.
Registers a new gauge metric that caches its value for a given duration.
Example:
import nl.grons.metrics4.scala._
import scala.concurrent.duration._
class UserRepository(db: Database) extends DefaultInstrumented {
// Defines the gauge.
metrics.cachedGauge("row-count", 5.minutes) {
// Does a measurement at most once every 5 minutes.
db.usersRowCount()
}
}
- Value Params
- f
a code block that does a measurement
- name
the name of the gauge
- timeout
the timeout
Registers a new gauge metric.
Registers a new gauge metric.
Example:
import nl.grons.metrics4.scala._
class SessionStore(cache: Cache) extends DefaultInstrumented {
// Defines the gauge.
metrics.gauge("cache-evictions") {
// Does a measurement.
cache.getEvictionsCount()
}
}
- Value Params
- f
a code block that does a measurement
- name
the name of the gauge
Creates a new histogram metric.
Creates a new histogram metric.
- Value Params
- name
the name of the histogram
Registers a new gauge metric to which you can push values.
Registers a new gauge metric to which you can push values.
Example:
import nl.grons.metrics4.scala._
class ExternalCacheUpdater extends DefaultInstrumented {
// Defines a push gauge
private val cachedItemsCount = metrics.pushGauge[Int]("cached.items.count", 0)
def updateExternalCache(): Unit = {
val items = fetchItemsFromDatabase()
pushItemsToExternalCache(items)
// Pushes a new measurement to the gauge.
cachedItemsCount.push(items.size)
}
}
- Value Params
- name
the name of the gauge
- startValue
the first value of the gauge, typically this is
0,0Lornull.
Registers a new gauge metric to which you can push values.
Registers a new gauge metric to which you can push values.
The reported value is reset to defaultValue after the timeout.
Example in which the last pushed measurement is reported for at most 10 minutes.
import nl.grons.metrics4.scala._
import scala.concurrent.duration._
class ExternalCacheUpdater extends DefaultInstrumented {
// Defines a push gauge
private val cachedItemsCount = metrics.pushGaugeWithTimeout[Int]("cached.items.count", 0, 10.minutes)
def updateExternalCache(): Unit = {
val items = fetchItemsFromDatabase()
pushItemsToExternalCache(items)
// Pushes a new measurement to the gauge.
cachedItemsCount.push(items.size)
}
}
Note: Cleanup of old values happens only on read. In the absence of a metric reporter or other reader, the last
pushed value will continue to take space on the heap. As most values are very small (e.g. an Int), this should
not matter much.
- Value Params
- defaultValue
the first and default value of the gauge, typically this is 0
,0Lornull`.- name
the name of the gauge
- timeout
the timeout
Deprecated and Inherited methods
Registers a new gauge metric that caches its value for a given duration.
Registers a new gauge metric that caches its value for a given duration.
- Value Params
- name
the name of the gauge
- scope
(deprecated) the scope of the gauge or null for no scope
- timeout
the timeout
- Deprecated
- Inherited from
- DeprecatedMetricBuilder
Creates a new counter metric.
Creates a new counter metric.
- Value Params
- name
the name of the counter
- scope
(deprecated) the scope of the counter or null for no scope
- Deprecated
- Inherited from
- DeprecatedMetricBuilder
Registers a new gauge metric.
Registers a new gauge metric.
- Value Params
- name
the name of the gauge
- scope
(deprecated) the scope of the gauge or null for no scope
- Deprecated
- Inherited from
- DeprecatedMetricBuilder
Creates a new histogram metric.
Creates a new histogram metric.
- Value Params
- name
the name of the histogram
- scope
(deprecated) the scope of the histogram or null for no scope
- Deprecated
- Inherited from
- DeprecatedMetricBuilder
Creates a new meter metric.
Creates a new meter metric.
- Value Params
- name
the name of the meter
- scope
(deprecated) the scope of the meter or null for no scope
- Deprecated
- Inherited from
- DeprecatedMetricBuilder
- Deprecated
- Inherited from
- DeprecatedMetricBuilder
Creates a new timer metric.
Creates a new timer metric.
- Value Params
- name
the name of the timer
- scope
(deprecated) the scope of the timer or null for no scope
- Deprecated
- Inherited from
- DeprecatedMetricBuilder