DogStatsD декоратор JavaScript не отправляет статистику в datadog - PullRequest
0 голосов
/ 06 февраля 2019

Я пытаюсь использовать относительно новую функцию декораторов javascript для сбора метрик и отправки данных собаке.Моя реализация включает в себя счетчик, который украшает функцию и отправляет метрику счетчика в dogstatsd.Имя метрики будет добавлено после имени метода

const { StatsD } = require('hot-shots')

const client = new StatsD({
  port: process.env.DD_PORT,
  host: process.env.DD_HOST,
  prefix: 'metrics.root.',
  globalize: true,
  globalTags: {
    environment: process.env.NODE_ENV,
  },
})

function MethodCounter(target: object, key: string, descriptor: TypedPropertyDescriptor<any>) {
  const originalMethod = descriptor.value
  descriptor.value = function(...args: any[]) {
      const result = originalMethod.apply(this, args)
      client.increment(`${originalMethod}`)
      return result
  }
  return descriptor
}

Декоратор реализован в соответствии с рекомендациями этого вопроса о переполнении стека.Однако декоратор, похоже, не отправляет метрики, как ожидалось.Я что-то упускаю?

...