X-Response-Time header at each request for Fastify. The unit used is milliseconds.
Server-Timing header, that could be used to pass timing server to client (useful to debug).
You could find some documentation at W3C Server-Timing documentation.
You need to use Fastify version 0.31 or newer, the hook used (onSend) was added in this version
If you need older Fastify version, use version 1.0.1 of this plugin
npm install --save fastify-response-time
Add it to you project with
register and you are done!
// Register the pluginfastify;// Define a new route in hapijs notationfastify;// Define a new route in express notationfastify;// Add server timing informationfastify;
Both examples responds with:
< HTTP/1.1 200 OK < Content-Type: application/json < Content-Length: 17 < X-Response-Time: 0.08 < Date: Fri, 15 Sep 2017 21:14:33 GMT < Connection: keep-alive <
This plugin allow you to specify options:
headercan be used to change default header name to something else (
digitsto specify the number of digits in the response (
2by default, so 1.03)
reply.setServerTiming( name , duration , description ) => boolean
name: [mandatory] the name of the measure, and must be unique. Any already existing value will not be replaced
duration: [optional] the duration, that must be an integer or float. If not needed, pass
description: [optional] the description is needed. It must be a string
trueif the measure is added the the list that will be send with the request,
falseis the name already exists
The response will be:
< HTTP/1.1 200 OK < Content-Type: application/json < Content-Length: 17 < X-Response-Time: 0.08 < Server-Timing: cache;dur=5.3;desc="Cache read" < Date: Fri, 15 Sep 2017 21:14:33 GMT < Connection: keep-alive <