0

Was trying to connect to jaeger using HTTP request using nodejs but the spans are not reaching the jaeger endpoint. please help with this code snippet.,

var initTracer = require('jaeger-client').initTracer;

var config = {
  'serviceName': 'servicename1',
  'reporter': {
    'collectorEndpoint': 'http://jaeger-collector:14268/api/traces',
  }
};
var options = {
  tags: {
    'servicename1': '1.0'
  }
};
var tracer = initTracer(config, options);

var express = require('express');
var app = express();
var http = require('http');
var server = http.createServer(app);

app.get('/', (req, res) => {
    const span = tracer.startSpan('http_request');
    res.send('Hello Jaeger');
    span.log({'event': 'request_end'});
    span.finish();
});

app.get('/', function(req, res) {
    res.send("Hello World!");
});

server.listen(3000);
console.log('Express server started on port %s', server.address().port);

Any help would be much appreciated!

Rajkumar Cj
  • 13
  • 1
  • 6

1 Answers1

0

Got it! We need to enable sampling strategy to reach the collector endpoint.

var initTracer = require('jaeger-client').initTracer;

var config = {
  'serviceName': 'Jaeger_Service',
  'reporter': {
    'collectorEndpoint': 'http://jaeger-collector:14268/api/traces',
  },
  'sampler': {
    'type': 'const',
    'param' : 0.1  
  }
};

var options = {
  'logger': {
'info': function logInfo(msg) {
  console.log('INFO ', msg)
},
'error': function logError(msg) {
  console.log('ERROR', msg)
  }
 }
};

var tracer = initTracer(config, options);
var express = require('express');
var app = express();
var http = require('http');
var server = http.createServer(app);

app.get('/', (req, res) => {
    const span = tracer.startSpan('http_request');
    res.send('Hello Jaeger');
    span.log({'event': 'request_end'});
    span.finish();
});

server.listen(8000);
console.log('Express server started on port %s', server.address().port);
Rajkumar Cj
  • 13
  • 1
  • 6