Posted at

AdonisJs でレスポンスタイムを計測する


環境


  • Node.js v10

  • AdonisJs v4.1


計測する

計測用のミドルウェアを作成する。

$ adonis make:middleware LogRequest

ミドルウェアを登録しておく。


start/kernel.js

const serverMiddleware = [

'App/Middleware/LogRequest'
]

以下のモジュールが必要なのでインストールしておく。

$ npm i on-finished

ミドルウェアの中身を書く。


App/Middleware/LogRequest.js

const onFinished = require('on-finished')

class LogRequest {
async handle ({ request, response }) {
const start = process.hrtime()
onFinished(response.response, function () {
const end = process.hrtime(start)
const diff = ((end[0] * 1e9) + end[1]) / 1e6
console.log(diff)
})
}
}


実行する。


参考

Measuring request time - Help / Http Lifecycle - Forum - AdonisJS Framework