NodeJS的新Relic自定义检测

时间:2019-03-15 17:25:11

标签: javascript node.js newrelic

在此方面,我将不胜感激。

我正在使用带有自定义工具的NodeJS进行新Relic Web事务跟踪。

我当前的代码实现是这样:

    exports.retrieve = function (req, res) {

        let lockedData = {};
        header.setHeaders(res);

        newrelic.startSegment('service.isItemActive()', true, () => {
          return service.isItemActive(req.params.worklistItemId)
        }).then(() => {
             newrelic.startSegment('service.checkItemLock()', true, () => {
              return service.checkItemLock(req.params.worklistItemId, req.query.email)
            }).then((_lockedData) => {
              lockedData = _lockedData;
              newrelic.startSegment('PDFService.getPDFReport()', true, () => {
                return PDFService.getPDFReport(req.params.worklistItemId, req.query.email, 'preview')
              }).then(function(result){
                const data = {
                  pdf: result.pdf,
                  lockedData: lockedData,
                  queueId: result.queueId,
                  onHold: result.onHold,
                  pdfLoad: result.pdfLoad
                };
                return res.status(200).send(data);
              })
            })
          })

};

但是在New Relic仪表板中,我只能看到记录的第一段

  

service.isItemActive()

NR仪表板中都不会显示service.checkItemLock()和PDFService.getPDFReport()。我试图将所有方法包装在Web事务中,但仍然只能看到记录的第一段。

谢谢

0 个答案:

没有答案