opentelemetry-js/packages/opentelemetry-plugin-grpc
Daniel Dyla 27a8d4530c
chore: version 0.14.0 proposal (#1763)
2020-12-17 15:44:39 -05:00
..
src chore: version 0.14.0 proposal (#1763) 2020-12-17 15:44:39 -05:00
test feat(grpc-js): add @grpc/grpc-js plugin (#1201) 2020-07-21 14:35:06 -07:00
.eslintignore fix(lint): move tslint to eslint (#892) 2020-05-20 20:42:17 -07:00
.eslintrc.js fix(lint): move tslint to eslint (#892) 2020-05-20 20:42:17 -07:00
.npmignore chore(packages): add http and grpc skeletons (#160) 2019-08-03 20:53:38 -07:00
LICENSE chore(packages): add http and grpc skeletons (#160) 2019-08-03 20:53:38 -07:00
README.md feat: add ability to filter grpc methods (#1353) 2020-08-20 16:10:24 -04:00
package.json chore: version 0.14.0 proposal (#1763) 2020-12-17 15:44:39 -05:00
tsconfig.json chore(packages): add http and grpc skeletons (#160) 2019-08-03 20:53:38 -07:00

README.md

OpenTelemetry gRPC Instrumentation for Node.js

Gitter chat NPM Published Version dependencies devDependencies Apache License

This module provides automatic instrumentation for grpc. Currently, version 1.x of the Node.js gRPC library is supported.

For automatic instrumentation see the @opentelemetry/node package.

Installation

npm install --save @opentelemetry/plugin-grpc

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: {
      enabled: true,
      // You may use a package name or absolute path to the file.
      path: '@opentelemetry/plugin-grpc',
      // gRPC plugin options
    }
  }
});

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();

See examples/grpc for a short example.

gRPC Plugin Options

gRPC 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.

License

Apache 2.0 - See LICENSE for more information.