opentelemetry_grpcbox ===== This [grpcbox](https://github.com/tsloughter/grpcbox) interceptor uses the [OpenTelemetry](http://opentelemetry.io/) API to create Spans for outgoing and incoming requests and propagates them as part of the gRPC metadata. ### Server Configure as an interceptor: ```erlang #{service_protos => [route_guide_pb], unary_interceptor => {otel_grpcbox_interceptor, unary}} ``` Or as a middleware in the chain interceptor: ```erlang #{service_protos => [route_guide_pb], unary_interceptor => grpcbox_chain_interceptor:unary([..., fun otel_grpcbox_interceptor:unary/4, ...])} ``` ### Client Example in `sys.config` for setting up a [client channel](https://grpc.io/docs/what-is-grpc/core-concepts/#channels): ``` erlang {client, #{channels => [{default_channel, [{http, "localhost", 8080, []}], #{unary_interceptor => fun otel_grpcbox_interceptor:unary_client/7}}]}} ```