Ответ
Да, работал. Graphite — это инструмент для мониторинга и визуализации метрик. В Go можно отправлять метрики через протоколы Carbon (TCP/UDP) или HTTP API.
Пример отправки метрики через Carbon (TCP):
conn, err := net.Dial("tcp", "graphite.example.com:2003")
if err != nil {
log.Fatal(err)
}
defer conn.Close()
metric := fmt.Sprintf("app.requests.count %d %dn", 42, time.Now().Unix())
_, err = conn.Write([]byte(metric))
if err != nil {
log.Fatal(err)
}
Также использовал библиотеки вроде go-graphite-client для удобной работы. Graphite удобен для хранения и анализа временных рядов, но требует настройки агрегации и retention-политик.