Hourly Active User
The hau
module allows you to quickly track hourly, daily, weekly, and monthly active users in Redis.
Hourly? Yeah, hourly.
Check out this article to better understand library implementation: https://blog.getspool.com/2011/11/29/fast-easy-realtime-metrics-using-redis-bitmaps/
Installing and Getting Started
You can install the hau
module via npm. You will also need to have a Redis server instance running.
npm install hau
Once hau
is installed we need a client:
var hau = ; var activity = hau;
Tracking
activity.track(id, [action]);
Tracking is a very simple operation:
activity;activity;
Where the id is the id of the user you want to track and the action is the action they performed.
activity.untrack(id, [action]);
You may also undo a tracked action for a user with untrack
:
activity;activity;
Reporting
You can fetch the daily, weekly, and monthly active users easily:
activity.daily([action], [date], callback);
// Fetching the number of users who commented on Nov 21, 2013activity; // Fetching the number of daily active users for the current dayactivity; // Using promises to fetch the number of users who commented on Nov 21, 2013const promisify = ;const activityDaily = ;const daily = await ; // Using promises to fetch the number of daily active users for the current dayconst promisify = ;const activityDaily = ;const daily = await ;
activity.weekly([action], [date], callback);
// Fetching the number of users who commented the week containing Nov 21, 2013activity; // Fetching the number of daily active users for the current weekactivity;
activity.monthly([action], [date], callback);
// Fetching the number of users who commented the month of Nov 2013activity; // Fetching the number of daily active users for the current monthactivity;
Release History
- 0.0.1
- First release (forked from iancmyers's active-user module)
- 0.2.0
- New updates made by malcolmocean's adding hourly support, and changing the dependency bigint to bignum
- 0.3.0
- Remove dependency on
bignum
, now using BigInt, which is a native JS object
- Remove dependency on