Новая реликвия: как заменить createTracer на startSegment - PullRequest
1 голос
/ 10 июля 2019

У меня был метод createTracer () в коде, который мы использовали в старой новой реликтовой версии.

NR.createTracer("processThread", _ => this._initialize())();

Чтобы перенести новую реликвию на последнюю версию Новой реликвии, я заменил ее на метод startSegment () в соответствии с новым документом реликвии: https://github.com/newrelic/node-newrelic/blob/master/Migration%20Guide.md#upgrading-to-agent-v5

NR.startSegment("processThread", _ => this._initialize())();

Но сейчасмой код выдаёт мне эту ошибку:

TypeError: NR.startSegment(...) is not a function

Что я здесь не так делаю?

Я вижу, что аргументы были изменены в startSegment () и createTracer () https://newrelic.github.io/node-newrelic/docs/API.html#createTracer

1 Ответ

1 голос
/ 10 июля 2019

Как подсказывают документы , у вас есть обязательный (логический) второй параметр, который вы должны указать:

NR.startSegment('mySegment', false,  _ => this._initialize())();

record bool
Указывает, должен ли сегмент бытьзаписывается как метрика.Метрики будут отображаться в таблице разбивки транзакций и диаграмме разбивки сервера.Сегменты просто отображаются в следах транзакций.

И обратный вызов параметра теперь не является обязательным, вы должны использовать третий параметр обработчик для обратного вызова

Для обработки отдельныхобратные вызовы, вызовите startSegment () внутри обратного вызова и переместите основную логику обратного вызова в функцию-обработчик.

...