diff options
Diffstat (limited to 'influxdb.go')
| -rw-r--r-- | influxdb.go | 33 |
1 files changed, 23 insertions, 10 deletions
diff --git a/influxdb.go b/influxdb.go index 9e479e1..de25f4a 100644 --- a/influxdb.go +++ b/influxdb.go @@ -30,10 +30,7 @@ const ( "conn_active=%d,conn_frontend=%d,conn_backend=%d," + "conn_server=%d,conn_retries=%d," + "queue_server=%d,queue_backend=%d," + - "bytes_read=%d" + - " " + - // timestamp - "%d\n" + "bytes_read=%d" ) // @@ -86,11 +83,16 @@ func (cl *InfluxdbClient) initConn() { // func (cl *InfluxdbClient) Forwards(halogs []*Halog) { lsrc := "InfluxdbClient.Forwards" - cl.write(halogs) + err := cl.write(halogs) + if err != nil { + log.Printf("InfluxdbClient.write: %s", err) + return + } rsp, err := cl.conn.Post(cl.apiWrite, defContentType, &cl.buf) if err != nil { log.Printf("InfluxdbClient.Forwards: %s", err) + return } if rsp.StatusCode >= 200 || rsp.StatusCode <= 299 { @@ -112,9 +114,7 @@ func (cl *InfluxdbClient) Forwards(halogs []*Halog) { fmt.Printf("%s: response: %d %s\n", lsrc, rsp.StatusCode, rspBody) } -func (cl *InfluxdbClient) write(halogs []*Halog) { - var err error - +func (cl *InfluxdbClient) write(halogs []*Halog) (err error) { cl.buf.Reset() for _, l := range halogs { @@ -133,10 +133,23 @@ func (cl *InfluxdbClient) write(halogs []*Halog) { l.ConnServer, l.ConnRetries, l.QueueServer, l.QueueBackend, l.BytesRead, - l.Timestamp.UnixNano(), ) if err != nil { - log.Printf("InfluxdbClient.write: %s", err) + return + } + + for k, v := range l.RequestHeaders { + _, err = fmt.Fprintf(&cl.buf, ",%s=%q", k, v) + if err != nil { + return + } + } + + _, err = fmt.Fprintf(&cl.buf, " %d\n", l.Timestamp.UnixNano()) + if err != nil { + return } } + + return } |
