@opentelemetry/plugin-mongodbdeprecated

OpenTelemetry mongodb automatic instrumentation package.

Usage no npm install needed!

<script type="module">
  import opentelemetryPluginMongodb from 'https://cdn.skypack.dev/@opentelemetry/plugin-mongodb';
</script>

README

OpenTelemetry mongodb Instrumentation for Node.js

NPM Published Version dependencies devDependencies Apache License

This module provides automatic instrumentation for mongodb.

For automatic instrumentation see the @opentelemetry/node package.

Installation

npm install --save @opentelemetry/plugin-mongodb

Supported Versions

  • '>=2.0.0 <4

Usage

OpenTelemetry Mongodb Instrumentation allows the user to automatically collect trace data and export them to their backend of choice, to give observability to distributed systems.

To load a specific plugin (mongodb in this case), specify it in the registerInstrumentations's configuration.

const { NodeTracerProvider } = require('@opentelemetry/node');
const { registerInstrumentations } = require('@opentelemetry/instrumentation');

const provider = new NodeTracerProvider();
provider.register();

registerInstrumentations({
  instrumentations: [
    {
      plugins: {
        mongodb: {
          enabled: true,
          // You may use a package name or absolute path to the file.
          path: '@opentelemetry/plugin-mongodb',
        }
      },
    },
  ],
  tracerProvider: provider,
});

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 { registerInstrumentations } = require('@opentelemetry/instrumentation');

const provider = new NodeTracerProvider();
provider.register();
registerInstrumentations({
  tracerProvider: provider,
});

See examples/mongodb for a short example.

Mongo Plugin Options

Mongodb plugin has few options available to choose from. You can set the following:

Options Type Description
enhancedDatabaseReporting string If true, additional information about query parameters and results will be attached (as attributes) to spans representing database operations

Useful links

License

Apache 2.0 - See LICENSE for more information.