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

@voodoo.io/tracing-middleware

Package Overview
Dependencies
Maintainers
0
Versions
18
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@voodoo.io/tracing-middleware

Add a middleware to handle tracing with open tracing libs

  • 2.0.2
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
71
increased by129.03%
Maintainers
0
Weekly downloads
 
Created
Source

npm version GitHub license Opened PR Opened issues CI pipeline Node version Code coverage

Tracing middleware with open tracing libs

Purpose

A simple middleware to enable tracing with opentelemetry lib. It will instantiate some instrumentation libs in order to catch span for:

  • HTTP calls
  • AWS SDK
  • Mysql
  • MongoDB
  • Postgres
  • Web frameworks: Fastify, Express, Koa
  • AWS Lambda
  • Redis
  • GraphQL
  • GRPC

Installation

npm install @voodoo.io/tracing-middleware --save

Usage

Basic usage

const tracer = require('@voodoo.io/tracing-middleware')()

Use addTraceId method

This method will add the traceID in the req object.

const tracingModule = require('@voodoo.io/tracing-middleware')()

fastify.addHook('onRequest', tracingModule.addTraceId)

Configuration

Example of configuration, using tempo as endpoint.

const tracer = require('@voodoo.io/tracing-middleware')({
    serviceName: 'myService',
    exporterEndpoint: 'http://tempo.monitoring.svc.cluster.local:14268/api/traces',
    instrumentations: {
        mysql: true,
        lambda: true
    }
})
NameDefaultDescription
serviceNameprocess.env.OTEL_SERVICE_NAMEYour service's name
exporterEndpointprocess.env.OTEL_EXPORTER_ENDPOINTThe opentelemetry endpoint
instrumentationsList of instrumentations
instrumentations.httptrue
instrumentations.awstrue
instrumentations.mysqlfalse
instrumentations.mongodbfalse
instrumentations.pgfalse
instrumentations.redisfalse
instrumentations.ioredisfalse
instrumentations.graphqlfalse
instrumentations.koafalse
instrumentations.expressfalse
instrumentations.fastifyfalse
instrumentations.lambdafalse
instrumentations.grpcfalse
instrumentations.winstonfalse

Compatibility

VersionSupportedTested
20.xyesyes
18.xyesyes

Debug

DEBUG=tracing-middleware* node myApp.js

Test

$ npm test

Run with coverage

$ npm run coverage

Coverage report can be found in coverage/.

License

MIT

Release

npm publish

Keywords

FAQs

Package last updated on 04 Sep 2024

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