mirror of https://github.com/grpc/grpc.git
The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#)
https://grpc.io/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
1.5 KiB
54 lines
1.5 KiB
# gRPC C++ OpenTelemetry Example |
|
|
|
The opentelemetry example builds on the |
|
[Hello World Example](https://github.com/grpc/grpc/tree/master/examples/cpp/helloworld) |
|
and changes the gRPC client and server to show a sample way of configuring the |
|
gRPC OpenTelemetry plugin with a prometheus exporter. |
|
|
|
For more information on the gRPC OpenTelemetry plugin, please refer to - * |
|
[A66: OpenTelemetry Metrics](https://github.com/grpc/proposal/blob/master/A66-otel-stats.md) |
|
* [https://opentelemetry.io/]() |
|
|
|
## Running the example |
|
|
|
To run the server - |
|
|
|
``` |
|
$ tools/bazel run examples/cpp/otel:greeter_callback_server |
|
``` |
|
|
|
To run the client - |
|
|
|
``` |
|
$ tools/bazel run examples/cpp/otel:greeter_callback_client |
|
``` |
|
|
|
The client continuously sends an RPC to the server every second. |
|
|
|
To make sure that the server and client metrics are being exported properly, in |
|
a separate terminal, run the following - |
|
|
|
``` |
|
$ curl localhost:9464/metrics |
|
``` |
|
|
|
``` |
|
$ curl localhost:9465/metrics |
|
``` |
|
|
|
> ***NOTE:*** If the prometheus endpoint configured is overridden, please update |
|
> the target in the above curl command. |
|
|
|
## CMake Instructions |
|
|
|
The following libraries need to be installed before building the example with CMake - |
|
* absl |
|
* protobuf |
|
* prometheus-cpp |
|
* opentelemetry-cpp (with the options `-DWITH_ABSEIL=ON` `-DWITH_PROMETHEUS=ON`) |
|
* grpc (with the option `-DgRPC_BUILD_GRPCPP_OTEL_PLUGIN=ON`) |
|
|
|
You can find a complete set of instructions for building gRPC and running the |
|
Hello World app in the [C++ Quick Start][]. |
|
|
|
[C++ Quick Start]: https://grpc.io/docs/languages/cpp/quickstart
|
|
|