Write an example on how to use OpenTelemetry with:
- HTTP Client
- gRPC Server
- Postgres Client
- Redis Client
This example consists of a Cat API, where cats are registered along with cat facts.
Start Jaeger, Postgres and Redis:
make deps
make migrationsRun the application:
make runCall the API:
Create a cat:
grpcurl \
-d '{ "cat": { "name": "Tom", "id": "tom" } }' \
-plaintext localhost:8080 \
api.v1.CatService/CreateCatCreate another cat (if within 10s, the same cat fact will be used from cache):
grpcurl \
-d '{ "cat": { "name": "Garfield", "id": "garfield" } }' \
-plaintext localhost:8080 \
api.v1.CatService/CreateCatList cats:
grpcurl \
-plaintext localhost:8080 \
api.v1.CatService/ListCatsFind the traces in Jaeger UI:


