| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- package metrics
- import (
- "fmt"
- "syslog"
- "time"
- )
- func Syslog(r Registry, interval int, w *syslog.Writer) {
- for {
- for name, c := range r.Counters() {
- w.Info(fmt.Sprintf("counter %s: count: %d", name, c.Count()))
- }
- for name, g := range r.Gauges() {
- w.Info(fmt.Sprintf("gauge %s: value: %d", name, g.Value()))
- }
- for name, h := range r.Healthchecks() {
- w.Info(fmt.Sprintf("healthcheck %s: TODO", name, h))
- }
- for name, h := range r.Histograms() {
- ps := h.Percentiles([]float64{0.5, 0.75, 0.95, 0.99, 0.999})
- w.Info(fmt.Sprintf(
- "histogram %s: count: %d min: %d max: %d mean: %.2f stddev: %.2f median: %.2f 75%%: %.2f 95%%: %.2f 99%%: %.2f 99.9%%: %.2f",
- name,
- h.Count(),
- h.Min(),
- h.Max(),
- h.Mean(),
- h.StdDev(),
- ps[0],
- ps[1],
- ps[2],
- ps[3],
- ps[4],
- ))
- }
- for name, m := range r.Meters() {
- w.Info(fmt.Sprintf(
- "meter %s: count: %d 1-min: %.2f 5-min: %.2f 15-min: %.2f mean: %.2f",
- name,
- m.Count(),
- m.Rate1(),
- m.Rate5(),
- m.Rate15(),
- m.RateMean(),
- ))
- }
- for name, t := range r.Timers() {
- w.Info(fmt.Sprintf("timer %s: TODO", name, t))
- }
- time.Sleep(int64(1e9) * int64(interval))
- }
- }
|