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
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. InMemoryStatsReceiver
  2. WithHistogramDetails
  3. StatsReceiver
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new InMemoryStatsReceiver()

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def addGauge(metricBuilder: MetricBuilder)(f: => Float): Gauge

    Creates a Gauge of the given name.

    Creates a Gauge of the given name.

    Definition Classes
    InMemoryStatsReceiverStatsReceiver
  5. def addGauge(f: Supplier[Float], verbosity: Verbosity, name: String*): Gauge

    Just like addGauge(Verbosity,String*)(=>Float) but optimized for better Java experience.

    Just like addGauge(Verbosity,String*)(=>Float) but optimized for better Java experience.

    Definition Classes
    StatsReceiver
    Annotations
    @varargs()
  6. def addGauge(f: Supplier[Float], name: String*): Gauge

    Just like addGauge(String*)(=>Float) but optimized for better Java experience.

    Just like addGauge(String*)(=>Float) but optimized for better Java experience.

    Definition Classes
    StatsReceiver
    Annotations
    @varargs()
  7. def addGauge(description: String, verbosity: Verbosity, name: String*)(f: => Float): Gauge

    Add the function f as a gauge with the given name and description.

    Add the function f as a gauge with the given name and description.

    Definition Classes
    StatsReceiver
  8. def addGauge(verbosity: Verbosity, name: String*)(f: => Float): Gauge

    Add the function f as a gauge with the given name.

    Add the function f as 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

    provideGauge(String*)(=>Float) when there is not a good location to store the returned gauge that can give the desired lifecycle.

    addGauge(Supplier[Float],Verbosity,String*) for a Java-friendly version.

    java.lang.ref.WeakReference

  9. def addGauge(description: Some[String], name: String*)(f: => Float): Gauge

    Add the function f as a gauge with the given name and description.

    Add the function f as a gauge with the given name and description.

    Definition Classes
    StatsReceiver
  10. def addGauge(name: String*)(f: => Float): Gauge

    Add the function f as a gauge with the given name.

    Add the function f as 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

    provideGauge(String*)(=>Float) when there is not a good location to store the returned gauge that can give the desired lifecycle.

    addGauge(Supplier[Float],String*) for a Java-friendly version.

    java.lang.ref.WeakReference

  11. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  12. def clear(): Unit

    Clears all registered counters, gauges, stats, expressions, and their metadata.

    Clears all registered counters, gauges, stats, expressions, and their metadata.

    Note

    this is not atomic. If new metrics are added while this method is executing, those metrics may remain.

  13. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  14. def counter(metricBuilder: MetricBuilder): ReadableCounter

    Creates a ReadableCounter of the given name.

    Creates a ReadableCounter of the given name.

    Definition Classes
    InMemoryStatsReceiverStatsReceiver
  15. def counter(name: String*): ReadableCounter

    Get a counter with the given name.

    Get a counter with the given name.

    Definition Classes
    InMemoryStatsReceiverStatsReceiver
  16. def counter(description: String, verbosity: Verbosity, name: String*): Counter

    Get a counter with the given description and name.

    Get a counter with the given description and name.

    Definition Classes
    StatsReceiver
    Annotations
    @varargs()
  17. def counter(verbosity: Verbosity, name: String*): Counter

    Get a counter with the given name.

    Get a counter with the given name.

    Definition Classes
    StatsReceiver
    Annotations
    @varargs()
  18. def counter(description: Some[String], name: String*): Counter

    Get a counter with the given description and name.

    Get a counter with the given description and name.

    Definition Classes
    StatsReceiver
    Annotations
    @varargs()
  19. val counters: Map[Seq[String], Long]
  20. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  21. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  22. val expressions: Map[ExpressionSchemaKey, ExpressionSchema]
  23. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  24. val gauges: Map[Seq[String], () => Float]
  25. def getAllExpressionsWithLabel(key: String, value: String): Map[ExpressionSchemaKey, ExpressionSchema]

    Retrieves all expressions with a given label key and value

    Retrieves all expressions with a given label key and value

    returns

    a Map of expressions (ExpressionSchemaKey -> ExpressionSchema)

  26. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  27. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  28. def histogramDetails: Map[String, HistogramDetail]
  29. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  30. 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
  31. def metricBuilder(metricType: MetricType): MetricBuilder

    Get a metricBuilder for this StatsReceiver.

    Get a metricBuilder for this StatsReceiver.

    Definition Classes
    StatsReceiver
  32. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  33. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  34. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  35. 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;"

  36. 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.

  37. def printSchemas(p: PrintStream): Unit

    Dumps this in-memory stats receiver's MetricMetadata to the given PrintStream.

    Dumps this in-memory stats receiver's MetricMetadata to the given PrintStream.

    p

    the PrintStream to which to write in-memory metadata.

  38. def provideGauge(f: Supplier[Float], name: String*): Unit

    Just like provideGauge(String*)(=>Float) but optimized for better Java experience.

    Just like provideGauge(String*)(=>Float) but optimized for better Java experience.

    Definition Classes
    StatsReceiver
    Annotations
    @varargs()
  39. def provideGauge(name: String*)(f: => Float): Unit

    Register a function f as a gauge with the given name that has a lifecycle with no end.

    Register a function f as 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

    addGauge(String*)(=>Float) if you can properly control the lifecycle of the returned gauge.

    provideGauge(Supplier[Float],String*) for a Java-friendly version.

  40. def registerExpression(schema: ExpressionSchema): Try[Unit]

    Designed to match the behavior of Metrics::registerExpression().

    Designed to match the behavior of Metrics::registerExpression().

    Attributes
    protected[finagle]
    Definition Classes
    InMemoryStatsReceiverStatsReceiver
  41. 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
    InMemoryStatsReceiverStatsReceiver
  42. val schemas: Map[Seq[String], MetricBuilder]
  43. final def scope(namespaces: String*): StatsReceiver

    Prepend namespace and namespaces to the names of the returned StatsReceiver.

    Prepend namespace and namespaces to the names of the returned StatsReceiver.

    For example:

    statsReceiver.scope("client", "backend", "pool").counter("adds")

    will generate a counter named /client/backend/pool/adds.

    Note it's recommended to be mindful with usage of the scope method as it's almost always more efficient to pass a full metric name directly to a constructing method.

    Put this way, whenever possible prefer

    statsReceiver.counter("client", "backend", "pool", "adds")

    to

    statsReceiver.scope("client", "backend", "pool").counter("adds")
    Definition Classes
    StatsReceiver
    Annotations
    @varargs()
  44. def scope(namespace: String): StatsReceiver

    Prepend namespace to the names of the returned StatsReceiver.

    Prepend namespace to 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/adds and /client/backend/adds.

    Note it's recommended to be mindful with usage of the scope method as it's almost always more efficient to pass a full metric name directly to a constructing method.

    Put this way, whenever possible prefer

    statsReceiver.counter("client", "adds")

    to

    statsReceiver.scope("client").counter("adds")
    Definition Classes
    StatsReceiver
  45. 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
  46. def stat(metricBuilder: MetricBuilder): ReadableStat

    Creates a ReadableStat of the given name.

    Creates a ReadableStat of the given name.

    Definition Classes
    InMemoryStatsReceiverStatsReceiver
  47. def stat(name: String*): ReadableStat

    Get a stat with the given name.

    Get a stat with the given name.

    Definition Classes
    InMemoryStatsReceiverStatsReceiver
  48. def stat(description: String, verbosity: Verbosity, name: String*): Stat

    Get a stat with the given description and name.

    Get a stat with the given description and name.

    Definition Classes
    StatsReceiver
    Annotations
    @varargs()
  49. def stat(verbosity: Verbosity, name: String*): Stat

    Get a stat with the given name.

    Get a stat with the given name.

    Definition Classes
    StatsReceiver
    Annotations
    @varargs()
  50. def stat(description: Some[String], name: String*): Stat

    Get a stat with the given description and name.

    Get a stat with the given description and name.

    Definition Classes
    StatsReceiver
    Annotations
    @varargs()
  51. val stats: Map[Seq[String], Seq[Float]]
  52. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  53. def toString(): String
    Definition Classes
    InMemoryStatsReceiver → AnyRef → Any
  54. val verbosity: Map[Seq[String], Verbosity]
  55. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  56. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  57. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from WithHistogramDetails

Inherited from StatsReceiver

Inherited from AnyRef

Inherited from Any

Ungrouped