/
masterHeartBeat.go
115 lines (96 loc) · 2.2 KB
/
masterHeartBeat.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
package main
import (
"fmt"
"github.com/Open-Twin/citymesh/service_mesh/smesh/sidecar"
"golang.org/x/net/context"
"google.golang.org/grpc"
"log"
"os"
)
func main() {
/*
pinger, err := ping.NewPinger("www.google.com")
if err != nil {
panic(err)
}
pinger.Count = 3
err = pinger.Run() // blocks until finished
if err != nil {
panic(err)
}
stats := pinger.Statistics() // get send/receive/rtt stats
fmt.Println(stats)
*/
/*
p := fastping.NewPinger()
ra, err := net.ResolveIPAddr("ip4:icmp", "www.google.com")
if err != nil {
fmt.Println(err)
os.Exit(1)
}
p.AddIPAddr(ra)
p.OnRecv = func(addr *net.IPAddr, rtt time.Duration) {
fmt.Printf("IP Addr: %s receive, RTT: %v\n", addr.String(), rtt)
}
p.OnIdle = func() {
fmt.Println("finish")
}
err = p.Run()
if err != nil {
fmt.Println(err)
}
/*
host := "www.google.com"
port := ""
timeout := time.Duration(1 * time.Second)
_, err := net.DialTimeout("tcp", host+":"+port, timeout)
if err != nil {
fmt.Printf("%s %s %s\n", host, "not responding", err.Error())
} else {
fmt.Printf("%s %s %s\n", host, "responding on port:", port)
}
*/
// Placeholder until Gateway
conn, erro := grpc.Dial(":9000", grpc.WithInsecure())
// real code:
//conn, err := grpc.Dial(target, grpc.WithInsecure())
if erro != nil {
log.Fatalf("no server connection could be established cause: %v", erro)
}
// defer runs after the functions finishes
defer conn.Close()
c := sidecar.NewChatServiceClient(conn)
var message sidecar.Health
message = sidecar.Health{
Reply: "abc",
}
response, err := c.HealthCheck(context.Background(), &message)
var data string
if response != nil {
fmt.Sprintf("Healthcheck Report: %s ", response.Reply)
fmt.Println(data)
saveHealthCheck(response.Reply)
}
if err != nil {
log.Printf("Response from Server: %s , ", err)
}
}
func saveHealthCheck(data string){
f, err := os.OpenFile("../files/healthCheckReport.csv", os.O_APPEND|os.O_WRONLY|os.O_CREATE, 0600)
if err != nil {
fmt.Println(err)
return
}
l, err := f.WriteString( data)
if err != nil {
fmt.Println(err)
f.Close()
return
}
fmt.Println(l, "bytes written successfully")
err = f.Close()
if err != nil {
fmt.Println(err)
return
}
}