5.0.1 • Published 10 months ago

@fastify/diagnostics-channel v5.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
10 months ago

Note This package has been deprecated; diagnostics_channel is now built into Fastify v5.

@fastify/diagnostics-channel

CI NPM version neostandard javascript style

Install

npm i @fastify/diagnostics-channel

Compatibility

Plugin versionFastify version
^5.x^5.x
^4.x^4.x
^1.x^3.x

Please note that if a Fastify version is out of support, then so are the corresponding versions of this plugin in the table above. See Fastify's LTS policy for more details.

Usage

Register as a plugin. This will add some hooks that provide information through diagnostics_channel

const fastify = require('fastify')()

fastify.register(require('@fastify/diagnostics-channel'), {})

Note: check examples/ to further information

What information is provided?

  1. onRoute Channel
  2. onResponse Channel
  3. onError Channel
  4. onTimeout Channel
  5. onRequest Channel

The channels are prefixed by: fastify.{HOOK_NAME}

onRoute Channel

Channel: fastify.onRoute

This event is sent at every route registered passing a routeOptions object

const dc = require('node:diagnostics_channel')
const onRoute = dc.channel('fastify.onRoute')

onRoute.subscribe((routeOptions) => {
  routeOptions.method
  routeOptions.schema
  routeOptions.url // the complete URL of the route, it will include the prefix if any
  routeOptions.path // `url` alias
  routeOptions.routePath // the URL of the route without the prefix
  routeOptions.bodyLimit
  routeOptions.logLevel
  routeOptions.logSerializers
  routeOptions.prefix
})

onResponse Channel

Channel: fastify.onResponse

This event is sent on every response sent by the server, it propagates an object containing: request object and reply object

const dc = require('node:diagnostics_channel')
const onResponse = dc.channel('fastify.onResponse')

onResponse.subscribe((data) => {
  data.request
  data.reply
})

onError Channel

Channel: fastify.onError

This event is sent when an error is thrown during the Fastify lifecycle.

The message data is an object containing a request object, reply object, and Error object

const dc = require('node:diagnostics_channel')
const onError = dc.channel('fastify.onError')

onError.subscribe((data) => {
  data.request
  data.reply
  data.error // error object thrown
})

onTimeout Channel

Channel: fastify.onTimeout

This event is sent when a request spends more time than connectionTimeout specifies. For further information about connectionTimeout check the Fastify documentation.

The message data is an object containing a request object, reply object, and connectionTimeout value

Note: by default Fastify does not limit the request time.

const dc = require('node:diagnostics_channel')
const onTimeout = dc.channel('fastify.onTimeout')

onTimeout.subscribe((data) => {
  data.connectionTimeout
  data.reply
  data.request
})

onRequest Channel

Channel: fastify.onRequest

This event is sent when a request is received; the message data is an object containing a request object and reply object

const dc = require('node:diagnostics_channel')
const onRequest = dc.channel('fastify.onRequest')

onRequest.subscribe((data) => {
  data.request
  data.reply
})

License

Licensed under MIT.

5.0.1

10 months ago

5.0.0

1 year ago

5.0.0-pre.fv5.2

1 year ago

5.0.0-pre.fv5.3

1 year ago

5.0.0-pre.fv5.1

1 year ago

4.2.0

2 years ago

4.1.0

3 years ago

4.0.1

3 years ago

4.0.0

3 years ago

3.0.0

3 years ago

2.0.0

3 years ago