如何在我的Meteor应用程序中使用NewRelic?

Vla*_*dev 9 meteor

我正在Heroku上托管我的Meteor应用程序,并希望拥有更多的监控功能而不是heroku logs --tail.NewRelic可能是一个不错的选择,尽管它的node.js代理仍处于测试阶段.有没有人试图将它与Meteor应用程序一起使用?

Set*_*aki 6

下面提供旧答案.

2014年更新:

截至撰写时的流星版:0.9.4.甜.几乎是1.0!

好吧我决定编辑它,因为它现在仍然过时了.

由于流星0.7+或周围(记不太清了),要求-ING流星已久的改变__meteor_bootstrap__.require,以Npm.require

var require = Npm.require; var newrelic = require('newrelic');

这遵循智能包模式中Npm.在这里阅读更多相关信息

懒人的摘录(谢谢,Meteorpedia!):

NPM采用智能包装

  1. 在你的package.js,添加如下的子句:

    Npm.depends({"walk":"2.2.1"});

  2. 使用Npm.require而不是要求,例如

    var http = Npm.require('http');

但严肃的是,在meteorpedia上阅读整篇文章.值得你的时间.

或者,您也可以使用arunoda优秀的NPM智能套装.看看这里!https://github.com/meteorhacks/npm

老答案:

本指南中获取,您应该能够像任何其他npm模块一样安装newrelic代理.在你的meteor项目文件夹中:

$ cd .meteor/local/build/server
$ npm install newrelic
Run Code Online (Sandbox Code Playgroud)

现在,您可以通过require以下方式使用它:

var require = __meteor_bootstrap__.require;
var newrelic = require('newrelic');
Run Code Online (Sandbox Code Playgroud)

然后,按照此处的指定配置代理:https://github.com/newrelic/node-newrelic/#configuring-the-agent

如果您需要使用该指南中指定的env变量,请运行meteor带有env变量集的命令,例如:

$ NEW_RELIC_APP_NAME=mynodeapp meteor 
Run Code Online (Sandbox Code Playgroud)

那应该是它,但我还没有真正广泛使用它,因为我还没有找到任何理由这样做.让我们知道你得到了什么!