rpc_dart_opentelemetry 0.3.6
rpc_dart_opentelemetry: ^0.3.6 copied to clipboard
OpenTelemetry tracing, metrics, and logging integration for rpc_dart.
rpc_dart_opentelemetry #
OpenTelemetry tracing, metrics and log export for rpc_dart.
OtelRpcInterceptor— server-side interceptor: one span per call, W3Ctraceparentextracted from the incoming metadata.OtelRpcClientInterceptor— caller-side counterpart, injectstraceparentso the trace continues across the RPC boundary.RpcOtelPropagator— W3C trace-context extract/inject overRpcContextheaders.RpcOtelMetrics— call counters and duration instruments.LogControllerOtelOutput— aLogOutputthat forwards the built-in logger's records to OTel.
Usage #
import 'package:rpc_dart_opentelemetry/rpc_dart_opentelemetry.dart';
responderEndpoint.addInterceptor(
OtelRpcInterceptor(tracer: tracer, metrics: RpcOtelMetrics(meter: meter)),
);
callerEndpoint.addInterceptor(
OtelRpcClientInterceptor(tracer: tracer),
);
Spans are named <Service>/<Method> and carry rpc.system, rpc.service,
rpc.method and rpc.call_type attributes.