OpenTelemetry @grpc/grpc-js Instrumentation for Node.js
This module provides automatic instrumentation for @grpc/grpc-js
. Currently, version 1.x
of @grpc/grpc-js
is supported.
For automatic instrumentation see the
@opentelemetry/node package.
Installation
npm install --save @opentelemetry/plugin-grpc-js
Usage
OpenTelemetry gRPC Instrumentation allows the user to automatically collect trace data and export them to the backend of choice, to give observability to distributed systems when working with gRPC.
To load a specific plugin (gRPC in this case), specify it in the Node Tracer's configuration.
const { NodeTracerProvider } = require('@opentelemetry/node');
const provider = new NodeTracerProvider({
plugins: {
'@grpc/grpc-js': {
enabled: true,
path: '@opentelemetry/plugin-grpc-js',
}
}
});
To load all of the supported plugins, use below approach. Each plugin is only loaded when the module that it patches is loaded; in other words, there is no computational overhead for listing plugins for unused modules.
const { NodeTracerProvider } = require('@opentelemetry/node');
const provider = new NodeTracerProvider();
gRPC-js Plugin Options
gRPC-js plugin accepts the following configuration:
Options | Type | Description |
---|
ignoreGrpcMethods | IgnoreMatcher[] | gRPC plugin will not trace any methods that match anything in this list. You may pass a string (case-insensitive match), a RegExp object, or a filter function. |
Useful links
License
Apache 2.0 - See LICENSE for more information.