koa-newrelic
Koa middleware to allow Newrelic monitor Koa applications like Express. Supported features:
- Name transactions according to router (Only support
koa-router
) - Group and name transactions for static resources according to file extensions
- Traces for Koa middlewares
- Traces ctx.render
koa 1.x
See koa-newrelic 1.x for koa 1.x support.
Installation
npm install koa-newrelic
API
const newrelic = ;const koaNewrelic = newrelic opts;const Koa = ;const Router = ;const views = ; const app = ;const router = ; router; app ; // use views middleware could help instrument ctx.render method ;
To record traces of middlewares, please initialize koa-newrelic before adding any middlewares to app
or router
Options
middlewareTrace
Boolean for if need traces for each middleware. Defaults tofalse
groupStaticResources
Boolean for if need to group transactions by file extension. Defaults tofalse
staticExtensions
Array of file extensions will be grouped ifgroupStaticResources
is true. Defaults to['svg','png','jpg','gif','css','js','html']
customTransactionName
Function to customize transaction metrics name bymethod
and routepath
. Defaults to(method, path) => 'Koajs/' + (path[0] === '/' ? path.slice(1) : path) + '#' + method
renderMethodName
name of render method for the framework. Default torender
Examples
const koaNewrelic = newrelic renderMethodName: 'render' middlewareTrace: true groupStaticResources: true staticExtensions: 'js' 'css' `Koajs/#`; router;router; app ; ; /* In Newrelic, you will find following transactions /index#GET Middleware serve Middleware dispatch Middleware ctrA /login#POST Middleware serve Middleware dispatch Middleware ctrB /*.js#GET Middleware serve /*.css#GET Middleware serve */
Test
npm test
Known Issues
License
Copyright (c) 2017 AfterShip
Licensed under the MIT license.