diff --git a/examples/features/csm_observability/server/main.go b/examples/features/csm_observability/server/main.go deleted file mode 100644 index 3cafe23316b3..000000000000 --- a/examples/features/csm_observability/server/main.go +++ /dev/null @@ -1,90 +0,0 @@ -/* - * - * Copyright 2024 gRPC authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -// Binary server is a server for the CSM Observability example. -package main - -import ( - "context" - "flag" - "fmt" - "log" - "net" - "net/http" - - "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" - "google.golang.org/grpc/stats/opentelemetry" - "google.golang.org/grpc/stats/opentelemetry/csm" - "google.golang.org/grpc/xds" - - "github.com/prometheus/client_golang/prometheus/promhttp" - "go.opentelemetry.io/otel/exporters/prometheus" - "go.opentelemetry.io/otel/sdk/metric" -) - -var ( - port = flag.String("port", "50051", "the server address to connect to") - prometheusEndpoint = flag.String("prometheus_endpoint", ":9464", "the Prometheus exporter endpoint") -) - -type echoServer struct { - pb.UnimplementedEchoServer - 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 -} - -func main() { - flag.Parse() - exporter, err := prometheus.New() - if err != nil { - log.Fatalf("Failed to start prometheus exporter: %v", err) - } - provider := metric.NewMeterProvider(metric.WithReader(exporter)) - go http.ListenAndServe(*prometheusEndpoint, promhttp.Handler()) - - cleanup := csm.EnableObservability(context.Background(), opentelemetry.Options{MetricsOptions: opentelemetry.MetricsOptions{MeterProvider: provider}}) - defer cleanup() - - lis, err := net.Listen("tcp", ":"+*port) - if err != nil { - log.Fatalf("Failed to listen: %v", err) - } - // Set up xds credentials that fall back to insecure as described in: - // https://cloud.google.com/service-mesh/docs/service-routing/security-proxyless-setup#workloads_are_unable_to_communicate_in_the_security_setup. - creds, err := xdscreds.NewServerCredentials(xdscreds.ServerOptions{FallbackCreds: insecure.NewCredentials()}) - if err != nil { - log.Fatalf("Failed to create xDS credentials: %v", err) - } - s, err := xds.NewGRPCServer(grpc.Creds(creds)) - if err != nil { - log.Fatalf("Failed to start xDS Server: %v", err) - } - pb.RegisterEchoServer(s, &echoServer{addr: ":" + *port}) - - log.Printf("Serving on %s\n", *port) - - if err := s.Serve(lis); err != nil { - log.Fatalf("Failed to serve: %v", err) - } -} diff --git a/version.go b/version.go index 72b45dfe3895..8d04b1b7b539 100644 --- a/version.go +++ b/version.go @@ -19,4 +19,4 @@ package grpc // Version is the current grpc version. -const Version = "1.69.1" +const Version = "1.69.2-dev"