MetricBuilder
Builds and registers metrics.
Attributes
- Graph
-
- Supertypes
Members list
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 parameters
- f
-
a code block that does a measurement
- name
-
the name of the gauge
- timeout
-
the timeout
Attributes
- Throws
-
IllegalArgumentException
when a metric with the given name already exists
Creates a new counter metric.
Creates a new counter metric.
Value parameters
- name
-
the name of the counter
Attributes
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 parameters
- f
-
a code block that does a measurement
- name
-
the name of the gauge
Attributes
- Throws
-
IllegalArgumentException
when a metric with the given name already exists
Creates a new histogram metric.
Creates a new histogram metric.
Value parameters
- name
-
the name of the histogram
Attributes
Creates a new meter metric.
Creates a new meter metric.
Value parameters
- name
-
the name of the meter
Attributes
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)
// Alternative way to push a new measurement
cachedItemsCount.value = items.size
}
}
When a gauge already exists with the given name, parameter startValue is ignored and the existing gauge is returned.
Value parameters
- name
-
the name of the gauge
- startValue
-
the first value of the gauge, typically this is
0,0Lornull.
Attributes
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)
// Alternative way to push a new measurement
cachedItemsCount.value = items.size
}
}
When a gauge already exists with the given name, parameters defaultValue and timeout are ignored and the existing gauge is returned.
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 parameters
- defaultValue
-
the first and default value of the gauge, typically this is 0
,0Lornull`. - name
-
the name of the gauge
- timeout
-
the timeout
Attributes
Creates a new timer metric.
Creates a new timer metric.
Value parameters
- name
-
the name of the timer
Attributes
Unregisters all gauges that were created through this builder.
Unregisters all gauges that were created through this builder.
Attributes
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 parameters
- name
-
the name of the gauge
- scope
-
(deprecated) the scope of the gauge or null for no scope
- timeout
-
the timeout
Attributes
- Deprecated
- true
- Inherited from:
- DeprecatedMetricBuilder
Creates a new counter metric.
Creates a new counter metric.
Value parameters
- name
-
the name of the counter
- scope
-
(deprecated) the scope of the counter or null for no scope
Attributes
- Deprecated
- true
- Inherited from:
- DeprecatedMetricBuilder
Registers a new gauge metric.
Registers a new gauge metric.
Value parameters
- name
-
the name of the gauge
- scope
-
(deprecated) the scope of the gauge or null for no scope
Attributes
- Deprecated
- true
- Inherited from:
- DeprecatedMetricBuilder
Creates a new histogram metric.
Creates a new histogram metric.
Value parameters
- name
-
the name of the histogram
- scope
-
(deprecated) the scope of the histogram or null for no scope
Attributes
- Deprecated
- true
- Inherited from:
- DeprecatedMetricBuilder
Creates a new meter metric.
Creates a new meter metric.
Value parameters
- name
-
the name of the meter
- scope
-
(deprecated) the scope of the meter or null for no scope
Attributes
- Deprecated
- true
- Inherited from:
- DeprecatedMetricBuilder
Attributes
- Deprecated
- true
- Inherited from:
- DeprecatedMetricBuilder
Creates a new timer metric.
Creates a new timer metric.
Value parameters
- name
-
the name of the timer
- scope
-
(deprecated) the scope of the timer or null for no scope
Attributes
- Deprecated
- true
- Inherited from:
- DeprecatedMetricBuilder