|
|
|
# gRPC C++ GCP Observability Hello World Example
|
|
|
|
|
|
|
|
This example consists of a hello world client and a hello world server
|
|
|
|
instrumented with GCP Observability for logs, metrics and tracing. Note that
|
|
|
|
familiarity with the [basic hello world][] example is assumed.
|
|
|
|
|
|
|
|
Please refer to GCP's [Microservices Observability user guide][] for setup
|
|
|
|
instructions.
|
|
|
|
|
|
|
|
[basic hello world]: https://grpc.io/docs/languages/cpp/quickstart
|
|
|
|
[Microservices Observability user guide]: https://cloud.google.com/stackdriver/docs/solutions/grpc
|
|
|
|
|
|
|
|
### Run the example with configuration
|
|
|
|
|
|
|
|
To use Observability, you should first setup and configure authorization as
|
|
|
|
mentioned in the Microservices Observability user guide.
|
|
|
|
|
|
|
|
You need to set the `GRPC_GCP_OBSERVABILITY_CONFIG_FILE` environment variable to
|
|
|
|
point to the gRPC GCP Observability configuration file (preferred) or
|
|
|
|
alternatively set `GRPC_GCP_OBSERVABILITY_CONFIG` environment variable to gRPC
|
|
|
|
GCP Observability configuration value. This is needed by both client and server.
|
|
|
|
|
|
|
|
Sample configurations are provided with the example.
|
|
|
|
|
|
|
|
To start the observability-enabled example server on its default port of 50051,
|
|
|
|
run the following from the `grpc` directory:
|
|
|
|
|
|
|
|
```
|
|
|
|
$ export
|
|
|
|
GRPC_GCP_OBSERVABILITY_CONFIG_FILE="$(pwd)/examples/cpp/gcp_observability/helloworld/server_config.json"
|
|
|
|
$ tools/bazel run examples/cpp/gcp_observability/helloworld:greeter_server
|
|
|
|
```
|
|
|
|
|
|
|
|
In a different terminal window, run the observability-enabled example client:
|
|
|
|
|
|
|
|
```
|
|
|
|
$ export
|
|
|
|
GRPC_GCP_OBSERVABILITY_CONFIG_FILE="$(pwd)/examples/cpp/gcp_observability/helloworld/client_config.json"
|
|
|
|
$ tools/bazel run examples/cpp/gcp_observability/helloworld:greeter_client
|
|
|
|
```
|