0.0.3 • Published 8 years ago

oneapm-decorators v0.0.3

Weekly downloads
2
License
MIT
Repository
github
Last release
8 years ago

node-oneapm-decorators

ES7 decorators that can be used in your app to track performance

npm.io npm.io

If you are writting a NodeJS application in ES6(7), you can use this module to track your application performance very easily.

Background

Let's assume your application definition looks like this

export default class App {
  handleRequest(req, res) {
    res.end('ok');
  }
}

Here is how you start the server

import App from './App.es6';
let app = new App();
let server = require('http').createServer(app.handleRequest);
server.listen(3000);

Enhance it

Show UserAgent of each request

import {useragent} from '../';

export default class App {
  @useragent
  handleRequest(req, res) {
    res.end('ok');
  }
}

Track response time using InfluxDB

import {influxdb} from '../';

export default class App {
  @influxdb({
    host: 'influxdb-longtian.myalauda.cn',
    port: 11431
  })
  handleRequest(req, res) {
    createReadStream(path.join(__dirname, 'index.html')).pipe(res);
  }
}

It will continue to flush performance data into InfluxDB, which can be visualized using Grafana

npm.io

You can set up your own Influxdb server, however here is the DEMO

How to run the demo

git clone git@github.com:wyvernnot/node-oneapm-decorators.git
cd node-oneapm-decorators
npm install
npm start

License

MIT

0.0.3

8 years ago

0.0.2

8 years ago

0.0.1

8 years ago

0.0.0

8 years ago