@skbkontur/span-aggregator-clientdeprecated

Клиет для спанагрегатора

Usage no npm install needed!

<script type="module">
  import skbkonturSpanAggregatorClient from 'https://cdn.skypack.dev/@skbkontur/span-aggregator-client';
</script>

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