34 lines
1.0 KiB
Markdown
34 lines
1.0 KiB
Markdown
# gRPC Example
|
|
|
|
**Note:** This is an advanced scenario useful for people that want to *manually* instrument their own code.
|
|
|
|
This example demonstrates how to use the OpenTelemetry SDK
|
|
to instrument normal and streamed gRPC calls.
|
|
The example creates the **Root Span** on the client and sends the distributed context
|
|
over the gRPC request. On the server side, the example shows how to extract the context
|
|
and create a **Child Span**.
|
|
|
|
# How to run
|
|
|
|
## Prerequisites
|
|
* Java 1.8
|
|
|
|
## 1 - Compile
|
|
```shell script
|
|
../gradlew fatJar
|
|
```
|
|
|
|
## 2 - Start the Server
|
|
```shell script
|
|
java -cp ./build/libs/opentelemetry-examples-grpc-all-0.1.0-SNAPSHOT.jar io.opentelemetry.example.grpc.HelloWorldServer
|
|
```
|
|
|
|
## 3 - Start the normal Client
|
|
```shell script
|
|
java -cp ./build/libs/opentelemetry-examples-grpc-all-0.1.0-SNAPSHOT.jar io.opentelemetry.example.grpc.HelloWorldClient
|
|
```
|
|
|
|
## 4 - Start the streamed Client
|
|
```shell script
|
|
java -cp ./build/libs/opentelemetry-examples-grpc-all-0.1.0-SNAPSHOT.jar io.opentelemetry.example.grpc.HelloWorldClientStream
|
|
``` |