From 3dc0efa280d316b51884a88609639399db868b97 Mon Sep 17 00:00:00 2001 From: Purnesh Dixit Date: Wed, 18 Dec 2024 16:35:52 +0530 Subject: [PATCH 1/5] examples/features/opentelemetry: use helloworld client and server instead of echo --- examples/features/opentelemetry/client/main.go | 11 ++++++++--- examples/features/opentelemetry/server/main.go | 15 ++++++++------- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/examples/features/opentelemetry/client/main.go b/examples/features/opentelemetry/client/main.go index 6b0ee92eb0da..8c01cd0b8f09 100644 --- a/examples/features/opentelemetry/client/main.go +++ b/examples/features/opentelemetry/client/main.go @@ -29,7 +29,7 @@ import ( "google.golang.org/grpc" "google.golang.org/grpc/credentials/insecure" - "google.golang.org/grpc/examples/features/proto/echo" + pb "google.golang.org/grpc/examples/helloworld/helloworld" "google.golang.org/grpc/stats/opentelemetry" "github.com/prometheus/client_golang/prometheus/promhttp" @@ -37,9 +37,14 @@ import ( "go.opentelemetry.io/otel/sdk/metric" ) +const ( + defaultName = "world" +) + var ( addr = flag.String("addr", ":50051", "the server address to connect to") prometheusEndpoint = flag.String("prometheus_endpoint", ":9465", "the Prometheus exporter endpoint") + name = flag.String("name", defaultName, "Name to greet") ) func main() { @@ -58,12 +63,12 @@ func main() { log.Fatalf("Failed to start NewClient: %v", err) } defer cc.Close() - c := echo.NewEchoClient(cc) + c := pb.NewGreeterClient(cc) // Make an RPC every second. This should trigger telemetry to be emitted from // the client and the server. for { - r, err := c.UnaryEcho(ctx, &echo.EchoRequest{Message: "this is examples/opentelemetry"}) + r, err := c.SayHello(ctx, &pb.HelloRequest{Name: *name}) if err != nil { log.Fatalf("UnaryEcho failed: %v", err) } diff --git a/examples/features/opentelemetry/server/main.go b/examples/features/opentelemetry/server/main.go index 2bda00809e47..ebe4a574654f 100644 --- a/examples/features/opentelemetry/server/main.go +++ b/examples/features/opentelemetry/server/main.go @@ -22,13 +22,12 @@ package main import ( "context" "flag" - "fmt" "log" "net" "net/http" "google.golang.org/grpc" - pb "google.golang.org/grpc/examples/features/proto/echo" + pb "google.golang.org/grpc/examples/helloworld/helloworld" "google.golang.org/grpc/stats/opentelemetry" "github.com/prometheus/client_golang/prometheus/promhttp" @@ -41,13 +40,15 @@ var ( prometheusEndpoint = flag.String("prometheus_endpoint", ":9464", "the Prometheus exporter endpoint") ) -type echoServer struct { - pb.UnimplementedEchoServer +type server struct { + pb.UnimplementedGreeterServer addr string } -func (s *echoServer) UnaryEcho(_ context.Context, req *pb.EchoRequest) (*pb.EchoResponse, error) { - return &pb.EchoResponse{Message: fmt.Sprintf("%s (from %s)", req.Message, s.addr)}, nil +// SayHello implements helloworld.GreeterServer +func (s *server) SayHello(_ context.Context, in *pb.HelloRequest) (*pb.HelloReply, error) { + log.Printf("Received: %v", in.GetName()) + return &pb.HelloReply{Message: "Hello " + in.GetName()}, nil } func main() { @@ -65,7 +66,7 @@ func main() { log.Fatalf("Failed to listen: %v", err) } s := grpc.NewServer(so) - pb.RegisterEchoServer(s, &echoServer{addr: *addr}) + pb.RegisterGreeterServer(s, &server{addr: *addr}) log.Printf("Serving on %s\n", *addr) From b8958eacf07078623fb8e8fed331a0bb71eb18ad Mon Sep 17 00:00:00 2001 From: Purnesh Dixit Date: Wed, 18 Dec 2024 18:03:59 +0530 Subject: [PATCH 2/5] address arajan's comments --- examples/features/opentelemetry/client/main.go | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/examples/features/opentelemetry/client/main.go b/examples/features/opentelemetry/client/main.go index 8c01cd0b8f09..64e1262ee94a 100644 --- a/examples/features/opentelemetry/client/main.go +++ b/examples/features/opentelemetry/client/main.go @@ -37,9 +37,7 @@ import ( "go.opentelemetry.io/otel/sdk/metric" ) -const ( - defaultName = "world" -) +const defaultName = "world" var ( addr = flag.String("addr", ":50051", "the server address to connect to") @@ -70,7 +68,7 @@ func main() { for { r, err := c.SayHello(ctx, &pb.HelloRequest{Name: *name}) if err != nil { - log.Fatalf("UnaryEcho failed: %v", err) + log.Fatalf("Could not greet: %v", err) } fmt.Println(r) time.Sleep(time.Second) From ea4213655dea64601ffae8f6e66f38e622c28594 Mon Sep 17 00:00:00 2001 From: Purnesh Dixit Date: Wed, 18 Dec 2024 18:04:25 +0530 Subject: [PATCH 3/5] address arajan's comments --- examples/features/opentelemetry/server/main.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/features/opentelemetry/server/main.go b/examples/features/opentelemetry/server/main.go index ebe4a574654f..587385a124d1 100644 --- a/examples/features/opentelemetry/server/main.go +++ b/examples/features/opentelemetry/server/main.go @@ -40,6 +40,7 @@ var ( prometheusEndpoint = flag.String("prometheus_endpoint", ":9464", "the Prometheus exporter endpoint") ) +// server is used to implement helloworld.GreeterServer. type server struct { pb.UnimplementedGreeterServer addr string @@ -47,7 +48,6 @@ type server struct { // SayHello implements helloworld.GreeterServer func (s *server) SayHello(_ context.Context, in *pb.HelloRequest) (*pb.HelloReply, error) { - log.Printf("Received: %v", in.GetName()) return &pb.HelloReply{Message: "Hello " + in.GetName()}, nil } From a2fe31dfd56baa489b7f6a4348876d9f4c4fafa5 Mon Sep 17 00:00:00 2001 From: Purnesh Dixit Date: Fri, 20 Dec 2024 00:49:30 +0530 Subject: [PATCH 4/5] update csm_observability example client and server --- examples/features/csm_observability/client/main.go | 11 +++++++---- examples/features/csm_observability/server/main.go | 14 +++++++------- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/examples/features/csm_observability/client/main.go b/examples/features/csm_observability/client/main.go index cf33e6cb641d..c5b81ff0beb7 100644 --- a/examples/features/csm_observability/client/main.go +++ b/examples/features/csm_observability/client/main.go @@ -30,7 +30,7 @@ import ( "google.golang.org/grpc" "google.golang.org/grpc/credentials/insecure" xdscreds "google.golang.org/grpc/credentials/xds" - "google.golang.org/grpc/examples/features/proto/echo" + pb "google.golang.org/grpc/examples/helloworld/helloworld" "google.golang.org/grpc/stats/opentelemetry" "google.golang.org/grpc/stats/opentelemetry/csm" _ "google.golang.org/grpc/xds" // To install the xds resolvers and balancers. @@ -40,9 +40,12 @@ import ( "go.opentelemetry.io/otel/sdk/metric" ) +const defaultName = "world" + var ( target = flag.String("target", "xds:///helloworld:50051", "the server address to connect to") prometheusEndpoint = flag.String("prometheus_endpoint", ":9464", "the Prometheus exporter endpoint") + name = flag.String("name", defaultName, "Name to greet") ) func main() { @@ -68,15 +71,15 @@ func main() { log.Fatalf("Failed to start NewClient: %v", err) } defer cc.Close() - c := echo.NewEchoClient(cc) + c := pb.NewGreeterClient(cc) // Make an RPC every second. This should trigger telemetry to be emitted from // the client and the server. for { ctx, cancel := context.WithTimeout(context.Background(), time.Second*5) - r, err := c.UnaryEcho(ctx, &echo.EchoRequest{Message: "this is examples/opentelemetry"}) + r, err := c.SayHello(ctx, &pb.HelloRequest{Name: *name}) if err != nil { - log.Printf("UnaryEcho failed: %v", err) + log.Fatalf("Could not greet: %v", err) } fmt.Println(r) time.Sleep(time.Second) diff --git a/examples/features/csm_observability/server/main.go b/examples/features/csm_observability/server/main.go index 7a87517cbde6..87ca9349bfc0 100644 --- a/examples/features/csm_observability/server/main.go +++ b/examples/features/csm_observability/server/main.go @@ -22,7 +22,6 @@ package main import ( "context" "flag" - "fmt" "log" "net" "net/http" @@ -30,7 +29,7 @@ import ( "google.golang.org/grpc" "google.golang.org/grpc/credentials/insecure" xdscreds "google.golang.org/grpc/credentials/xds" - pb "google.golang.org/grpc/examples/features/proto/echo" + pb "google.golang.org/grpc/examples/helloworld/helloworld" "google.golang.org/grpc/stats/opentelemetry" "google.golang.org/grpc/stats/opentelemetry/csm" "google.golang.org/grpc/xds" @@ -45,13 +44,14 @@ var ( prometheusEndpoint = flag.String("prometheus_endpoint", ":9464", "the Prometheus exporter endpoint") ) -type echoServer struct { - pb.UnimplementedEchoServer +type server struct { + pb.UnimplementedGreeterServer addr string } -func (s *echoServer) UnaryEcho(_ context.Context, req *pb.EchoRequest) (*pb.EchoResponse, error) { - return &pb.EchoResponse{Message: fmt.Sprintf("%s (from %s)", req.Message, s.addr)}, nil +// SayHello implements helloworld.GreeterServer +func (s *server) SayHello(_ context.Context, in *pb.HelloRequest) (*pb.HelloReply, error) { + return &pb.HelloReply{Message: "Hello " + in.GetName()}, nil } func main() { @@ -80,7 +80,7 @@ func main() { if err != nil { log.Fatalf("Failed to start xDS Server: %v", err) } - pb.RegisterEchoServer(s, &echoServer{addr: ":" + *port}) + pb.RegisterGreeterServer(s, &server{addr: ":" + *port}) log.Printf("Serving on %s\n", *port) From 127f91c24d620fb49c0edf42aa635c631f77f26f Mon Sep 17 00:00:00 2001 From: Purnesh Dixit Date: Fri, 20 Dec 2024 00:52:31 +0530 Subject: [PATCH 5/5] revert opentelemetry example --- .../features/csm_observability/server/main.go | 1 + examples/features/opentelemetry/client/main.go | 11 ++++------- examples/features/opentelemetry/server/main.go | 15 +++++++-------- 3 files changed, 12 insertions(+), 15 deletions(-) diff --git a/examples/features/csm_observability/server/main.go b/examples/features/csm_observability/server/main.go index 87ca9349bfc0..3c4c7a328e0c 100644 --- a/examples/features/csm_observability/server/main.go +++ b/examples/features/csm_observability/server/main.go @@ -44,6 +44,7 @@ var ( prometheusEndpoint = flag.String("prometheus_endpoint", ":9464", "the Prometheus exporter endpoint") ) +// server is used to implement helloworld.GreeterServer. type server struct { pb.UnimplementedGreeterServer addr string diff --git a/examples/features/opentelemetry/client/main.go b/examples/features/opentelemetry/client/main.go index 64e1262ee94a..6b0ee92eb0da 100644 --- a/examples/features/opentelemetry/client/main.go +++ b/examples/features/opentelemetry/client/main.go @@ -29,7 +29,7 @@ import ( "google.golang.org/grpc" "google.golang.org/grpc/credentials/insecure" - pb "google.golang.org/grpc/examples/helloworld/helloworld" + "google.golang.org/grpc/examples/features/proto/echo" "google.golang.org/grpc/stats/opentelemetry" "github.com/prometheus/client_golang/prometheus/promhttp" @@ -37,12 +37,9 @@ import ( "go.opentelemetry.io/otel/sdk/metric" ) -const defaultName = "world" - var ( addr = flag.String("addr", ":50051", "the server address to connect to") prometheusEndpoint = flag.String("prometheus_endpoint", ":9465", "the Prometheus exporter endpoint") - name = flag.String("name", defaultName, "Name to greet") ) func main() { @@ -61,14 +58,14 @@ func main() { log.Fatalf("Failed to start NewClient: %v", err) } defer cc.Close() - c := pb.NewGreeterClient(cc) + c := echo.NewEchoClient(cc) // Make an RPC every second. This should trigger telemetry to be emitted from // the client and the server. for { - r, err := c.SayHello(ctx, &pb.HelloRequest{Name: *name}) + r, err := c.UnaryEcho(ctx, &echo.EchoRequest{Message: "this is examples/opentelemetry"}) if err != nil { - log.Fatalf("Could not greet: %v", err) + log.Fatalf("UnaryEcho failed: %v", err) } fmt.Println(r) time.Sleep(time.Second) diff --git a/examples/features/opentelemetry/server/main.go b/examples/features/opentelemetry/server/main.go index 587385a124d1..2bda00809e47 100644 --- a/examples/features/opentelemetry/server/main.go +++ b/examples/features/opentelemetry/server/main.go @@ -22,12 +22,13 @@ package main import ( "context" "flag" + "fmt" "log" "net" "net/http" "google.golang.org/grpc" - pb "google.golang.org/grpc/examples/helloworld/helloworld" + pb "google.golang.org/grpc/examples/features/proto/echo" "google.golang.org/grpc/stats/opentelemetry" "github.com/prometheus/client_golang/prometheus/promhttp" @@ -40,15 +41,13 @@ var ( prometheusEndpoint = flag.String("prometheus_endpoint", ":9464", "the Prometheus exporter endpoint") ) -// server is used to implement helloworld.GreeterServer. -type server struct { - pb.UnimplementedGreeterServer +type echoServer struct { + pb.UnimplementedEchoServer addr string } -// SayHello implements helloworld.GreeterServer -func (s *server) SayHello(_ context.Context, in *pb.HelloRequest) (*pb.HelloReply, error) { - return &pb.HelloReply{Message: "Hello " + in.GetName()}, nil +func (s *echoServer) UnaryEcho(_ context.Context, req *pb.EchoRequest) (*pb.EchoResponse, error) { + return &pb.EchoResponse{Message: fmt.Sprintf("%s (from %s)", req.Message, s.addr)}, nil } func main() { @@ -66,7 +65,7 @@ func main() { log.Fatalf("Failed to listen: %v", err) } s := grpc.NewServer(so) - pb.RegisterGreeterServer(s, &server{addr: *addr}) + pb.RegisterEchoServer(s, &echoServer{addr: *addr}) log.Printf("Serving on %s\n", *addr)