...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package main
16
17 import (
18 "context"
19 "log"
20 "os"
21 "time"
22
23 "go.opencensus.io/examples/exporter"
24 pb "go.opencensus.io/examples/grpc/proto"
25 "go.opencensus.io/plugin/ocgrpc"
26 "go.opencensus.io/stats/view"
27 "google.golang.org/grpc"
28 )
29
30 const (
31 address = "localhost:50051"
32 defaultName = "world"
33 )
34
35 func main() {
36
37
38 view.RegisterExporter(&exporter.PrintExporter{})
39
40
41 if err := view.Register(ocgrpc.DefaultClientViews...); err != nil {
42 log.Fatal(err)
43 }
44
45
46
47 conn, err := grpc.Dial(address, grpc.WithStatsHandler(&ocgrpc.ClientHandler{}), grpc.WithInsecure())
48 if err != nil {
49 log.Fatalf("Cannot connect: %v", err)
50 }
51 defer conn.Close()
52 c := pb.NewGreeterClient(conn)
53
54
55 name := defaultName
56 if len(os.Args) > 1 {
57 name = os.Args[1]
58 }
59 view.SetReportingPeriod(time.Second)
60 for {
61 r, err := c.SayHello(context.Background(), &pb.HelloRequest{Name: name})
62 if err != nil {
63 log.Printf("Could not greet: %v", err)
64 } else {
65 log.Printf("Greeting: %s", r.Message)
66 }
67 time.Sleep(2 * time.Second)
68 }
69 }
70
View as plain text