This library will wrap the got client.
const {Tracer} = require('zipkin');
const got = require('got');
const wrapGot = require('zipkin-instrumentation-got');
const tracer = new Tracer({ctxImpl, recorder}); // configure your tracer properly here
const zipkinGot = wrapGot(got, {tracer, remoteServiceName: 'todomvc'});
// Your application code here
zipkinGot('todomvc.com')
.then(response => {
console.log(response.body);
//=> '<!doctype html> ...'
})
.catch(error => {
console.log(error.response.body);
//=> 'Internal server error ...'
});
// Streams
zipkinGot.stream('todomvc.com').pipe(fs.createWriteStream('index.html'));
// For POST, PUT and PATCH methods got.stream returns a WritableStream
fs.createReadStream('index.html').pipe(zipkinGot.stream.post('todomvc.com'));