UNPKG

@pionerlabs/grpc-interceptors

Version:

This library provides a way to instrument Node.js gRPC clients and servers with interceptors/middleware e.g. for Prometheus metrics, Zipkin tracing etc.

25 lines (21 loc) 570 B
const { HttpLogger } = require('zipkin-transport-http'); const { Tracer, BatchRecorder, ExplicitContext } = require('zipkin'); module.exports = localServiceName => { let recorder; if (process.env.ZIPKIN_URL) { recorder = new BatchRecorder({ logger: new HttpLogger({ endpoint: process.env.ZIPKIN_URL, }), }); } else { recorder = { record() {}, }; } return new Tracer({ ctxImpl: new ExplicitContext(), recorder, localServiceName, }); };