@jpinho/lambda-server-timing
TypeScript icon, indicating that this package has built-in type declarations

0.1.0 • Public • Published

Lambda Server-Timing Middleware

Enables Lambdas to return responses with Server-Timing Header allowing to to pass request-specific timings from the backend to the browser.

Allows a server to communicate performance metrics about the request-response cycle to the user agent. It also standardizes a JavaScript interface to enable applications to collect, process, and act on these metrics to optimize application delivery.

banner

Install

$ npm install lambda-server-timing

Usage

// within a lambda context
withServerTimings({ enabled: true })

// when you just want to capture the Server-Timing header value for your own usage purpose
getServerTimings()

This will attach a Server-Timing header to your response headers with the timings recorded for requests.

The header looks like:

HTTP/1.1 200 OK

Server-Timing: db;dur=53, app;dur=47.2

And once succesfully returned as a response header, it is shown in the Timings tab under Networks in the Chrome Devtools. The visual example of it looks like:

Visual Server-Timing header

This now enables developers to look throught the performance problems of their apps for not just the frontend and but also the backend.

The package also exposes the timer methods startTime and endTime so you can measure your methods on a regular basis and improve accordingly.

Usage - startTime/endTime

startTime('abbr', "getAbbreviatedResponse");

getAbbreviatedResponse({
   ...
});

endTime('abbr');

Package Sidebar

Install

npm i @jpinho/lambda-server-timing

Weekly Downloads

0

Version

0.1.0

License

MIT

Unpacked Size

23.2 kB

Total Files

21

Last publish

Collaborators

  • jpinho