mod_roster
Module Description¶
The module implements roster support, specified in RFC 6121. Includes support for XEP-0237: Roster Versioning. It can sometimes become quite a heavyweight feature, so there is an option to disable it.
Options¶
modules.mod_roster.iqdisc.type¶
- Syntax: string, one of
"one_queue","no_queue","queues","parallel" - Default: "one_queue"
Strategy to handle incoming stanzas. For details, please refer to IQ processing policies.
modules.mod_roster.versioning¶
- Syntax: boolean
- Default:
false - Example:
versioning = true
Turn on/off support for Roster Versioning.
modules.mod_roster.store_current_id¶
- Syntax: boolean
- Default:
false - Example:
store_current_id = true
Stores the last roster hash in DB (used in Roster Versioning). Improves performance but should be disabled, when shared rosters are used.
modules.mod_roster.backend¶
- Syntax: string, one of
"mnesia","rdbms" - Default:
"mnesia" - Example:
backend = "mnesia"
Example configuration¶
1 2 3 | |
Metrics¶
This module provides backend metrics. If you'd like to learn more about metrics in MongooseIM, please visit MongooseIM metrics page.
Prometheus metrics have a host_type and function labels associated with these metrics.
Since Exometer doesn't support labels, the function as well as the host types, or word global, are part of the metric names, depending on the instrumentation.exometer.all_metrics_are_global option.
Backend in the action name can be either rdbms or mnesia.
| Backend action | Type | Function | Description (when it gets incremented) |
|---|---|---|---|
mod_roster_Backend_count |
counter | read_roster_version |
Version of a user's roster is retrieved. |
mod_roster_Backend_time |
histogram | read_roster_version |
Time to retrieve the version of a user's roster. |
mod_roster_Backend_count |
counter | write_roster_version |
Version of a user's roster is stored. |
mod_roster_Backend_time |
histogram | write_roster_version |
Time to store the version of a user's roster. |
mod_roster_Backend_count |
counter | get_roster |
A user's roster is fetched. |
mod_roster_Backend_time |
histogram | get_roster |
Time to fetch user's roster. |
mod_roster_Backend_count |
counter | get_roster_entry |
A specific roster entry is fetched. |
mod_roster_Backend_time |
histogram | get_roster_entry |
Time to fetch a specific roster entry. |
mod_roster_Backend_count |
counter | get_subscription_lists |
A subscription list of a user is retrieved. |
mod_roster_Backend_time |
histogram | get_subscription_lists |
Time to retrieve a subscription list of a user. |
mod_roster_Backend_count |
counter | roster_subscribe_t |
A subscription status between users is updated inside a transaction. |
mod_roster_Backend_time |
histogram | roster_subscribe_t |
Time to update a subscription status between users inside a transaction. |
mod_roster_Backend_count |
counter | update_roster_t |
A roster entry is updated in a transaction. |
mod_roster_Backend_time |
histogram | update_roster_t |
Time to update a roster entry in a transaction. |
mod_roster_Backend_count |
counter | del_roster_t |
A roster entry is removed inside a transaction. |
mod_roster_Backend_time |
histogram | del_roster_t |
Time to remove a roster entry inside a transaction. |
| Backend action | Type | Description (when it gets incremented) |
|---|---|---|
[HostType, mod_roster_Backend, read_roster_version, count] |
spiral | Version of a user's roster is retrieved. |
[HostType, mod_roster_Backend, read_roster_version, time] |
histogram | Time to retrieve the version of a user's roster. |
[HostType, mod_roster_Backend, write_roster_version, count] |
spiral | Version of a user's roster is stored. |
[HostType, mod_roster_Backend, write_roster_version, time] |
histogram | Time to store the version of a user's roster. |
[HostType, mod_roster_Backend, get_roster, count] |
spiral | A user's roster is fetched. |
[HostType, mod_roster_Backend, get_roster, time] |
histogram | Time to fetch user's roster. |
[HostType, mod_roster_Backend, get_roster_entry, count] |
spiral | A specific roster entry is fetched. |
[HostType, mod_roster_Backend, get_roster_entry, time] |
histogram | Time to fetch a specific roster entry. |
[HostType, mod_roster_Backend, get_subscription_lists, count] |
spiral | A subscription list of a user is retrieved. |
[HostType, mod_roster_Backend, get_subscription_lists, time] |
histogram | Time to retrieve a subscription list of a user. |
[HostType, mod_roster_Backend, roster_subscribe_t, count] |
spiral | A subscription status between users is updated inside a transaction. |
[HostType, mod_roster_Backend, roster_subscribe_t, time] |
histogram | Time to update a subscription status between users inside a transaction. |
[HostType, mod_roster_Backend, update_roster_t, count] |
spiral | A roster entry is updated in a transaction. |
[HostType, mod_roster_Backend, update_roster_t, time] |
histogram | Time to update a roster entry in a transaction. |
[HostType, mod_roster_Backend, del_roster_t, count] |
spiral | A roster entry is removed inside a transaction. |
[HostType, mod_roster_Backend, del_roster_t, time] |
histogram | Time to remove a roster entry inside a transaction. |