class InMemoryStatsReceiver extends StatsReceiver with WithHistogramDetails
An in-memory implementation of StatsReceiver, which is mostly used for testing.
Note that an InMemoryStatsReceiver does not conflate Seq("a", "b") and Seq("a/b")
names no matter how they look when printed.
val isr = new InMemoryStatsReceiver isr.counter("a", "b", "foo") isr.counter("a/b", "bar") isr.print(Console.out) // will print two lines "a/b/foo 0" and "a/b/bar 0" assert(isr.counters(Seq("a", "b", "foo") == 0)) // ok assert(isr.counters(Seq("a", "b", "bar") == 0)) // fail
- Alphabetic
- By Inheritance
- InMemoryStatsReceiver
- WithHistogramDetails
- StatsReceiver
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
- new InMemoryStatsReceiver()
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
-
def
addGauge(v: Verbosity, name: String*)(f: ⇒ Float): Gauge
Creates a Gauge of the given
name.Creates a Gauge of the given
name.- Definition Classes
- InMemoryStatsReceiver → StatsReceiver
-
def
addGauge(name: String*)(f: ⇒ Float): Gauge
Add the function
fas a gauge with the given name.Add the function
fas a gauge with the given name.The returned gauge value is only weakly referenced by the StatsReceiver, and if garbage collected will eventually cease to be a part of this measurement: thus, it needs to be retained by the caller. Or put another way, the measurement is only guaranteed to exist as long as there exists a strong reference to the returned gauge and typically should be stored in a member variable.
Measurements under the same name are added together.
- Definition Classes
- StatsReceiver
- See also
StatsReceiver.provideGauge when there is not a good location to store the returned gauge that can give the desired lifecycle.
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clear(): Unit
Clears all registered counters, gauges and stats.
Clears all registered counters, gauges and stats.
- Note
this is not atomic. If new metrics are added while this method is executing, those metrics may remain.
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
def
counter(v: Verbosity, name: String*): ReadableCounter
Creates a ReadableCounter of the given
name.Creates a ReadableCounter of the given
name.- Definition Classes
- InMemoryStatsReceiver → StatsReceiver
-
def
counter(name: String*): ReadableCounter
Get a counter with the given
name.Get a counter with the given
name.- Definition Classes
- InMemoryStatsReceiver → StatsReceiver
- val counters: Map[Seq[String], Long]
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
- val gauges: Map[Seq[String], () ⇒ Float]
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
histogramDetails: Map[String, HistogramDetail]
- Definition Classes
- InMemoryStatsReceiver → WithHistogramDetails
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
isNull: Boolean
Accurately indicates if this is a NullStatsReceiver.
Accurately indicates if this is a NullStatsReceiver. Because equality is not forwarded via scala.Proxy, this is helpful to check for a NullStatsReceiver.
- Definition Classes
- StatsReceiver
-
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
print(p: PrintStream, includeHeaders: Boolean): Unit
Dumps this in-memory stats receiver to the given PrintStream.
Dumps this in-memory stats receiver to the given PrintStream.
- p
the PrintStream to which to write in-memory values.
- includeHeaders
optionally include printing underlines headers for the different types of stats printed, e.g., "Counters:", "Gauges:", "Stats;"
-
def
print(p: PrintStream): Unit
Dumps this in-memory stats receiver to the given PrintStream.
Dumps this in-memory stats receiver to the given PrintStream.
- p
the PrintStream to which to write in-memory values.
-
def
provideGauge(name: String*)(f: ⇒ Float): Unit
Register a function
fas a gauge with the given name that has a lifecycle with no end.Register a function
fas a gauge with the given name that has a lifecycle with no end.This measurement exists in perpetuity.
Measurements under the same name are added together.
- Definition Classes
- StatsReceiver
- See also
StatsReceiver.addGauge if you can properly control the lifecycle of the returned gauge.
-
def
repr: InMemoryStatsReceiver
Specifies the representative receiver.
Specifies the representative receiver. This is in order to expose an object we can use for comparison so that global stats are only reported once per receiver.
- Definition Classes
- InMemoryStatsReceiver → StatsReceiver
-
final
def
scope(namespaces: String*): StatsReceiver
Prepend
namespaceandnamespacesto the names of the returned StatsReceiver.Prepend
namespaceandnamespacesto the names of the returned StatsReceiver.For example:
statsReceiver.scope("client", "backend", "pool").counter("adds")
will generate a counter named
/client/backend/pool/adds.- Definition Classes
- StatsReceiver
- Annotations
- @varargs()
-
def
scope(namespace: String): StatsReceiver
Prepend
namespaceto the names of the returned StatsReceiver.Prepend
namespaceto the names of the returned StatsReceiver.For example:
statsReceiver.scope("client").counter("adds") statsReceiver.scope("client").scope("backend").counter("adds")
will generate counters named
/client/addsand/client/backend/adds.- Definition Classes
- StatsReceiver
-
def
scopeSuffix(suffix: String): StatsReceiver
Prepend a suffix value to the next scope.
Prepend a suffix value to the next scope.
For example:
statsReceiver.scopeSuffix("toto").scope("client").counter("adds")
will generate a counter named
/client/toto/adds.- Definition Classes
- StatsReceiver
-
def
stat(v: Verbosity, name: String*): ReadableStat
Creates a ReadableStat of the given
name.Creates a ReadableStat of the given
name.- Definition Classes
- InMemoryStatsReceiver → StatsReceiver
-
def
stat(name: String*): ReadableStat
Get a stat with the given name.
Get a stat with the given name.
- Definition Classes
- InMemoryStatsReceiver → StatsReceiver
- val stats: Map[Seq[String], Seq[Float]]
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- InMemoryStatsReceiver → AnyRef → Any
- val verbosity: Map[Seq[String], Verbosity]
-
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
- @native() @throws( ... )
Deprecated Value Members
-
def
counter0(name: String): Counter
Get a counter with the given
name.Get a counter with the given
name.This method is a convenience for Java programs, but is no longer needed because StatsReceivers.counter is usable from java.
- Definition Classes
- StatsReceiver
- Annotations
- @deprecated
- Deprecated
(Since version 2017-6-16) Use vararg counter() instead
-
def
stat0(name: String): Stat
Get a stat with the given name.
Get a stat with the given name. This method is a convenience for Java programs, but is no longer needed because StatsReceivers.counter is usable from java.
- Definition Classes
- StatsReceiver
- Annotations
- @deprecated
- Deprecated
(Since version 2017-6-16) Use vararg stat() instead