OpenTelemetry instrumentation for nice-grpc. Current stable version 0.1.22, released monthly. It provides automatic tracing of gRPC calls made with nice-grpc, supporting both client and server interceptors. Differentiators: built for nice-grpc's typed gRPC framework, integrates with OpenTelemetry's official JS SDK, and offers minimal overhead with proper span attributes.
npm install nice-grpc-opentelemetryNo compatibility data collected yet for this library.
Verified import paths — ran on the pinned version, not inferred.
Creates a client with OpenTelemetry tracing middleware for nice-grpc.
Update code to pass options when calling the middleware, not the factory: const middleware = OpenTelemetryClientMiddleware(tracerProvider); const client = createClient(...) .use(middleware({ recordErrors: true }))Replace `startActiveSpan: true` with `spanKind: 'CLIENT'` in middleware options.
import { NodeSDK } from '@opentelemetry/sdk-node'; const sdk = new NodeSDK(); sdk.start();Ensure .use(middleware) is called after all other .use() calls.
Ensure you have registered an OpenTelemetry SDK (e.g., @opentelemetry/sdk-node) before creating the middleware.
Change require() to import() or use dynamic import: const mod = await import('nice-grpc-opentelemetry');Install @opentelemetry/instrumentation-grpc and register it: import { GrpcInstrumentation } from '@opentelemetry/instrumentation-grpc'; const sdk = new NodeSDK({ instrumentations: [new GrpcInstrumentation()] });