For Java clients that want to implement a StatsReceiver.
A blacklisting StatsReceiver.
A blacklisting StatsReceiver. If the name for a metric is found to be blacklisted, nothing is recorded.
Marker for a StatsReceiver that broadcasts metrics to more than one underlying StatsReceiver.
Basic implementation of exception stat recording that allows exceptions to be categorised and optional rollup.
A writeable Counter.
A writeable Counter. Only sums are kept of Counters. An example Counter is "number of requests served".
Exception Stats Recorder.
Exposes the value of a function.
Exposes the value of a function. For example, one could add a gauge for a computed health metric.
An in-memory implementation of StatsReceiver, which is mostly used for testing.
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") irs.counter("a/b", "bar") irs.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
A StatsReceiver receiver proxy that translates all counter, stat, and gauge
names according to a translate
function.
A no-op StatsReceiver.
A no-op StatsReceiver. Metrics are not recorded, making this receiver useful in unit tests and as defaults in situations where metrics are not strictly required.
A variation of Counter that also supports reading of the current value via the apply
method.
A variation of Stat that also supports reading of the current time series via the apply
method.
A RollupStatsReceiver reports stats on multiple Counter/Stat/Gauge based on the sequence of names you pass.
A RollupStatsReceiver reports stats on multiple Counter/Stat/Gauge based on the sequence of names you pass. e.g. counter("errors", "clientErrors", "java_net_ConnectException").incr() will actually increment those three counters: - "/errors" - "/errors/clientErrors" - "/errors/clientErrors/java_net_ConnectException"
An append-only collection of time-series data.
An append-only collection of time-series data. Example Stats are "queue depth" or "query width in a stream of requests".
An interface for recording metrics.
An interface for recording metrics. Named Counters, Stats, and Gauges can be accessed through the corresponding methods of this class.
StatsReceivers for a Java-friendly API.
BroadcastCounter is a helper object that create a Counter wrapper around multiple Counters (n).
BroadcastCounter is a helper object that create a Counter wrapper around multiple Counters (n). For performance reason, we have specialized cases if n == (0, 1, 2, 3 or 4)
BroadcastStat is a helper object that create a Counter wrapper around multiple Stats (n).
BroadcastStat is a helper object that create a Counter wrapper around multiple Stats (n). For performance reason, we have specialized cases if n == (0, 1, 2, 3 or 4)
BroadcastStatsReceiver is a helper object that create a StatsReceiver wrapper around multiple StatsReceivers (n).
API for deciding where request exceptions are reported in stats.
API for deciding where request exceptions are reported in stats. Typical implementations may report any cancellations or validation errors separately so success rate can from valid non cancelled requests.
Stat utility methods for ease of use from java.
Helpers for working with histograms.
Helpers for working with histograms. Java-friendly versions can be found in com.twitter.finagle.stats.JStats.
StatsReceiver utility methods for ease of use from java.
These stats are scoped to
com.twitter.finagle.stats
for historical reasons.They used to be in the
finagle-core
package, although we moved them because we found they didn't depend on anything finagle-specific. To ease the transition, we kept the namespace.