diff options
| -rw-r--r-- | halog.go | 10 | ||||
| -rw-r--r-- | haminer.go | 6 |
2 files changed, 16 insertions, 0 deletions
@@ -11,6 +11,16 @@ import ( "time" ) +// heartbeat of haminer, in case we want to monitor deadman from haminer. +var heartbeat = &Halog{ // nolint: gochecknoglobals + Timestamp: time.Now(), + FrontendName: "-", + BackendName: "-", + ServerName: "-", + tagHTTPURL: "-", + HTTPMethod: "-", +} + // // Halog contains the mapping of haproxy HTTP log format to Go struct. // @@ -137,6 +137,11 @@ func (h *Haminer) consume() { } func (h *Haminer) forwards(halogs []*Halog) { + // Send heartbeat indicator, if logs is empty. + if len(halogs) == 0 { + heartbeat.Timestamp = time.Now() + halogs = append(halogs, heartbeat) + } for _, fwder := range h.ff { fwder.Forwards(halogs) } @@ -161,6 +166,7 @@ func (h *Haminer) produce() { halogs = append(halogs, halog) case <-ticker.C: h.forwards(halogs) + halogs = nil } } } |
