Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
let host = 'localhost';
let port = 6832;
const jaegerAddr = process.env.JAEGER_SERVICE_ADDR;
if (jaegerAddr) {
[host, port] = jaegerAddr.split(':', 2);
}
const jaegerOptions = {
serviceName: service,
host: host,
port: Number(port),
bufferTimeout: 10
};
// 2. Configure exporter to export traces to Jaeger.
const exporter = new jaeger.JaegerTraceExporter(jaegerOptions);
tracer.registerSpanEventListener(exporter);
}
);
}
// Configure opencensus for jaeger
const agentEndpoint = process.env.JAEGER_AGENT_ENDPOINT;
const [agentHost, agentPort] = agentEndpoint
? agentEndpoint.split(':')
: ['', ''];
const jaegerOptions = {
serviceName: process.env.TELEMETRY_TRACE_SERVICE || 'front',
host: agentHost,
port: agentPort,
tags: [{key: 'opencensus-exporter-jaeger', value: '0.0.22'}],
bufferTimeout: 10000, // time in milliseconds
logger,
};
jaegerExporter = new JaegerTraceExporter(jaegerOptions);
if (process.env.JAEGER_COLLECTOR_ENDPOINT) {
// This is a hack for when using JAEGER_COLLECTOR_ENDPOINT, because
// otherwise it uses UDPSender. This will be updated as soon as the
// opencensus library upgrades jaeger-client
const HTTPSender = require('jaeger-client/dist/src/reporters/http_sender')
.default;
jaegerExporter.sender = new HTTPSender({
...jaegerOptions,
endpoint: process.env.JAEGER_COLLECTOR_ENDPOINT,
});
jaegerExporter.sender.setProcess(jaegerExporter.process);
}
}
tracing.start({
// Start of OpenCensus setup ----------------------------------------------------------------------------
const opencensus = require('@opencensus/core')
const tracing = require('@opencensus/nodejs')
const propagation = require('@opencensus/propagation-b3')
const b3 = new propagation.B3Format()
// Set up jaeger
const jaeger = require('@opencensus/exporter-jaeger')
const jaeger_host = process.env.JAEGER_HOST || 'localhost'
const jaeger_port = process.env.JAEGER_PORT || '6832'
const exporter = new jaeger.JaegerTraceExporter({
host: jaeger_host,
port: jaeger_port,
serviceName: service_name,
});
tracing.start({
propagation: b3,
samplingRate: 1.0,
exporter: exporter
});
// Set up Prometheus
const prometheus = require('@opencensus/exporter-prometheus');
const prometheusExporter = new prometheus.PrometheusStatsExporter({
import bodyParser from 'body-parser'
import cors from 'cors'
import express from 'express'
import tracing from '@opencensus/nodejs'
import { JaegerTraceExporter } from '@opencensus/exporter-jaeger'
import { ApolloServer } from 'apollo-server-express'
import { typeDefs } from './graphql/typeDefinitions'
import { resolvers } from './graphql/resolvers'
const env = process.env.NODE_ENV || 'development'
const config = require('../config/config')[env]
const exporter = new JaegerTraceExporter(config.jaeger)
if (env != 'test') {
tracing.start({ exporter: exporter })
}
const app = express()
const server = new ApolloServer({
typeDefs,
resolvers,
})
server.applyMiddleware({ app })
let transactionRouter = require('./routes/transaction')
let lockRouter = require('./routes/lock')
let blockRouter = require('./routes/block')
if (reqIdValue) {
span.addAttribute(baggagePublicReqId.replace('vdmctx-', ''), reqIdValue);
}
}
}
}
},
https: '@opencensus/instrumentation-https',
grpc: ''
};
this._configs = {
logLevel: 0,
bufferTimeout: 3000,
bufferSize: 30000,
exporter: new JaegerTraceExporter(exporterOptions),
propagation: new SimpleFormat(),
plugins: Object.assign(pluginConfigs, pluginOptions)
};
}