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.
Buckets consist of a lower limit and an upper limit.
Buckets consist of a lower limit and an upper limit. In histograms, all values that fall inside these limits are counted as the same.
The lower limit is inclusive and the upper limit is exclusive
number of data points which landed in that bucket.
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".
Should be mixed into StatsReceivers that delegate to other StatsReceivers.
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.
Details of a histogram's data points.
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") 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
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.
Allow StatsReceivers to provide snapshots of histogram counts.
Allow StatsReceivers to provide snapshots of histogram counts. Implementations must expose a map where keys are the name of the stat and values are the contents of the histogram.
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.