@opentelemetry/koa-instrumentation

OpenTelemetry Koa automatic instrumentation package.

Usage no npm install needed!

<script type="module">
  import opentelemetryKoaInstrumentation from 'https://cdn.skypack.dev/@opentelemetry/koa-instrumentation';
</script>

README

OpenTelemetry Koa Instrumentation for Node.js

Gitter chat dependencies devDependencies Apache License

This module provides automatic instrumentation for Koa.

For automatic instrumentation see the @opentelemetry/node package.

Installation

npm install --save @opentelemetry/koa-instrumentation

Supported Versions

  • Koa ^2.0.0

Usage

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

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

const provider = new NodeTracerProvider({
  plugins: {
    koa: {
      enabled: true,
      // You may use a package name or absolute path to the file.
      path: '@opentelemetry/koa-instrumentation',
    }
  }
});

To load all of the supported instrumentations, use below approach. Each instrumentation is only loaded when the module that it patches is loaded; in other words, there is no computational overhead for listing instrumentations for unused modules.

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

const provider = new NodeTracerProvider();

See examples/koa for a short example using both Koa and @koa/router

Koa Packages

This package provides automatic tracing for middleware added using either the core Koa package or the @koa/router package.

Useful links

License

Apache 2.0 - See LICENSE for more information.