1*cc02d7e2SAndroid Build Coastguard WorkergRPC Observability Example 2*cc02d7e2SAndroid Build Coastguard Worker===================== 3*cc02d7e2SAndroid Build Coastguard Worker 4*cc02d7e2SAndroid Build Coastguard WorkerThe examples here demonstrate how to setup gRPC Python Observability with Opentelemetry. 5*cc02d7e2SAndroid Build Coastguard Worker 6*cc02d7e2SAndroid Build Coastguard WorkerMore details about how to use gRPC Python Observability APIs can be found in [OpenTelemetry Metrics gRFC](https://github.com/grpc/proposal/blob/master/A66-otel-stats.md#opentelemetry-metrics). 7*cc02d7e2SAndroid Build Coastguard Worker 8*cc02d7e2SAndroid Build Coastguard Worker### Install Requirements 9*cc02d7e2SAndroid Build Coastguard Worker 10*cc02d7e2SAndroid Build Coastguard Worker1. Navigate to this directory: 11*cc02d7e2SAndroid Build Coastguard Worker 12*cc02d7e2SAndroid Build Coastguard Worker```sh 13*cc02d7e2SAndroid Build Coastguard Workercd examples/python/observability 14*cc02d7e2SAndroid Build Coastguard Worker``` 15*cc02d7e2SAndroid Build Coastguard Worker 16*cc02d7e2SAndroid Build Coastguard Worker2. Install requirements: 17*cc02d7e2SAndroid Build Coastguard Worker 18*cc02d7e2SAndroid Build Coastguard Worker```sh 19*cc02d7e2SAndroid Build Coastguard Workerpython -m pip install -r requirements.txt 20*cc02d7e2SAndroid Build Coastguard Worker``` 21*cc02d7e2SAndroid Build Coastguard Worker 22*cc02d7e2SAndroid Build Coastguard Worker### Run the Server 23*cc02d7e2SAndroid Build Coastguard Worker 24*cc02d7e2SAndroid Build Coastguard WorkerStart the server: 25*cc02d7e2SAndroid Build Coastguard Worker 26*cc02d7e2SAndroid Build Coastguard Worker```sh 27*cc02d7e2SAndroid Build Coastguard Workerpython -m observability_greeter_server 28*cc02d7e2SAndroid Build Coastguard Worker``` 29*cc02d7e2SAndroid Build Coastguard Worker 30*cc02d7e2SAndroid Build Coastguard Worker### Run the Client 31*cc02d7e2SAndroid Build Coastguard Worker 32*cc02d7e2SAndroid Build Coastguard WorkerNote that client should start within 10 seconds of the server becoming active. 33*cc02d7e2SAndroid Build Coastguard Worker 34*cc02d7e2SAndroid Build Coastguard Worker```sh 35*cc02d7e2SAndroid Build Coastguard Workerpython -m observability_greeter_client 36*cc02d7e2SAndroid Build Coastguard Worker``` 37*cc02d7e2SAndroid Build Coastguard Worker 38*cc02d7e2SAndroid Build Coastguard Worker### Verifying Metrics 39*cc02d7e2SAndroid Build Coastguard Worker 40*cc02d7e2SAndroid Build Coastguard WorkerThe example will print a list of metric names collected. 41*cc02d7e2SAndroid Build Coastguard Worker 42*cc02d7e2SAndroid Build Coastguard WorkerServer Side: 43*cc02d7e2SAndroid Build Coastguard Worker 44*cc02d7e2SAndroid Build Coastguard Worker``` 45*cc02d7e2SAndroid Build Coastguard WorkerServer started, listening on 50051 46*cc02d7e2SAndroid Build Coastguard WorkerMetrics exported on Server side: 47*cc02d7e2SAndroid Build Coastguard Workergrpc.server.call.started 48*cc02d7e2SAndroid Build Coastguard Workergrpc.server.call.sent_total_compressed_message_size 49*cc02d7e2SAndroid Build Coastguard Workergrpc.server.call.rcvd_total_compressed_message_size 50*cc02d7e2SAndroid Build Coastguard Workergrpc.server.call.duration 51*cc02d7e2SAndroid Build Coastguard Worker``` 52*cc02d7e2SAndroid Build Coastguard Worker 53*cc02d7e2SAndroid Build Coastguard WorkerClient Side: 54*cc02d7e2SAndroid Build Coastguard Worker 55*cc02d7e2SAndroid Build Coastguard Worker``` 56*cc02d7e2SAndroid Build Coastguard WorkerGreeter client received: Hello You 57*cc02d7e2SAndroid Build Coastguard WorkerMetrics exported on client side: 58*cc02d7e2SAndroid Build Coastguard Workergrpc.client.call.duration 59*cc02d7e2SAndroid Build Coastguard Workergrpc.client.attempt.started 60*cc02d7e2SAndroid Build Coastguard Workergrpc.client.attempt.sent_total_compressed_message_size 61*cc02d7e2SAndroid Build Coastguard Workergrpc.client.attempt.rcvd_total_compressed_message_size 62*cc02d7e2SAndroid Build Coastguard Workergrpc.client.attempt.duration 63*cc02d7e2SAndroid Build Coastguard Worker``` 64