express-zipkin

0.1.3 • Public • Published

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.


Initialize the Zipkin Tracing Client

   var zipkin = require("node-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("node-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);
   };

Package Sidebar

Install

npm i express-zipkin

Weekly Downloads

0

Version

0.1.3

License

BSD

Last publish

Collaborators

  • eodgooch