README
Клиент для формирования трассировок
Для того чтобы добавить в приложение отправку серверных спанов необходимо добавить middleware из примера ниже в поток выполнения.
const SpanAggregatorClient = require('@skbkontur/span-aggregator-client')
const Span = require('@skbkontur/span-aggregator-client/lib/Span')
const spanAggregatorClient = new SpanAggregatorClient({
// hostname?: string,
// port?: number,
// path?: string,
// clientIdentity?: string,
// clientHost?: string
})
const { HEADERS } = Span
app.use(async function trace({ state, request }, next) {
const spanId = request.headers[HEADERS.spanId]
const parentSpanId = request.headers[HEADERS.parentSpanId]
const traceId = request.headers[HEADERS.traceId]
const span = new Span({ spanId, parentSpanId, traceId })
state.span = span
await next()
spanAggregatorClient.send(span.close())
})
Настройки по умолчанию для клиента
hostname: 'vm-ke-dtrace1.dev.kontur.ru',
port: 30001,
path: '/spanaggr/saveSpans',
clientHost: '10.34.0.122',
clientIdentity: 'SpanAggrNodeClient'
Для того чтобы отправлять клиентские спаны необходимо передать инстанс клиента в конструктор @skbkontur/cluster-client