@wiredcraft/health-checks

2.2.2 • Public • Published

@wiredcraft/health-checks

A generic health checker.

Usage

const { HealthChecker, HealthStatus } = require('@wiredcraft/health-checks');
const healthChecker = new HealthChecker();
healthChecker.addCheck(async () => {
    if (Math.random() > 0.5) {
        throw new Error('RandomFailure');
    }
}, 'db', HealthStatus.Unhealthy.name, ['default', 'all']);
healthChecker.addCheck(async () => {
    if (Math.random() > 0.5) {
        throw new Error('RandomFailure');
    }
}, 'external-service', HealthStatus.Degraded.name, ['all']);

// By default, it will filter checks which includes 'default' tag
const res = await healthChecker.getStatus();
// res will be something like 
// {
//     "status": "unhealthy",
//     "checks": [
//         {
//             "name": "db",
//             "state": "unhealthy",
//             "data": {
//                 "reason": "RandomFailure"
//             }
//         }
//     ]
// }

// You can use other tag to filter the checks
const res = await healthChecker.getStatus('all');
// res will be something like 
// {
//     "status": "degraded",
//     "checks": [
//         {
//             "name": "db",
//             "state": "healthy",
//             "data": {
//                 "reason": ""
//             }
//         },
//         {
//             "name": "external-service",
//             "state": "degraded",
//             "data": {
//                 "reason": "RandomFailure"
//             }
//         }
//     ]
// }

For more details, see scenarios in test cases.

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 2.2.2
    21
    • latest

Version History

  • Version
    Downloads (Last 7 Days)
    • Published
  • 2.2.2
    21
  • 2.2.1
    0
  • 2.2.0
    0
  • 2.1.2
    0

Package Sidebar

Install

npm i @wiredcraft/health-checks

Weekly Downloads

21

Version

2.2.2

License

MIT

Unpacked Size

5.85 kB

Total Files

7

Last publish

Collaborators

  • agreatfool
  • stefan1105
  • apexblade
  • miffyliye
  • dejandoder
  • linrz
  • koknikol
  • eronekogin
  • aleksandar5595
  • shuaibird
  • dmwc
  • kunlun8809
  • draganmijajilovic
  • wiredcraft-bot
  • xavierchow
  • kaleocheng
  • flyingant
  • superbogy
  • lalawow
  • juhas