gRPC GCP CSM Observability Example ================ The GCP CSM Observability example consists of a Hello World client and a Hello World server and shows how to configure CSM Observability for gRPC client and gRPC server. ## Configuration `CsmObservabilityClient` takes the following command-line arguments - * user - Name to be greeted. * target - Server address. Default value is `xds:///helloworld:50051`. * When client tries to connect to target, gRPC would use xDS to resolve this target and connect to the server backend. * prometheusPort - Port used for exposing prometheus metrics. Default value is `9464`. `CsmObservabilityServer` takes the following command-line arguments - * port - Port used for running Hello World server. Default value is `50051`. * prometheusPort - Port used for exposing prometheus metrics. Default value is `9464`. ## Build the example From the `grpc-java/examples/`directory i.e, ``` cd grpc-java/examples ``` Run the following to generate client and server images respectively. Client: ``` docker build -f example-gcp-csm-observability/csm-client.Dockerfile . ``` Server: ``` docker build -f example-gcp-csm-observability/csm-server.Dockerfile . ``` To push to a registry, add a tag to the image either by adding a `-t` flag to `docker build` command above or run: ``` docker image tag ${sha from build command above} ${tag} ``` And then push the tagged image using `docker push`.