A simple, modular node.js module for distributed app usage tracking.
The interface leverages the global process.EventEmitter to simplify implementations and to reduce the risk of side-effects caused by tracking. You can safely disable or completly remove the tracker, without the need to remove the code using it.
It comes with a Memory, CouchDB & Remote "receiver".
This module is not battle-proven yet and to be considered as alpha.
- Distributable (Send events from one tracker instance to another over the network)
- Modular (write your own event store/receiver!)
- Comes with an Express Middleware
var trackable =repl =http = ;var tracker =eventName: 'trackable'verbose: trueemitDefaultKeys: true;http;replstartprompt: "REPL> "input: processstdinoutput: processstdoutcontextevents = trackerreceiverstore;
2. Visit http://youip:8000/ and see events arrive :-)
Tracker Event received: type: 'pageview_home' ip: '127.0.0.1' time: 1360188808356Tracker eventCount: 1Tracker receiverErrorCount: 0REPL> console;type: 'pageview_home' ip: '127.0.0.1' time: 1360188808356
var tracker =eventName: 'trackable'verbose: falseemitDefaultKeys: truereceive:port: 8000receiver:verifyEmit = false;
Added express middleware
- Test what happens if you modify event object after emitting.
- Implement (de-)fragmentation of large udp packets (remote sender/receiver).
- Write documentation for trackable.Tracker() options
Trackable is licensed under the MIT license.
- Commit code and get featured here ;-)