Coder Social home page Coder Social logo

qpp-shared-healthcheck-node's Introduction

QPP Health Check Endpoint

Build npm version

This is the common QPP health check endpoint that is used by QPP services to make basic determinations if the service is up or down.

Dependencies

  • This route requires the Express framework.
  • Node versions tested: 10.x, 12.x

Adding to your project

npm install qpp-shared-healthcheck-node

Testing locally

You may need to add node.js to your local environment in order to install the dependencies.
After running npm install on a freshly cloned project, run npm test to kick off the test suite.
If any errors are found after running the tests on a newly cloned repo, please open an issue on the github repo page immediately and include the version of Node that is used during runtime.

Using

Once the package has been installed, you can load the route into wherever routes are handled in your application.

Basic usage could be as follows:

const express = require('express');
const app = express();
const router = express.Router();

const sharedHealthcheck = require('qpp-shared-healthcheck-node');
const healthcheck = sharedHealthcheck.create();

app.use(healthcheck);
app.listen(3000);

You can enable an RSS check to return 503s when memory usage crosses a configured threshold:

const healthcheck = sharedHealthcheck.create({
  // Limit process to 1.4GB
  maxRssBytes: 1400000000
});

app.use(healthcheck);

You can return a custom 200 message by passing an object with the okMessage property:

const healthcheck = sharedHealthcheck.create({
  okMessage: {
    versions: {
      customModule: 'v1.0.0'
    },
    status: 'ok'
  }
});

app.use(healthcheck);

Response body:

{"versions":{"customModule":"v1.0.0"},"status":"ok"}

Once the application is running, you can hit the endpoint at /health. In this case with our simple application above, we would start the application and navigate to localhost:3000/health and expect to see some results.

Want to Contribute?

Want to file a bug or contribute some code? Read up on our guidelines for contributing.

Public Domain

This project is in the public domain within the United States, and copyright and related rights in the work worldwide are waived through the CC0 1.0 Universal public domain dedication.

All contributions to this project will be released under the CC0 dedication. By submitting a pull request, you are agreeing to comply with this waiver of copyright interest.

See the formal LICENSE file.

qpp-shared-healthcheck-node's People

Contributors

bijujoseph avatar cmsuser1 avatar

Stargazers

Nick Fn Blum avatar

Watchers

Daniel Naab avatar Andrew Yochum avatar James Cloos avatar Scott Fradkin avatar Clyde Tedrick avatar Scott Hasse avatar Phil Russo avatar  avatar  avatar Ketan Patel avatar Yevgen Voskoley avatar Bob Amos avatar webster5361 avatar Kyle Apfel avatar Chetan Munegowda avatar  avatar Nicholas Gates avatar Victorino Villegas avatar Joel Miller avatar Subba Dulam avatar Tom Willis avatar Joshua Seidel avatar  avatar Walta Tesfay avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.