main.go 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. package main
  2. import (
  3. "context"
  4. "fmt"
  5. "google.golang.org/grpc"
  6. client "iaun.cn/linux/services/client"
  7. service "iaun.cn/linux/services/test"
  8. "log"
  9. "strconv"
  10. "sync"
  11. "time"
  12. )
  13. var wg sync.WaitGroup
  14. var id string
  15. const (
  16. clientAddress = "192.168.226.133:30001"
  17. )
  18. func test(a int) {
  19. defer wg.Done()
  20. ctx, cancel := context.WithTimeout(context.Background(), 3*time.Second)
  21. defer cancel()
  22. conn, err := grpc.DialContext(ctx, clientAddress, grpc.WithBlock(), grpc.WithInsecure())
  23. if err != nil {
  24. log.Fatalf("did not connect:%v", err)
  25. return
  26. }
  27. defer func() { _ = conn.Close() }()
  28. c := service.NewGreeterClient(conn)
  29. r, err := c.SayHello(ctx, &service.HelloRequest{Name: "test" + strconv.Itoa(a)})
  30. if err != nil {
  31. log.Fatalf("could not send data:%v", err)
  32. return
  33. }
  34. fmt.Println(r.GetMessage())
  35. }
  36. func loop(addr string, secret string) {
  37. t := time.NewTimer(time.Second * 5)
  38. for {
  39. now := time.Now().Unix()
  40. server := &client.Server{
  41. Id: id,
  42. Secret: secret,
  43. Timestamp: now,
  44. }
  45. a, b := sendInit(addr, server)
  46. fmt.Println(a)
  47. fmt.Println(b)
  48. a, b = sendMemory(addr, server)
  49. fmt.Println(a)
  50. fmt.Println(b)
  51. a, b = sendNetIO(addr, server)
  52. fmt.Println(a)
  53. fmt.Println(b)
  54. a, b = sendCPUPercent(addr, server)
  55. fmt.Println(a)
  56. fmt.Println(b)
  57. <-t.C
  58. t.Reset(time.Second * 5)
  59. }
  60. }
  61. func main() {
  62. conf, err := getConfig()
  63. if err != nil {
  64. fmt.Println(err.Error())
  65. return
  66. }
  67. addr := fmt.Sprintf("%s:%d", conf.Server, conf.Port)
  68. fmt.Println(addr)
  69. id, err = getId()
  70. if err != nil {
  71. fmt.Println(err.Error())
  72. return
  73. }
  74. loop(addr, conf.Secret)
  75. }