Tag: newrelic

TypeError:msecs必须是正在运行的应用程序中的数字

昨天,我在高峰时间遇到了所有API服务器的奇怪问题。 有下面提到的间歇性错误。 我正在使用该应用程序使用多个第三方服务。 与应用程序一起使用的一些服务是newrelic,airbrake,推等 堆栈: Node v0.12.2 pm2 2.4.5 request module: 2.81.0 错误: Uncaught TypeError: msecs must be a number at Object.exports.enroll (timers.js:156:11) at Socket.setTimeout (net.js:329:12) at ClientRequest.<anonymous> (_http_client.js:558:10) at ClientRequest.g (events.js:199:16) at ClientRequest.emit (events.js:129:20) at tickOnSocket (_http_client.js:486:7) at _http_client.js:497:7 at process._tickCallback (node.js:355:11) Errors in airbrake: Error: msecs must be a number timers.js:156 in Object.exports.enroll […]

在NodeJS中使用New Relic检测进程崩溃

如何获得New Relic来logging使用New Relic应用程序监视造成进程崩溃的错误? 我试图完成的关键事情是有过程中仍然会logging的 错误,以及在仪表板上过滤这些错误的一些方法。 这是我迄今为止的理解: New Relic每分钟都会将数据传输到云端。 如果发生uncaughtException ,这将导致当前等待传输的所有数据都将丢失。 有一个newrelic.noticeError()这应该采取第二个参数,让您传递一个错误的自定义参数。 新文物获取错误,但不是自定义参数。 简单的例子: var newrelic = require("newrelic"); var express = require("express"); var app = express(); app.get("/softFail/", function(req, res) { res.send(500, "softFail"); }); app.get("/hardFail/", function(req, res) { setImmediate(function() { throw new Error("I failed"); }); }); app.listen(80); process.on("uncaughtException", function(err) { console.error("Uncaught Exception"); console.error(err.stack); newrelic.addCustomParameter("crash", "true"); newrelic.noticeError(err); console.log("sending […]

MongoDB与未知的findOne方法造成大的延迟 – New Relic

我设置newrelic更好地了解我的应用程序有什么瓶颈,我发现一个问题,我似乎无法弄清楚。 我的延迟大部分是由mongoDB user.fineOne引起的,但主要的问题是,我似乎无法find代码中发生的地方。 在下面的图片中,您可以看到我的API调用get/all/proposal结束点的跟踪详细信息。 前14个方法调用是我的server.js中的中间件,之后它是一个中间件:在MongoDB用户findOne中进行 身份validation,在那里是延迟。 获取/所有/build议的代码: app.get('/all/proposals',isLoggedIn,function(req, res) { Proposal.find().sort({proposalNo: -1}).limit(5).exec(function(err,proposal){ if(err){ console.log(err); }else{ console.log("All Proposals " + proposal); res.json(proposal); } }); }); 现在在任何时候,我都可以看到我在get/all/proposals上在MongoDB上运行User.findOne调用 。 最初我以为是isLoggedIn中间件,我检查用户是否在会话(Passport.js),但正如你所看到的isLoggedIn Middleware只需要0.0222(毫秒)。 同样的问题出现在多个API端点上,即get/caseStudy和它总是user.findOne另一个例子如下: 谁能帮我解决这个问题吗? 请让我知道,如果你需要更多的细节,我猜你会。 更新: Server.js代码 // set up ====================================================================== require('newrelic'); var express = require('express'); var app = express(); // create our app w/ express var server = […]