opentelemetry-js/packages/opentelemetry-plugin-https
Daniel Dyla 18c6aa4f19 Named Tracers / Tracer Registry (#582)
* feat: spike of named tracer registry

* chore: mysql/mongo tracer registry support

* fix: lint

* chore: add getTracer back

* chore: change default tracer name to empty string

* fix: lint

* chore: update examples for registry

* chore(tracer-registry): make name required

* chore: lint

* chore: update examples for required tracer name

* chore: remove unused tracer delegate

* chore: remove references to basic tracer

* chore: remove references to NodeTracer

* chore: update xhr for tracer registry

* chore: update tracer names to match package names

* chore: add version script to all packages

* chore: update plugins to use version script

* chore: add jsdoc to noop tracer registry

* chore: update ioredis for tracer registry

* chore: update pg pool for tracer registry

* fix: lint

* chore: fix tests

* chore: lint

* chore: lint

Co-authored-by: Mayur Kale <mayurkale@google.com>
2020-01-09 08:29:38 -08:00
..
src chore: 0.3.2 (patch) release proposal (#659) 2020-01-03 12:27:10 -08:00
test Named Tracers / Tracer Registry (#582) 2020-01-09 08:29:38 -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 Named Tracers / Tracer Registry (#582) 2020-01-09 08:29:38 -08:00
package.json chore: 0.3.2 (patch) release proposal (#659) 2020-01-03 12:27:10 -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 { NodeTracerRegistry } = require('@opentelemetry/node');

const registry = new NodeTracerRegistry({
  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 { NodeTracerRegistry } = require('@opentelemetry/node');

const registry = new NodeTracerRegistry();

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.