opentelemetry-js/packages/opentelemetry-plugin-https
Olivier Albertini 3d9b8228b5 feat(plugin-http): add/modify attributes (#643)
* feat(plugin-http): add/modify attributes

closes #373, #394

Signed-off-by: Olivier Albertini <olivier.albertini@montreal.ca>

* fix: change remotePort to localPort

refactor: remove useless checks
test: add assertions

Signed-off-by: Olivier Albertini <olivier.albertini@montreal.ca>

* test(plugin-https): sync with http plugin

Signed-off-by: Olivier Albertini <olivier.albertini@montreal.ca>

Co-authored-by: Mayur Kale <mayurkale@google.com>
2020-01-01 23:07:39 -08:00
..
src chore(plugin-https): sync https tests with http (#597) 2019-12-10 11:21:27 -05:00
test feat(plugin-http): add/modify attributes (#643) 2020-01-01 23:07:39 -08:00
.npmignore chore(plugin): setup https/http2/redis/mongodb plugin packages (#202) 2019-08-15 15:36:01 -07:00
LICENSE chore(plugin): setup https/http2/redis/mongodb plugin packages (#202) 2019-08-15 15:36:01 -07:00
README.md chore(plugin-https): sync https tests with http (#597) 2019-12-10 11:21:27 -05:00
package.json chore: 0.3.1 (patch) release proposal (#639) 2019-12-20 15:45:34 -08:00
tsconfig.json chore(plugin): setup https/http2/redis/mongodb plugin packages (#202) 2019-08-15 15:36:01 -07:00
tslint.json chore: set explicit naming convention (#262) 2019-09-17 09:56:13 -07:00

README.md

OpenTelemetry HTTPS Instrumentation for Node.js

Gitter chat NPM Published Version dependencies devDependencies Apache License

This module provides automatic instrumentation for https.

For automatic instrumentation see the @opentelemetry/node package.

Installation

npm install --save @opentelemetry/plugin-https

Usage

OpenTelemetry HTTPS 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 (HTTPS in this case), specify it in the Node Tracer's configuration.

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

const tracer = new NodeTracer({
  plugins: {
    https: {
      enabled: true,
      // You may use a package name or absolute path to the file.
      path: '@opentelemetry/plugin-https',
      // https plugin options
    }
  }
});

To load all 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 { NodeTracer } = require('@opentelemetry/node');

const tracer = new NodeTracer();

See examples/https for a short example.

Https Plugin Options

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

Options Type Description
applyCustomAttributesOnSpan HttpCustomAttributeFunction Function for adding custom attributes
ignoreIncomingPaths IgnoreMatcher[] Http plugin will not trace all incoming requests that match paths
ignoreOutgoingUrls IgnoreMatcher[] Http plugin will not trace all outgoing requests that match urls

License

Apache 2.0 - See LICENSE for more information.