2.0.3 • Published 11 months ago
@voodoo.io/tracing-middleware v2.0.3
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 --saveUsage
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
}
})| Name | Default | Description |
|---|---|---|
| serviceName | process.env.OTEL_SERVICE_NAME | Your service's name |
| exporterEndpoint | process.env.OTEL_EXPORTER_ENDPOINT | The opentelemetry endpoint |
| instrumentations | List of instrumentations | |
| instrumentations.http | true | |
| instrumentations.aws | true | |
| instrumentations.mysql | false | |
| instrumentations.mongodb | false | |
| instrumentations.pg | false | |
| instrumentations.redis | false | |
| instrumentations.ioredis | false | |
| instrumentations.graphql | false | |
| instrumentations.koa | false | |
| instrumentations.express | false | |
| instrumentations.fastify | false | |
| instrumentations.lambda | false | |
| instrumentations.grpc | false | |
| instrumentations.winston | false |
Compatibility
| Version | Supported | Tested |
|---|---|---|
| 20.x | yes | yes |
| 18.x | yes | yes |
Debug
DEBUG=tracing-middleware* node myApp.jsTest
$ npm testRun with coverage
$ npm run coverageCoverage report can be found in coverage/.
License
MIT
Release
npm publish2.0.3
11 months ago
2.0.2
1 year ago
2.0.1
1 year ago
2.0.0
2 years ago
1.1.8
2 years ago
1.1.7
2 years ago
1.1.6
2 years ago
1.2.0
2 years ago
1.1.5
2 years ago
1.1.4
2 years ago
1.2.1
2 years ago
1.1.3
3 years ago
1.1.2
3 years ago
1.1.1
3 years ago
1.1.0
4 years ago
1.0.3
4 years ago
1.0.2
4 years ago
1.0.1
4 years ago
1.0.0
4 years ago