xref: /aosp_15_r20/external/grpc-grpc/examples/python/observability/README.md (revision cc02d7e222339f7a4f6ba5f422e6413f4bd931f2)
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