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