Guest User

Untitled

a guest
Jul 8th, 2018
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.78 KB | None | 0 0
  1. package main
  2.  
  3. import (
  4. "log"
  5. "time"
  6.  
  7. client "github.com/influxdata/influxdb/client/v2"
  8. )
  9.  
  10. const (
  11. db = "f1"
  12. username = "admin"
  13. password = "admin"
  14. addr = "localhost:8089"
  15. )
  16.  
  17. // Point is a struct with data for sending to InfluxDB
  18. type Point struct {
  19. tp *TelemetryPack
  20. t time.Time
  21. }
  22.  
  23. func influxDBSender(ch chan Point) {
  24.  
  25. c, err := client.NewUDPClient(client.UDPConfig{
  26. Addr: addr,
  27. })
  28. if err != nil {
  29. log.Fatal(err)
  30. }
  31. defer c.Close()
  32.  
  33. for p := range ch {
  34. bp, err := client.NewBatchPoints(client.BatchPointsConfig{
  35. Database: db,
  36. })
  37. if err != nil {
  38. log.Fatal(err)
  39. }
  40. pt, err := client.NewPoint("TelemetryPack", nil, p.tp.ToMap(), p.t)
  41. if err != nil {
  42. log.Fatal(err)
  43. }
  44. bp.AddPoint(pt)
  45. if err := c.Write(bp); err != nil {
  46. log.Fatal(err)
  47. }
  48.  
  49. }
  50.  
  51. }
Add Comment
Please, Sign In to add comment