liangfei / express-zipkin

An Express flavored Zipkin Client. A simple way to add zipkin tracing to your express apps.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

express-zipkin: Express based NodeJS Zipkin Tracer Client

Build Status

Zipkin is a Distributed Tracing system developed by Twitter. The aim of this project is to allow Express Developers an easy way to mix in zipkin tracing to their apps.


Install via npm

npm install express-zipkin

Initialize the Zipkin Tracing Client

   var zipkin = require("express-zipkin");

   // initialize zipkin when you start the server
   zipkin.start({
     scribeClientAddress: "localhost"
     , scribeClientPort: 1463
     , rpcName: "serverName"
     , scribeStoreName: "zipkin"
     , maxTraces: 50
     , serverAddress: "server ip address"
     , serverPort: 80
   });

Initialize the Zipkin Tracing Client for local debugging with no scribe client

   var zipkin = require("express-zipkin");

   // initialize zipkin when you start the server
   zipkin.start({
     rpcName: "serverName"
     , maxTraces: 50
     , serverAddress: "server ip address"
     , serverPort: 80
     , withDebugTracer: true // set this for local testing to see trace information in the console
     , localTesting: true // set this so local development doesn't need a scribe client
   });

Add the zipkin tracing to your routes

   var zipkin = require("express-zipkin");

   app.all("*", zipkin.trace);

Trace requests to clients

   var zipkin = require("express-zipkin");

   function (request, response, next) {
     var clientRequest = ...;
     ...;
     clientRequest.headers = zipkin.toHeaders(request, clientRequest.headers);
   };

Trace a DB call

   var zipkin = require("express-zipkin");

   function (request, response, next) {
     var redisClient = ...;
     zipkin.traceService(request, response, "redis", function(){ redisClient.get("myKey") }, next);
   };

About

An Express flavored Zipkin Client. A simple way to add zipkin tracing to your express apps.


Languages

Language:JavaScript 97.9%Language:Shell 2.1%