Skip to content

plusmancn/express-statsd-route

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

express-statsd-route

采用 express 的 req.route 对象作为API埋点 key,(原始项目:Uber Express statsd)

Installation

npm install express-statsd-route

Usage

A Example Of Express,File was located in test/app.js

'use strict';
var express = require('express');
var expressStatsdRoute = require('../');
var app = express();


const DEBUG = require('debug')('Test:statsd');
const PORT = 8080;


app.use(expressStatsdRoute({
    keyPrefix: 'ESRTEST.',
    keyGeneFunc: function(req){
        var key = req.route && req.route.path.split('/').join('.').substr(1);
        // tirm special characters,like ':'
        if(key){
            key = key.replace(/\:/gi, '-COLON-');
        }
        return key;
    },
    recordTimeout: 50, // 超时日志阀值
    recordLog: '/tmp/timeout.log' // 超时日志详情文件位置
}));

app.get('/hello_world/:name', function(req, res){
    res.send('hello world, ' +  req.params['name']);
});

app.get('/your_name', function(req,res){
    res.send('my name is ESR');
});



app.listen(PORT, function(){
    DEBUG('server listen on %d', PORT);
});

NOTICE
最终组合的 key 需以 . 相连,如 part1.part2.part3

TEST

DEBUG=Test:* node test/app.js

Options

expressStatsdRoute(options);
  • host: [optional] statsd server host, default 127.0.0.1
  • port: [optional] statsd server port, default 8125
  • keyPrefix: [required] A code represents your project
  • keyGeneFunc: [required] A function to generate your api key

About

Telegraf Express route 埋点方案

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published