All Projects → RisingStack → jaeger-node

RisingStack / jaeger-node

Licence: MIT license
Out of the box distributed tracing for Node.js applications.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to jaeger-node

microservices-demo
A Monorepo Demoing Microservices Architecture
Stars: ✭ 36 (-45.45%)
Mutual labels:  tracing, opentracing, jaeger
Dd Trace Php
Datadog Tracing PHP Client
Stars: ✭ 203 (+207.58%)
Mutual labels:  tracing, opentracing
Kanali
A Kubernetes Native API Management Solution
Stars: ✭ 192 (+190.91%)
Mutual labels:  tracing, opentracing
Csharp Netcore
OpenTracing instrumentation for .NET Core & .NET 5 apps
Stars: ✭ 225 (+240.91%)
Mutual labels:  tracing, opentracing
Dd Trace Dotnet
.NET Tracer for Datadog APM
Stars: ✭ 125 (+89.39%)
Mutual labels:  tracing, opentracing
Stagemonitor
an open source solution to application performance monitoring for java server applications
Stars: ✭ 1,664 (+2421.21%)
Mutual labels:  tracing, opentracing
Natchez
functional tracing for cats
Stars: ✭ 214 (+224.24%)
Mutual labels:  tracing, opentracing
Brave Opentracing
Bridge between OpenTracing and Brave
Stars: ✭ 64 (-3.03%)
Mutual labels:  tracing, opentracing
Dd Trace Go
A Go tracing package for Datadog APM
Stars: ✭ 244 (+269.7%)
Mutual labels:  tracing, opentracing
java-concurrent
OpenTracing-aware helpers related to java.util.concurrent
Stars: ✭ 36 (-45.45%)
Mutual labels:  tracing, opentracing
nodejs
Node.js in-process collectors for Instana
Stars: ✭ 66 (+0%)
Mutual labels:  tracing, opentracing
envoy-proxy-demos
Set of Envoy Proxy feature demos (Envoy v2 API supported)
Stars: ✭ 63 (-4.55%)
Mutual labels:  tracing, jaeger
Java Spring Web
OpenTracing Spring Web instrumentation
Stars: ✭ 89 (+34.85%)
Mutual labels:  tracing, opentracing
Java Specialagent
Automatic instrumentation for 3rd-party libraries in Java applications with OpenTracing.
Stars: ✭ 156 (+136.36%)
Mutual labels:  tracing, opentracing
Trace4cats
Distributed app tracing implementation in pure scala using cats-effect
Stars: ✭ 80 (+21.21%)
Mutual labels:  tracing, opentracing
Dd Trace Js
JavaScript APM Tracer
Stars: ✭ 212 (+221.21%)
Mutual labels:  tracing, opentracing
Java Vertx Web
OpenTracing instrumentation for Vert.x web package
Stars: ✭ 21 (-68.18%)
Mutual labels:  tracing, opentracing
Jaeger Openshift
Support for deploying Jaeger into OpenShift
Stars: ✭ 53 (-19.7%)
Mutual labels:  tracing, opentracing
Instrumentedsql
A sql driver that will wrap any other driver and log/trace all its calls
Stars: ✭ 244 (+269.7%)
Mutual labels:  tracing, opentracing
Go-Clean-Architecture-REST-API
Golang Clean Architecture REST API example
Stars: ✭ 376 (+469.7%)
Mutual labels:  tracing, jaeger

jaeger-node

Build Status

Out of the box distributed tracing for Node.js applications.

WARNING: experimental library, do not use in production yet

This library is a higher level wrapper around opentracing-auto, that you should consider to use instead of this library.

Technologies

Requirements

  • Node.js, >= v8
  • Jaeger

Getting started

npm install @risingstack/jaeger
// must be in the first two lines of your application
const Tracer = require('@risingstack/jaeger')
const tracer = new Tracer({
  serviceName: 'my-server-2'
})

// rest of your code
const express = require('express')
// ...

To start Jaeger and visit it's dashboard:

docker run -d -p5775:5775/udp -p6831:6831/udp -p6832:6832/udp -p5778:5778 -p16686:16686 -p14268:14268 jaegertracing/all-in-one:latest && open http://localhost:16686

Example

The example require a running MongoDB.

npm run example
curl http://localhost:3000
open http://localhost:16686

Jaeger Node.js tracing

API

new Tracer(args)

Create a new Tracer and instrument modules.

  • args.serviceName: Name of your service
    • required
    • example: 'my-service-1'
  • args.sampler: Jaeger sampler, see sampler docs
    • optional
    • default: new jaeger.RateLimitingSampler(1)
  • args.reporter: Jaeger reporter, see reporter docs
    • optional
    • default: new jaeger.RemoteReporter(new UDPSender())
  • args.options: Jaeger options, see docs
    • optional
    • example: { tags: { gitHash: 'foobar' } }

Instrumentations

Check out opentracing-auto instrumentations.

EMSGSIZE and UDP buffer limits

Read more about it in the Client Libraries documentation.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].