在我的expressjs应用中,每次有请求时,交易都会记录在New Relic上。但是,由于每个事务来自不同的用户,因此我想向该事务添加自定义属性(userId),以便知道请求来自哪个用户。
显示自定义属性的唯一方法是从事务跟踪>事务详细信息中。
但是,似乎只有多头交易才有痕迹。因此,我无法跟踪每个事务的userId。
我在做什么错?将自定义属性添加到每个交易中是一种好习惯吗?
这是我的node.js代码中的重要几行:
// beginning of the file
const newrelic = require('newrelic');
...
app.get('/blah', function(req, res, next) {
newrelic.addCustomAttribute('test', 28);
...
});
答案 0 :(得分:-1)
有关的NodeJS这将是最好的途径。由于Node分解数据(表达,中间件等)的方式,交易可能会有点...奇怪。
您可以做的(我已经做过的)是找到您关心的特定交易(时机缓慢等),并使用上面的代码对这些交易进行检验。然后添加一个newrelic.addCustomAttribute('ObjectName',Name);
开始调用userId。
相信“startWebTransaction”是打出来的功能呼叫的正确方法。但是检查文档(gooooooogle),您会找到示例。