Socket
Socket
Sign inDemoInstall

@opentelemetry/plugin-ioredis

Package Overview
Dependencies
7
Maintainers
4
Versions
19
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @opentelemetry/plugin-ioredis

OpenTelemetry ioredis automatic instrumentation package.


Version published
Weekly downloads
2K
decreased by-1.85%
Maintainers
4
Install size
570 kB
Created
Weekly downloads
 

Changelog

Source

0.15.0

:rocket: Enhancement
  • Other
    • #366 Add automated release workflows (@willarmiros)
  • auto-instrumentation-web
  • auto-instrumentation-node
    • #379 chore: creating meta package for default auto instrumentations for node (@obecny)
  • opentelemetry-instrumentation-hapi
  • opentelemetry-instrumentation-koa
  • opentelemetry-instrumentation-mysql
  • opentelemetry-instrumentation-net
  • opentelemetry-host-metrics
    • #395 chore: fixing broken links, updating to correct base url, replacing gitter with github discussions (@obecny)
:house: Internal
  • opentelemetry-host-metrics, opentelemetry-test-utils
    • #408 chore: bump otel dependencies to latest patch (@dyladan)
  • Other
:memo: Documentation
  • opentelemetry-host-metrics
Committers: 9

Readme

Source

OpenTelemetry ioredis Instrumentation for Node.js

NPM Published Version dependencies devDependencies Apache License

This module provides automatic instrumentation for ioredis.

For automatic instrumentation see the @opentelemetry/node package.

Installation

npm install --save @opentelemetry/plugin-ioredis

Supported Versions

  • >=2.0.0

Usage

To load a specific plugin (ioredis 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: {
        ioredis: {
          enabled: true,
          // You may use a package name or absolute path to the file.
          path: '@opentelemetry/plugin-ioredis',
        }
      }
    },
  ],
  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,
});

IORedis Plugin Options

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

OptionsTypeDescription
dbStatementSerializerDbStatementSerializerIORedis plugin will serialize db.statement using the specified function.

#### Custom db.statement Serializer The plugin serializes the whole command into a Span attribute called db.statement. The standard serialization format is {cmdName} {cmdArgs.join(',')}. It is also possible to define a custom serialization function. The function will receive the command name and arguments and must return a string.

Here is a simple example to serialize the command name skipping arguments:

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

const provider = new NodeTracerProvider({
  plugins: {
    ioredis: {
      enabled: true,
      // You may use a package name or absolute path to the file.
      path: '@opentelemetry/plugin-ioredis',
      dbStatementSerializer: function (cmdName, cmdArgs) {
        return cmdName;
      }
    }
  }
});

License

Apache 2.0 - See LICENSE for more information.

Keywords

FAQs

Last updated on 05 Apr 2021

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc