New Relicをnode.jsサーバ1台だけに入れる方法

node.jsのパフォーマンス監視のため、New Relicを導入する際に

全サーバに入れたくない場合の方法。

Javaであれば、New Relicのjarファイルをコピーしなければいいだけなのですが、

node.jsの場合はソースコードに直接下記のように記載しなければいけないため、

New Relicのnode-moduleが存在しないサーバではエラーになってしまいます。

また、存在している場合はNew Relicが読み込まれてしまいます。

var nr = require('newrelic');

リリース時にソースコードを書き換えるのも嫌だったので、下記のように、
node-moduleが存在する場合のみ、読み込むようにした結果、
1台だけにNew Relicを適用することができました。
もちろんNew Relicを適用したくないサーバでは、node-moduleをインストールしては駄目です。

try {
  var nr = require('newrelic');
  console.log('load New Relic');
} catch (ex) {
  console.log('skip New Relic');
  var nr;
}