opentelemetry-erlang-contrib/instrumentation/opentelemetry_grpcbox
Ty Bekiares f04340aff4
[grpcbox] add grpc conventions (#130)
Co-authored-by: Tristan Sloughter <t@crashfast.com>
2022-12-01 15:37:47 -07:00
..
src [grpcbox] add grpc conventions (#130) 2022-12-01 15:37:47 -07:00
test add grpcbox instrumentation library (#70) 2022-03-27 11:42:36 -06:00
.gitignore add grpcbox instrumentation library (#70) 2022-03-27 11:42:36 -06:00
LICENSE add grpcbox instrumentation library (#70) 2022-03-27 11:42:36 -06:00
README.md add grpcbox instrumentation library (#70) 2022-03-27 11:42:36 -06:00
rebar.config [grpcbox] add grpc conventions (#130) 2022-12-01 15:37:47 -07:00
rebar.lock [grpcbox] add grpc conventions (#130) 2022-12-01 15:37:47 -07:00

README.md

opentelemetry_grpcbox

This grpcbox interceptor uses the OpenTelemetry API to create Spans for outgoing and incoming requests and propagates them as part of the gRPC metadata.

Server

Configure as an interceptor:

#{service_protos => [route_guide_pb],
  unary_interceptor => {otel_grpcbox_interceptor, unary}}

Or as a middleware in the chain interceptor:

#{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:

{client, #{channels => [{default_channel, [{http, "localhost", 8080, []}], 
                        #{unary_interceptor => fun otel_grpcbox_interceptor:unary_client/7}}]}}