Nostalgic Pizza Manager

    @fastify/diagnostics-channel
    TypeScript icon, indicating that this package has built-in type declarations

    4.0.1 • Public • Published

    @fastify/diagnostics-channel

    CI NPM version js-standard-style

    Install

    npm i @fastify/diagnostics-channel --save

    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('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 inclued 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 at every response sent by server, it propagates an object containing: request object and reply object

    const dc = require('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 some error is throw on the lifecycle of Fastify.

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

    const dc = require('diagnostics_channel')
    const onError = dc.channel('fastify.onError')
    
    onError.subscribe((data) => {
      data.request
      data.reply
      data.error // error object throwed
    })

    onTimeout Channel

    Channel: fastify.onTimeout

    This event is sent when a request spent 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 the Fastify does not limit the request time.

    const dc = require('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('diagnostics_channel')
    const onRequest = dc.channel('fastify.onRequest')
    
    onRequest.subscribe((data) => {
      data.request
      data.reply
    })

    License

    Licensed under MIT.

    Install

    npm i @fastify/diagnostics-channel

    DownloadsWeekly Downloads

    4

    Version

    4.0.1

    License

    MIT

    Unpacked Size

    15.6 kB

    Total Files

    13

    Last publish

    Collaborators

    • simenb
    • coopflow
    • simoneb
    • rafaelgss
    • starptech
    • delvedor
    • matteo.collina
    • allevo
    • jsumners
    • zekth
    • ethan_arrowood
    • eomm
    • fox1t
    • davidmarkclements
    • airhorns
    • kibertoad
    • climba03003
    • is2ei
    • fdawgs