annotate mod_measure_active_users/README.md @ 4832:bfd4af4caddc

mod_password_policy: Support for additional policies provided by other modules E.g. check a password contains an uppercase character: module:provides("password-policy", { name = "contains_uppercase"; check_password = function (password, policy) return (policy ~= true) or (not not password:match("%u")); end; }) Config: password_policy = { contains_uppercase = true; }
author Matthew Wild <mwild1@gmail.com>
date Wed, 22 Dec 2021 14:48:46 +0000
parents 1132f2888cd2
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4774
1132f2888cd2 mod_measure_active_users: Calculate active user counts over fixed time periods
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
1 ---
1132f2888cd2 mod_measure_active_users: Calculate active user counts over fixed time periods
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
2 labels:
1132f2888cd2 mod_measure_active_users: Calculate active user counts over fixed time periods
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
3 - 'Stage-Alpha'
1132f2888cd2 mod_measure_active_users: Calculate active user counts over fixed time periods
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
4 summary: 'Measure number of daily, weekly and monthly active users'
1132f2888cd2 mod_measure_active_users: Calculate active user counts over fixed time periods
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
5 ...
1132f2888cd2 mod_measure_active_users: Calculate active user counts over fixed time periods
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
6
1132f2888cd2 mod_measure_active_users: Calculate active user counts over fixed time periods
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
7 Introduction
1132f2888cd2 mod_measure_active_users: Calculate active user counts over fixed time periods
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
8 ============
1132f2888cd2 mod_measure_active_users: Calculate active user counts over fixed time periods
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
9
1132f2888cd2 mod_measure_active_users: Calculate active user counts over fixed time periods
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
10 This module calculates the number of daily, weekly and monthly active users -
1132f2888cd2 mod_measure_active_users: Calculate active user counts over fixed time periods
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
11 often abbreviated as DAU, WAU and MAU.
1132f2888cd2 mod_measure_active_users: Calculate active user counts over fixed time periods
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
12
1132f2888cd2 mod_measure_active_users: Calculate active user counts over fixed time periods
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
13 These metrics are more accurate for determining how many people are actually
1132f2888cd2 mod_measure_active_users: Calculate active user counts over fixed time periods
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
14 using a service. For example simply counting registered accounts will typically
1132f2888cd2 mod_measure_active_users: Calculate active user counts over fixed time periods
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
15 include many dormant accounts that aren't really being used. Many servers also
1132f2888cd2 mod_measure_active_users: Calculate active user counts over fixed time periods
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
16 track the number of connected users. This is a useful metric for many purposes,
1132f2888cd2 mod_measure_active_users: Calculate active user counts over fixed time periods
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
17 but it is generally lower than the actual number of users - because some users
1132f2888cd2 mod_measure_active_users: Calculate active user counts over fixed time periods
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
18 may only connect at certain times of day.
1132f2888cd2 mod_measure_active_users: Calculate active user counts over fixed time periods
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
19
1132f2888cd2 mod_measure_active_users: Calculate active user counts over fixed time periods
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
20 The module defines "activity" as any login/logout event during the time period,
1132f2888cd2 mod_measure_active_users: Calculate active user counts over fixed time periods
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
21 and for this it depends on mod_lastlog2 being loaded (it reads the data stored
1132f2888cd2 mod_measure_active_users: Calculate active user counts over fixed time periods
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
22 by mod_lastlog2). Each individual user is only counted once.
1132f2888cd2 mod_measure_active_users: Calculate active user counts over fixed time periods
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
23
1132f2888cd2 mod_measure_active_users: Calculate active user counts over fixed time periods
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
24 "Daily" means any event within the past 24 hours, "weekly" means within the
1132f2888cd2 mod_measure_active_users: Calculate active user counts over fixed time periods
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
25 past 7 days, and "monthly" means within the past 30 days.
1132f2888cd2 mod_measure_active_users: Calculate active user counts over fixed time periods
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
26
1132f2888cd2 mod_measure_active_users: Calculate active user counts over fixed time periods
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
27 Details
1132f2888cd2 mod_measure_active_users: Calculate active user counts over fixed time periods
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
28 =======
1132f2888cd2 mod_measure_active_users: Calculate active user counts over fixed time periods
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
29
1132f2888cd2 mod_measure_active_users: Calculate active user counts over fixed time periods
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
30 The user count is calculated shortly after startup, and then recalculated
1132f2888cd2 mod_measure_active_users: Calculate active user counts over fixed time periods
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
31 hourly after that.
1132f2888cd2 mod_measure_active_users: Calculate active user counts over fixed time periods
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
32
1132f2888cd2 mod_measure_active_users: Calculate active user counts over fixed time periods
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
33 Metrics are exported using Prosody's built-in statistics API.
1132f2888cd2 mod_measure_active_users: Calculate active user counts over fixed time periods
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
34
1132f2888cd2 mod_measure_active_users: Calculate active user counts over fixed time periods
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
35 There is no configuration for this module.
1132f2888cd2 mod_measure_active_users: Calculate active user counts over fixed time periods
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
36
1132f2888cd2 mod_measure_active_users: Calculate active user counts over fixed time periods
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
37 Compatibility
1132f2888cd2 mod_measure_active_users: Calculate active user counts over fixed time periods
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
38 =============
1132f2888cd2 mod_measure_active_users: Calculate active user counts over fixed time periods
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
39
1132f2888cd2 mod_measure_active_users: Calculate active user counts over fixed time periods
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
40 Requires Prosody 0.11 or later with mod_lastlog2 enabled.