class MetricBuilder extends DeprecatedMetricBuilder
Builds and registers metrics.
- Alphabetic
- By Inheritance
- MetricBuilder
- DeprecatedMetricBuilder
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
- new MetricBuilder(baseName: MetricName, registry: MetricRegistry)
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
- val baseName: MetricName
-
def
cachedGauge[A](name: String, timeout: FiniteDuration)(f: ⇒ A): Gauge[A]
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() } }
- name
the name of the gauge
- timeout
the timeout
- f
a code block that does a measurement
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
def
counter(name: String): Counter
Creates a new counter metric.
Creates a new counter metric.
- name
the name of the counter
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
gauge[A](name: String)(f: ⇒ A): Gauge[A]
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() } }
- name
the name of the gauge
- f
a code block that does a measurement
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
histogram(name: String): Histogram
Creates a new histogram metric.
Creates a new histogram metric.
- name
the name of the histogram
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
meter(name: String): Meter
Creates a new meter metric.
Creates a new meter metric.
- name
the name of the meter
-
def
metricNameFor(name: String): String
- Attributes
- protected
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
def
pushGauge[A](name: String, startValue: A): PushGauge[A]
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) } }
- name
the name of the gauge
- startValue
the first value of the gauge, typically this is
0
,0L
ornull
.
-
def
pushGaugeWithTimeout[A](name: String, defaultValue: A, timeout: FiniteDuration): PushGaugeWithTimeout[A]
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.- name
the name of the gauge
- defaultValue
the first and default value of the gauge, typically this is 0
,
0Lor
null.
- timeout
the timeout
- val registry: MetricRegistry
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
timer(name: String): Timer
Creates a new timer metric.
Creates a new timer metric.
- name
the name of the timer
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
def
unregisterGauges(): Unit
Unregisters all gauges that were created through this builder.
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
Deprecated Value Members
-
def
cachedGauge[A](name: String, timeout: FiniteDuration, scope: String = null)(f: ⇒ A): Gauge[A]
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.
- name
the name of the gauge
- timeout
the timeout
- scope
(deprecated) the scope of the gauge or null for no scope
- Definition Classes
- DeprecatedMetricBuilder
- Annotations
- @deprecated
- Deprecated
(Since version 4.0.3) Please use
cachedGauge(name+"."+scope)(f)
instead. The scope parameter has been deprecated and will be removed in v5.0.0.
-
def
counter(name: String, scope: String = null): Counter
Creates a new counter metric.
Creates a new counter metric.
- name
the name of the counter
- scope
(deprecated) the scope of the counter or null for no scope
- Definition Classes
- DeprecatedMetricBuilder
- Annotations
- @deprecated
- Deprecated
(Since version 4.0.3) Please use
counter(name+"."+scope)(f)
instead. The scope parameter has been deprecated and will be removed in v5.0.0.
-
def
gauge[A](name: String, scope: String = null)(f: ⇒ A): Gauge[A]
Registers a new gauge metric.
Registers a new gauge metric.
- name
the name of the gauge
- scope
(deprecated) the scope of the gauge or null for no scope
- Definition Classes
- DeprecatedMetricBuilder
- Annotations
- @deprecated
- Deprecated
(Since version 4.0.3) Please use
gauge(name+"."+scope)(f)
instead. The scope parameter has been deprecated and will be removed in v5.0.0.
-
def
histogram(name: String, scope: String = null): Histogram
Creates a new histogram metric.
Creates a new histogram metric.
- name
the name of the histogram
- scope
(deprecated) the scope of the histogram or null for no scope
- Definition Classes
- DeprecatedMetricBuilder
- Annotations
- @deprecated
- Deprecated
(Since version 4.0.3) Please use
histogram(name+"."+scope)(f)
instead. The scope parameter has been deprecated and will be removed in v5.0.0.
-
def
meter(name: String, scope: String = null): Meter
Creates a new meter metric.
Creates a new meter metric.
- name
the name of the meter
- scope
(deprecated) the scope of the meter or null for no scope
- Definition Classes
- DeprecatedMetricBuilder
- Annotations
- @deprecated
- Deprecated
(Since version 4.0.3) Please use
meter(name+"."+scope)(f)
instead. The scope parameter has been deprecated and will be removed in v5.0.0.
-
def
metricNameFor(name: String, scope: String = null): String
- Attributes
- protected
- Definition Classes
- DeprecatedMetricBuilder
- Annotations
- @deprecated
- Deprecated
(Since version 4.0.3) Do not use metricNameFor, it is an internal API. This method will be removed in v5.0.0.
-
def
timer(name: String, scope: String = null): Timer
Creates a new timer metric.
Creates a new timer metric.
- name
the name of the timer
- scope
(deprecated) the scope of the timer or null for no scope
- Definition Classes
- DeprecatedMetricBuilder
- Annotations
- @deprecated
- Deprecated
(Since version 4.0.3) Please use
timer(name+"."+scope)(f)
instead. The scope parameter has been deprecated and will be removed in v5.0.0.