1---
2title: "Metrics"
3since: "1.0.0 (Graphite), 1.2.1 (StatsD, DataDog, Circonus)"
4---
5
6fabio collects metrics per route and service instance as well as running totals
7to avoid computing large amounts of metrics. The metrics can be send to
8[Circonus](http://www.circonus.com), [Graphite](https://graphiteapp.org),
9[StatsD](https://github.com/etsy/statsd), [DataDog](https://www.datadoghq.com)
10(via statsd) or stdout. See the `metrics.*` options in the
11[fabio.properties](https://github.com/eBay/fabio/blob/master/fabio.properties)
12file.
13
14Fabio reports the following metrics:
15
16Name                        | Type     | Description
17--------------------------- | -------- | -------------
18`{route}.rx`                | timer    | Number of bytes received by fabio for TCP target
19`{route}.tx`                | timer    | Number of bytes transmitted by fabio for TCP target
20`{route}`                   | timer    | Average response time for a route
21`http.status.code.{code}`   | timer    | Average response time for all HTTP(S) requests per status code
22`notfound`                  | counter  | Number of failed HTTP route lookups
23`requests`                  | timer    | Average response time for all HTTP(S) requests
24`grpc.requests`             | timer    | Average response time for all GRPC(S) requests
25`grpc.noroute`              | counter  | Number of failed GRPC route lookups
26`grpc.conn`                 | counter  | Number of established GRPC proxy connections
27`grpc.status.{code}`        | timer    | Average response time for all GRPC(S) requests per status code
28`tcp.conn`                  | counter  | Number of established TCP proxy connections
29`tcp.connfail`              | counter  | Number of TCP upstream connection failures
30`tcp.noroute`               | counter  | Number of failed TCP upstream route lookups
31`tcp_sni.conn`              | counter  | Number of established TCP+SNI proxy connections
32`tcp_sni.connfail`          | counter  | Number of failed TCP+SNI proxy connections
33`tcp_sni.noroute`           | counter  | Number of failed TCP+SNI upstream route lookups
34`ws.conn`                   | gauge    | Number of actively open websocket connections
35
36
37### Legend
38
39#### timer
40
41A timer counts events and provides an average throughput and latency number.
42Depending on the metrics provider the aggregation happens either in the metrics library
43(go-metrics: statsd, graphite) or in the system of the metrics provider (Circonus)
44
45#### counter
46
47A counter counts events and provides an monotonically increasing value.
48
49#### gauge
50
51A gauge provides a current value.
52
53#### {code}
54
55`{code}` is the three digit HTTP status code like `200`.
56
57#### {route}
58
59`{route}` is a shorthand for the metrics name generated for a route
60with the `metrics.names` template defined in
61[fabio.properties](https://github.com/fabiolb/fabio/blob/master/fabio.properties)
62
63