Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

fastify-opentelemetry

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

fastify-opentelemetry

OpenTelemetry fastify automatic instrumentation package.

  • 1.0.3
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

fastify-opentelemetry

OpenTelemetry API Connector for Fastify

js-standard-style Build Status

fastify-opentelemetry is a plugin that connects your application with OpenTelemetry API for Fastify. It is built on top of the OpenTelemetry API for Javascript package.

If you want to connect to Stackdriver Trace API without using OpenTelemetry, please use fastify-gcloud-trace instead.

This plugin automatically instruments OpenTelemetry Tracing, and generates trace results. You can configure exporters and OpenTelemetry API plugins as you want. Please check out the detail here.

Here is an example of a trace result using Zipkin Trace Exporter:

Screen Shot 2020-04-12 at 5.10.25 PM.png

Install

npm i fastify-opentelemetry

or

yarn add fastify-opentelemetry

Usage

There are two steps in using this plugin. First, you need to initialize the trace provider before the application code. You can find more details about how to initializise Open Telemetry SDK here.

tracer.js

const api = require('@opentelemetry/api');
const {NodeTracerProvider} = require('@opentelemetry/node');
const {SimpleSpanProcessor} = require('@opentelemetry/tracing');
const {ZipkinExporter} = require('@opentelemetry/exporter-zipkin');

module.exports = serviceName => {
  const provider = new NodeTracerProvider();
  provider.addSpanProcessor(
    new SimpleSpanProcessor(
      new ZipkinExporter({
        serviceName
      })
    )
  );
  provider.register();
  return api.trace.getTracer(serviceName);
};

Second, you need to import the tracer in your application code, and use the fastify-optentelemetry plugin in the following way.

server.js

const tracer = require('./preStart')('fastify');
const fastify = require('fastify');
fastify.register(fastifyOpentelemetry, {
  enabled: true,
  tracer
});

Options

This is the list of available options.

  • enabled - If it is true, it generates a trace. The default value is true.
  • tracer - OpenTelemetry API tracer object. This is a required property in order to use this plugin.
  • ignoreUrls - You can pass an array of conditions to avoid creating a tracer for a certain URL. The conditions can be either string, regex, or function.
  • ignoreMethods - Similar to ignoreUrls, you can pass an array of conditions to avoid creating a tracer for a certain request method.

Limitations

This is not an official plugin by OpenCensus for Fastify.

License Licensed under MIT.

Keywords

FAQs

Package last updated on 11 Jun 2020

Did you know?

Socket

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
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc