0
我有一個使用node.js,koa,koa-router的應用程序。 我想添加newrelic到我的應用程序,但它不支持koa。如何在節點上配置newrelic + koa應用程序
所以我試圖利用koa-newrelic(https://github.com/AfterShip/koa-newrelic),但它仍然無法正常工作。
我仍然得到/*
所有交易。
誰有這方面的經驗?
我有一個使用node.js,koa,koa-router的應用程序。 我想添加newrelic到我的應用程序,但它不支持koa。如何在節點上配置newrelic + koa應用程序
所以我試圖利用koa-newrelic(https://github.com/AfterShip/koa-newrelic),但它仍然無法正常工作。
我仍然得到/*
所有交易。
誰有這方面的經驗?
我的同事幫助我解決這個問題。
的解決方案是低於
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
舍利你試過KOA-或NewRelic的KOA -router-NewRelic的? –
是的,但它在那個時候不起作用。我不確定它現在是否有效。 –