private JaegerTracer createJaegerTracer(String serviceName) {
Sender sender;
if (config.getSender().equalsIgnoreCase("udp")) {
sender = new UdpSender(
config.getJaegerAgentHost(),
config.getJaegerAgentPort(),
config.getJaegerMaxPocketSize());
logger.info("Using UDP sender, sending to: {}:{}",
config.getJaegerAgentHost(), config.getJaegerAgentPort());
} else {
// use the collector
String certificatesTrustStorePath = "/Library/Java/JavaVirtualMachines/************/Contents/lib/security/cacerts";
System.setProperty("javax.net.ssl.trustStore", certificatesTrustStorePath);
String httpEndpoint = "http://" + config.getJaegerCollectorHost() + ":" + config.getJaegerCollectorPort()
+ "/api/traces";
logger.info("Using HTTP sender, sending to endpoint: {}", httpEndpoint);
sender = new HttpSender.Builder(httpEndpoint).build();
}
config.getJaegerMaxQueueSize());
RemoteReporter reporter = new RemoteReporter.Builder()
.withSender(sender)
.withMaxQueueSize(config.getJaegerMaxQueueSize())
.withFlushInterval(config.getJaegerFlushInterval())
.build();
return new JaegerTracer.Builder(serviceName)
.withReporter(reporter)
.withSampler(new ConstSampler(true))
.build();
}