Skip to content

Hapi plugin to send response metrics to AWS CloudWatch

License

Notifications You must be signed in to change notification settings

tido/hapi-cloudwatch

 
 

Repository files navigation

hapi-cloudwatch

A hapi plugin for sending request response time metrics to AWS CloudWatch.

Build Status Coverage Status npm version Dependencies Status DevDependencies Status Known Vulnerabilities

Installation

npm install hapi-cloudwatch

Usage

To install this plugin on your Hapi server, do something similar to this:

var Hapi = require('hapi');
var server = new Hapi.Server();

var options = {};

server.register({ plugin: require('hapi-cloudwatch'), options }, function(err) {
  if (err) {
    console.log('error', 'Failed loading plugin: hapi-cloudwatch');
  }
});

Plugin Options

region

AWS region to send the metrics to.

Defaults to eu-west-1

environment

The primary dimension added to the CloudWatch metric

Defaults to process.env.NODE_ENV

enabled

Turns on/off the sending of metrics to CloudWatch

Defaults to true

metricsSentCallback

A function to call when metrics have been sent to CloudWatch.

Defaults to no-op.

Example

A Hapi route configured like this:

server.route({
  method: 'GET',
  path: '/products/{id}',
  handler: function(request, h) {
    'Success!';
  }
});

and run with NODE_ENV=production npm start will send a metric to AWS CloudWatch with the following dimensions:

  • metric name: responseTime
  • environment: production
  • method: GET
  • statusCode: 200
  • path: /products/{id}

Here's an example of what can be graphed in CloudWatch with this metric:

Example CloudWatch Graph

Version Compatibility

Version hapi.js
2.x >=17 hapi
1.x <17 hapi

About

Hapi plugin to send response metrics to AWS CloudWatch

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%