Skip to content

Latest commit

 

History

History

example-gcp-csm-observability

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.