2016-08-11 46 views
0

我有一個使用node.js,koa,koa-router的應用程序。 我想添加newrelic到我的應用程序,但它不支持koa。如何在節點上配置newrelic + koa應用程序

所以我試圖利用koa-newrelic(https://github.com/AfterShip/koa-newrelic),但它仍然無法正常工作。

我仍然得到/*所有交易。

誰有這方面的經驗?

+0

舍利你試過KOA-或NewRelic的KOA -router-NewRelic的? –

+0

是的,但它在那個時候不起作用。我不確定它現在是否有效。 –

回答

1

我的同事幫助我解決這個問題。

的解決方案是低於

1.declare定製興亞新來的

//****************** myKoaNewRelic.js ***************** 
'use strict' 

module.exports = function monitor(router, newrelic) { 
    return function* monitor(next) { 
    const route = this.params[0] 
    for (const layer of router.stack) { 
     if (layer.path !== '(.*)') { 
     const method = (layer.methods.indexOf('HEAD') !== -1) ? layer.methods[1] : layer.methods[0] 
     if (route.match(layer.regexp) && method === this.request.method) { 
      newrelic.setControllerName(layer.path, method) 
     } 
     } 
    } 
    yield next 
    } 
} 

2.更新主要index.js這樣

//****************** index.js ***************** 
'use strict'  

const newrelic = require('newrelic') 
const koaNewrelic = require('./myKoaNewRelic') 
const app = require('koa')() 
const router = require('koa-router')() 

router.use(koaNewrelic(router, newrelic)) 

// DO SOME STUFF 
相關問題