From 0c74dd031c02cae294b6d07dde4082ff1bc37f0a Mon Sep 17 00:00:00 2001 From: Gustaw Lippa Date: Mon, 19 Aug 2024 15:56:45 +0200 Subject: [PATCH 01/16] Correct module name --- doc/modules/mod_vcard.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/doc/modules/mod_vcard.md b/doc/modules/mod_vcard.md index 1a09eab7b47..6bd509d0281 100644 --- a/doc/modules/mod_vcard.md +++ b/doc/modules/mod_vcard.md @@ -139,20 +139,20 @@ Backend in the action name can be either `rdbms`, `ldap` or `mnesia`. | Backend action | Type | Function | Description (when it gets incremented) | | -------------- | ---- | -------- | -------------------------------------- | - | `mod_private_Backend_count` | counter | `set_vcard` | A vCard is set in a database. | - | `mod_private_Backend_time` | histogram | `set_vcard` | Time to set a vCard in a database. | - | `mod_private_Backend_count` | counter | `get_vcard` | A specific vCard is retrieved from a database. | - | `mod_private_Backend_time` | histogram | `get_vcard` | Time to retrieve a specific vCard from a database. | - | `mod_private_Backend_count` | counter | `search` | A vCard search is performed. | - | `mod_private_Backend_time` | histogram | `search` | Time to search a vCard. | + | `mod_vcard_Backend_count` | counter | `set_vcard` | A vCard is set in a database. | + | `mod_vcard_Backend_time` | histogram | `set_vcard` | Time to set a vCard in a database. | + | `mod_vcard_Backend_count` | counter | `get_vcard` | A specific vCard is retrieved from a database. | + | `mod_vcard_Backend_time` | histogram | `get_vcard` | Time to retrieve a specific vCard from a database. | + | `mod_vcard_Backend_count` | counter | `search` | A vCard search is performed. | + | `mod_vcard_Backend_time` | histogram | `search` | Time to search a vCard. | === "Exometer" | Backend action | Type | Description (when it gets incremented) | | -------------- | ---- | -------------------------------------- | - | `[HostType, mod_private_Backend, set_vcard, count]` | spiral | A vCard is set in a database. | - | `[HostType, mod_private_Backend, set_vcard, time]` | histogram | Time to set a vCard in a database. | - | `[HostType, mod_private_Backend, get_vcard, count]` | spiral | A specific vCard is retrieved from a database. | - | `[HostType, mod_private_Backend, get_vcard, time]` | histogram | Time to retrieve a specific vCard from a database. | - | `[HostType, mod_private_Backend, search, count]` | spiral | A vCard search is performed. | - | `[HostType, mod_private_Backend, search, time]` | histogram | Time to search a vCard. | + | `[HostType, mod_vcard_Backend, set_vcard, count]` | spiral | A vCard is set in a database. | + | `[HostType, mod_vcard_Backend, set_vcard, time]` | histogram | Time to set a vCard in a database. | + | `[HostType, mod_vcard_Backend, get_vcard, count]` | spiral | A specific vCard is retrieved from a database. | + | `[HostType, mod_vcard_Backend, get_vcard, time]` | histogram | Time to retrieve a specific vCard from a database. | + | `[HostType, mod_vcard_Backend, search, count]` | spiral | A vCard search is performed. | + | `[HostType, mod_vcard_Backend, search, time]` | histogram | Time to search a vCard. | From 4447d7ef46e06c5a8100543942521a57f69a34af Mon Sep 17 00:00:00 2001 From: Gustaw Lippa Date: Mon, 19 Aug 2024 16:09:07 +0200 Subject: [PATCH 02/16] Remove StatsD reporter mention --- doc/operation-and-maintenance/Logging-&-monitoring.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/operation-and-maintenance/Logging-&-monitoring.md b/doc/operation-and-maintenance/Logging-&-monitoring.md index 07e5ba0e5af..5fee804063d 100644 --- a/doc/operation-and-maintenance/Logging-&-monitoring.md +++ b/doc/operation-and-maintenance/Logging-&-monitoring.md @@ -80,8 +80,8 @@ More information about configuration can be found in [the HTTP listeners section #### Exometer MongooseIM uses [a fork of Exometer library](https://github.com/esl/exometer_core) for collecting metrics. -Exometer has many plug-in reporters that can send metrics to external services. We maintain [exometer_report_graphite](https://github.com/esl/exometer_report_graphite) and [exometer_report_statsd](https://github.com/esl/exometer_report_statsd) for Graphite and StatsD respectively. -It is possible to enable them in MongooseIM in the [instrumentation section of the configuration file](../configuration/instrumentation.md#exometer-reporter-options). +Exometer has many plug-in reporters that can send metrics to external services. +We maintain [exometer_report_graphite](https://github.com/esl/exometer_report_graphite), which can be enabled in the [instrumentation section of the configuration file](../configuration/instrumentation.md#exometer-reporter-options). Moreover, Exometer metrics can be accessed through the GraphQL API. From 6b436b42a1e53592482491a4ad3fd0c6d28ca320 Mon Sep 17 00:00:00 2001 From: Gustaw Lippa Date: Mon, 19 Aug 2024 17:09:06 +0200 Subject: [PATCH 03/16] Clarify Prometheus endpoint --- doc/configuration/instrumentation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/configuration/instrumentation.md b/doc/configuration/instrumentation.md index 1c3213a3230..9b11030e1e7 100644 --- a/doc/configuration/instrumentation.md +++ b/doc/configuration/instrumentation.md @@ -4,7 +4,7 @@ They are mainly used for the purpose of metrics. Instrumentation events are acted upon by handlers. Available instrumentation handlers are: -* `prometheus` - exposes a metrics endpoint for [Prometheus](https://prometheus.io/). +* `prometheus` - collects metrics for the purpose of [Prometheus](https://prometheus.io/). Endpoint to access them has to be configured in the [listener section](../listeners/listen-http.md#handler-types-prometheus-mongoose_prometheus_handler). * `exometer` - starts [Exometer](https://github.com/esl/exometer_core), a metrics server capable of exporting metrics using reporters. Currently available is a [Graphite](https://graphiteapp.org/) reporter. * `log` - logs instrumentation events to disk. From a4f6dc377cf2890288ee2e9b25c2af6a5683c63a Mon Sep 17 00:00:00 2001 From: Gustaw Lippa Date: Mon, 19 Aug 2024 17:11:48 +0200 Subject: [PATCH 04/16] Add all_metrics_are_global description --- doc/configuration/instrumentation.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/doc/configuration/instrumentation.md b/doc/configuration/instrumentation.md index 9b11030e1e7..4f6207fd95d 100644 --- a/doc/configuration/instrumentation.md +++ b/doc/configuration/instrumentation.md @@ -29,6 +29,9 @@ General options for the Exometer reporter: * **Default:** `false` * **Example:** `all_metrics_are_global = true` +When enabled, all per-host metrics are merged into global equivalents. +This option significantly reduces CPU and (especially) memory footprint in setups with exceptionally many domains (thousands, tens of thousands). + ## Exometer reporter options Multiple reporters can be configured. From b8969b570648e049b301ceac6f49eb49709ed51c Mon Sep 17 00:00:00 2001 From: Gustaw Lippa Date: Tue, 20 Aug 2024 10:09:06 +0200 Subject: [PATCH 05/16] Describe loglevel option --- doc/configuration/instrumentation.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/doc/configuration/instrumentation.md b/doc/configuration/instrumentation.md index 4f6207fd95d..9cd77bdaf10 100644 --- a/doc/configuration/instrumentation.md +++ b/doc/configuration/instrumentation.md @@ -88,6 +88,19 @@ A prefix to prepend all metric names with before they are sent to the graphite s Specifies an environmental variable name from which an additional prefix will be taken. In case both `prefix` and `env_prefix` are defined, it will be placed before the `prefix` and separated with a dot. +## Log handler options + +### `instrumentation.log.level` +* **Syntax:** string, one of `"none"`, `"emergency"`, `"alert"`, `"critical"`, `"error"`, `"warning"`, `"notice"`, `"info"`, `"debug"`, `"all"`. +* **Default:** `"debug"` +* **Example:** `loglevel = "error"` + +Severity level at which all the events will be logged. + +!!! note + + In order for instrumentation events to appear in logs, the [`general.loglevel` option](../configuration/general.md#generalloglevel) has to be set to the same or lower level. + ## Example Prometheus configuration This configuration enables `prometheus`, and `log` handlers: From 4aaa2271ada74017cd8677c4d29de67667cbb84b Mon Sep 17 00:00:00 2001 From: Gustaw Lippa Date: Tue, 20 Aug 2024 10:13:43 +0200 Subject: [PATCH 06/16] Fix event name --- doc/modules/mod_muc_light.md | 104 +++++++++++++++++------------------ 1 file changed, 52 insertions(+), 52 deletions(-) diff --git a/doc/modules/mod_muc_light.md b/doc/modules/mod_muc_light.md index 4b3d5f2fbae..b7c6b7dfaaa 100644 --- a/doc/modules/mod_muc_light.md +++ b/doc/modules/mod_muc_light.md @@ -188,60 +188,60 @@ Backend in the action name can be either `rdbms` or `mnesia`. | Backend action | Type | Function | Description (when it gets incremented) | | -------------- | ---- | -------- | -------------------------------------- | - | `mod_muc_light_Backend_count` | counter | `create_room` | A new room is stored in a DB. | - | `mod_muc_light_Backend_time` | histogram | `create_room` | Time to store a new room in a DB. | - | `mod_muc_light_Backend_count` | counter | `destroy_room` | Room data is removed from a DB. | - | `mod_muc_light_Backend_time` | histogram | `destroy_room` | Time to remove room data from a DB. | - | `mod_muc_light_Backend_count` | counter | `room_exists` | A room existence is checked. | - | `mod_muc_light_Backend_time` | histogram | `room_exists` | Time to check the existance of a room. | - | `mod_muc_light_Backend_count` | counter | `get_user_rooms` | A list of rooms the user is a participant of is retrieved from a DB. | - | `mod_muc_light_Backend_time` | histogram | `get_user_rooms` | Time to retrieve a list of rooms the user is a participant of from a DB. | - | `mod_muc_light_Backend_count` | counter | `get_user_rooms_count` | The count` of rooms the user is a participant of is retrieved from a DB. | - | `mod_muc_light_Backend_time` | histogram | `get_user_rooms_count` | Time to retrieve the count` of rooms the user is a participant of from a DB. | - | `mod_muc_light_Backend_count` | counter | `remove_user` | All MUC Light related user data is removed from a DB. | - | `mod_muc_light_Backend_time` | histogram | `remove_user` | Time to remove all MUC Light related user data from a DB. | - | `mod_muc_light_Backend_count` | counter | `remove_domain` | All MUC Light related domain data is removed from a DB. | - | `mod_muc_light_Backend_time` | histogram | `remove_domain` |Time to remove all MUC Light related domain data from a DB. | - | `mod_muc_light_Backend_count` | counter | `get_config` | A room config is retrieved from a DB. | - | `mod_muc_light_Backend_time` | histogram | `get_config` | Time to retrieve a room config from a DB. | - | `mod_muc_light_Backend_count` | counter | `set_config` | A room config is updated in a DB. | - | `mod_muc_light_Backend_time` | histogram | `set_config` | Time to update a room config in a DB. | - | `mod_muc_light_Backend_count` | counter | `get_blocking` | Blocking data is fetched from a DB. | - | `mod_muc_light_Backend_time` | histogram | `get_blocking` | Time to fetch blocking data from a DB. | - | `mod_muc_light_Backend_count` | counter | `set_blocking` | Blocking data is updated in a DB. | - | `mod_muc_light_Backend_time` | histogram | `set_blocking` | Time to update blocking data in a DB. | - | `mod_muc_light_Backend_count` | counter | `get_aff_users` | Affiliated users list is fetched from a DB. | - | `mod_muc_light_Backend_time` | histogram | `get_aff_users` | Time to fetch affiliated users list from a DB. | - | `mod_muc_light_Backend_count` | counter | `modify_aff_users` | Affiliations in a room are updated in a DB. | - | `mod_muc_light_Backend_time` | histogram | `modify_aff_users` | Time to update affiliations in a room in a DB. | + | `mod_muc_light_db_Backend_count` | counter | `create_room` | A new room is stored in a DB. | + | `mod_muc_light_db_Backend_time` | histogram | `create_room` | Time to store a new room in a DB. | + | `mod_muc_light_db_Backend_count` | counter | `destroy_room` | Room data is removed from a DB. | + | `mod_muc_light_db_Backend_time` | histogram | `destroy_room` | Time to remove room data from a DB. | + | `mod_muc_light_db_Backend_count` | counter | `room_exists` | A room existence is checked. | + | `mod_muc_light_db_Backend_time` | histogram | `room_exists` | Time to check the existance of a room. | + | `mod_muc_light_db_Backend_count` | counter | `get_user_rooms` | A list of rooms the user is a participant of is retrieved from a DB. | + | `mod_muc_light_db_Backend_time` | histogram | `get_user_rooms` | Time to retrieve a list of rooms the user is a participant of from a DB. | + | `mod_muc_light_db_Backend_count` | counter | `get_user_rooms_count` | The count` of rooms the user is a participant of is retrieved from a DB. | + | `mod_muc_light_db_Backend_time` | histogram | `get_user_rooms_count` | Time to retrieve the count` of rooms the user is a participant of from a DB. | + | `mod_muc_light_db_Backend_count` | counter | `remove_user` | All MUC Light related user data is removed from a DB. | + | `mod_muc_light_db_Backend_time` | histogram | `remove_user` | Time to remove all MUC Light related user data from a DB. | + | `mod_muc_light_db_Backend_count` | counter | `remove_domain` | All MUC Light related domain data is removed from a DB. | + | `mod_muc_light_db_Backend_time` | histogram | `remove_domain` |Time to remove all MUC Light related domain data from a DB. | + | `mod_muc_light_db_Backend_count` | counter | `get_config` | A room config is retrieved from a DB. | + | `mod_muc_light_db_Backend_time` | histogram | `get_config` | Time to retrieve a room config from a DB. | + | `mod_muc_light_db_Backend_count` | counter | `set_config` | A room config is updated in a DB. | + | `mod_muc_light_db_Backend_time` | histogram | `set_config` | Time to update a room config in a DB. | + | `mod_muc_light_db_Backend_count` | counter | `get_blocking` | Blocking data is fetched from a DB. | + | `mod_muc_light_db_Backend_time` | histogram | `get_blocking` | Time to fetch blocking data from a DB. | + | `mod_muc_light_db_Backend_count` | counter | `set_blocking` | Blocking data is updated in a DB. | + | `mod_muc_light_db_Backend_time` | histogram | `set_blocking` | Time to update blocking data in a DB. | + | `mod_muc_light_db_Backend_count` | counter | `get_aff_users` | Affiliated users list is fetched from a DB. | + | `mod_muc_light_db_Backend_time` | histogram | `get_aff_users` | Time to fetch affiliated users list from a DB. | + | `mod_muc_light_db_Backend_count` | counter | `modify_aff_users` | Affiliations in a room are updated in a DB. | + | `mod_muc_light_db_Backend_time` | histogram | `modify_aff_users` | Time to update affiliations in a room in a DB. | === "Exometer" | Backend action | Type | Description (when it gets incremented) | | -------------- | ---- | -------------------------------------- | - | `[HostType, mod_muc_light_Backend, create_room, count]` | counter | A new room is stored in a DB. | - | `[HostType, mod_muc_light_Backend, create_room, time]` | histogram | Time to store a new room in a DB. | - | `[HostType, mod_muc_light_Backend, destroy_room, count]` | counter | Room data is removed from a DB. | - | `[HostType, mod_muc_light_Backend, destroy_room, time]` | histogram | Time to remove room data from a DB. | - | `[HostType, mod_muc_light_Backend, room_exists, count]` | counter | A room existence is checked. | - | `[HostType, mod_muc_light_Backend, room_exists, time]` | histogram | Time to check the existance of a room. | - | `[HostType, mod_muc_light_Backend, get_user_rooms, count]` | counter | A list of rooms the user is a participant of is retrieved from a DB. | - | `[HostType, mod_muc_light_Backend, get_user_rooms, time]` | histogram | Time to retrieve a list of rooms the user is a participant of from a DB. | - | `[HostType, mod_muc_light_Backend, get_user_rooms_count, count]` | counter | The count of rooms the user is a participant of is retrieved from a DB. | - | `[HostType, mod_muc_light_Backend, get_user_rooms_count, time]` | histogram | Time to retrieve the count of rooms the user is a participant of from a DB. | - | `[HostType, mod_muc_light_Backend, remove_user`, count]` | counter | All MUC Light related user data is removed from a DB. | - | `[HostType, mod_muc_light_Backend, remove_user`, time]` | histogram | Time to remove all MUC Light related user data from a DB. | - | `[HostType, mod_muc_light_Backend, remove_domain, count]` | counter | All MUC Light related domain data is removed from a DB. | - | `[HostType, mod_muc_light_Backend, remove_domain, time]` | histogram |Time to remove all MUC Light related domain data from a DB. | - | `[HostType, mod_muc_light_Backend, get_config, count]` | counter | A room config is retrieved from a DB. | - | `[HostType, mod_muc_light_Backend, get_config, time]` | histogram | Time to retrieve a room config from a DB. | - | `[HostType, mod_muc_light_Backend, set_config, count]` | counter | A room config is updated in a DB. | - | `[HostType, mod_muc_light_Backend, set_config, time]` | histogram | Time to update a room config in a DB. | - | `[HostType, mod_muc_light_Backend, get_blocking, count]` | counter | Blocking data is fetched from a DB. | - | `[HostType, mod_muc_light_Backend, get_blocking, time]` | histogram | Time to fetch blocking data from a DB. | - | `[HostType, mod_muc_light_Backend, set_blocking, count]` | counter | Blocking data is updated in a DB. | - | `[HostType, mod_muc_light_Backend, set_blocking, time]` | histogram | Time to update blocking data in a DB. | - | `[HostType, mod_muc_light_Backend, get_aff_users, count]` | counter | Affiliated users list is fetched from a DB. | - | `[HostType, mod_muc_light_Backend, get_aff_users, time]` | histogram | Time to fetch affiliated users list from a DB. | - | `[HostType, mod_muc_light_Backend, modify_aff_users, count]` | counter | Affiliations in a room are updated in a DB. | - | `[HostType, mod_muc_light_Backend, modify_aff_users, time]` | histogram | Time to update affiliations in a room in a DB. | + | `[HostType, mod_muc_light_db_Backend, create_room, count]` | counter | A new room is stored in a DB. | + | `[HostType, mod_muc_light_db_Backend, create_room, time]` | histogram | Time to store a new room in a DB. | + | `[HostType, mod_muc_light_db_Backend, destroy_room, count]` | counter | Room data is removed from a DB. | + | `[HostType, mod_muc_light_db_Backend, destroy_room, time]` | histogram | Time to remove room data from a DB. | + | `[HostType, mod_muc_light_db_Backend, room_exists, count]` | counter | A room existence is checked. | + | `[HostType, mod_muc_light_db_Backend, room_exists, time]` | histogram | Time to check the existance of a room. | + | `[HostType, mod_muc_light_db_Backend, get_user_rooms, count]` | counter | A list of rooms the user is a participant of is retrieved from a DB. | + | `[HostType, mod_muc_light_db_Backend, get_user_rooms, time]` | histogram | Time to retrieve a list of rooms the user is a participant of from a DB. | + | `[HostType, mod_muc_light_db_Backend, get_user_rooms_count, count]` | counter | The count of rooms the user is a participant of is retrieved from a DB. | + | `[HostType, mod_muc_light_db_Backend, get_user_rooms_count, time]` | histogram | Time to retrieve the count of rooms the user is a participant of from a DB. | + | `[HostType, mod_muc_light_db_Backend, remove_user`, count]` | counter | All MUC Light related user data is removed from a DB. | + | `[HostType, mod_muc_light_db_Backend, remove_user`, time]` | histogram | Time to remove all MUC Light related user data from a DB. | + | `[HostType, mod_muc_light_db_Backend, remove_domain, count]` | counter | All MUC Light related domain data is removed from a DB. | + | `[HostType, mod_muc_light_db_Backend, remove_domain, time]` | histogram |Time to remove all MUC Light related domain data from a DB. | + | `[HostType, mod_muc_light_db_Backend, get_config, count]` | counter | A room config is retrieved from a DB. | + | `[HostType, mod_muc_light_db_Backend, get_config, time]` | histogram | Time to retrieve a room config from a DB. | + | `[HostType, mod_muc_light_db_Backend, set_config, count]` | counter | A room config is updated in a DB. | + | `[HostType, mod_muc_light_db_Backend, set_config, time]` | histogram | Time to update a room config in a DB. | + | `[HostType, mod_muc_light_db_Backend, get_blocking, count]` | counter | Blocking data is fetched from a DB. | + | `[HostType, mod_muc_light_db_Backend, get_blocking, time]` | histogram | Time to fetch blocking data from a DB. | + | `[HostType, mod_muc_light_db_Backend, set_blocking, count]` | counter | Blocking data is updated in a DB. | + | `[HostType, mod_muc_light_db_Backend, set_blocking, time]` | histogram | Time to update blocking data in a DB. | + | `[HostType, mod_muc_light_db_Backend, get_aff_users, count]` | counter | Affiliated users list is fetched from a DB. | + | `[HostType, mod_muc_light_db_Backend, get_aff_users, time]` | histogram | Time to fetch affiliated users list from a DB. | + | `[HostType, mod_muc_light_db_Backend, modify_aff_users, count]` | counter | Affiliations in a room are updated in a DB. | + | `[HostType, mod_muc_light_db_Backend, modify_aff_users, time]` | histogram | Time to update affiliations in a room in a DB. | From 7575e72132411b7bb06837c1c2fb1c64819513ad Mon Sep 17 00:00:00 2001 From: Gustaw Lippa Date: Tue, 20 Aug 2024 10:14:30 +0200 Subject: [PATCH 07/16] Add missing word --- doc/modules/mod_last.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/modules/mod_last.md b/doc/modules/mod_last.md index ca0e01b2fa0..daa408f1633 100644 --- a/doc/modules/mod_last.md +++ b/doc/modules/mod_last.md @@ -46,7 +46,7 @@ Backend in the action name can be either `rdbms` or `mnesia`. | `mod_last_Backend_count` | counter | `set_last_info` | A timestamp is stored in the database. | | `mod_last_Backend_time` | histogram | `set_last_info` | Time spent storing a timestamp in the database. | | `mod_last_Backend_count` | counter | `session_cleanup` | A session is cleaned up from the database. | - | `mod_last_Backend_time` | histogram | `session_cleanup` | Time spent cleaning up a from the database. | + | `mod_last_Backend_time` | histogram | `session_cleanup` | Time spent cleaning up a session from the database. | === "Exometer" @@ -57,4 +57,4 @@ Backend in the action name can be either `rdbms` or `mnesia`. | `[HostType, mod_last_Backend, set_last_info, count]` | counter | A timestamp is stored in the database. | | `[HostType, mod_last_Backend, set_last_info, time]` | histogram | Time spent storing a timestamp in the database. | | `[HostType, mod_last_Backend, session_cleanup, count]` | counter | A session is cleaned up from the database. | - | `[HostType, mod_last_Backend, session_cleanup, time]` | histogram | Time spent cleaning up a from the database. | + | `[HostType, mod_last_Backend, session_cleanup, time]` | histogram | Time spent cleaning up a session from the database. | From aabaeebee821244c90034cbaf6474fc3f63f031d Mon Sep 17 00:00:00 2001 From: Gustaw Lippa Date: Tue, 20 Aug 2024 10:15:54 +0200 Subject: [PATCH 08/16] Fix module name --- doc/modules/mod_offline.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/doc/modules/mod_offline.md b/doc/modules/mod_offline.md index d56f58fcc79..a6588ffc34c 100644 --- a/doc/modules/mod_offline.md +++ b/doc/modules/mod_offline.md @@ -58,16 +58,16 @@ Backend in the action name can be either `rdbms` or `mnesia`. | Backend action | Type | Function | Description (when it gets incremented) | | -------------- | ---- | -------- | -------------------------------------- | - | `mod_last_Backend_count` | counter | `pop_messages` | Offline messages for a user are retrieved and deleted from a DB. | - | `mod_last_Backend_time` | histogram | `pop_messages` | Time spent retrieving and deleting offline messages for a user from a DB. | - | `mod_last_Backend_count` | counter | `write_messages` | New offline messages to a user are written in a DB. | - | `mod_last_Backend_time` | histogram | `write_messages` | Time spent writing a new offline messages to a user in a DB. | + | `mod_offline_Backend_count` | counter | `pop_messages` | Offline messages for a user are retrieved and deleted from a DB. | + | `mod_offline_Backend_time` | histogram | `pop_messages` | Time spent retrieving and deleting offline messages for a user from a DB. | + | `mod_offline_Backend_count` | counter | `write_messages` | New offline messages to a user are written in a DB. | + | `mod_offline_Backend_time` | histogram | `write_messages` | Time spent writing a new offline messages to a user in a DB. | === "Exometer" | Backend action | Type | Description (when it gets incremented) | | -------------- | ---- | -------------------------------------- | - | `[HostType, mod_last_Backend, pop_messages, count]` | counter | Offline messages for a user are retrieved and deleted from a DB. | - | `[HostType, mod_last_Backend, pop_messages, time]` | histogram | Time spent retrieving and deleting offline messages for a user from a DB. | - | `[HostType, mod_last_Backend, write_messages, count]` | counter | New offline messages to a user are written in a DB. | - | `[HostType, mod_last_Backend, write_messages, time]` | histogram | Time spent writing a new offline messages to a user in a DB. | + | `[HostType, mod_offline_Backend, pop_messages, count]` | counter | Offline messages for a user are retrieved and deleted from a DB. | + | `[HostType, mod_offline_Backend, pop_messages, time]` | histogram | Time spent retrieving and deleting offline messages for a user from a DB. | + | `[HostType, mod_offline_Backend, write_messages, count]` | counter | New offline messages to a user are written in a DB. | + | `[HostType, mod_offline_Backend, write_messages, time]` | histogram | Time spent writing a new offline messages to a user in a DB. | From 07a87d256e8fbbde52964b92941b0dcf83020ab0 Mon Sep 17 00:00:00 2001 From: Gustaw Lippa Date: Tue, 20 Aug 2024 10:17:05 +0200 Subject: [PATCH 09/16] Fix event name --- doc/modules/mod_ping.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/modules/mod_ping.md b/doc/modules/mod_ping.md index 2900f186924..443db8acd81 100644 --- a/doc/modules/mod_ping.md +++ b/doc/modules/mod_ping.md @@ -62,7 +62,7 @@ Since Exometer doesn't support labels, the host types, or word `global`, are par |------|------|----------------------------------------| | `mod_ping_response_count` | counter | Client responds to a ping. | | `mod_ping_response_time` | histogram | Response times (doesn't include timeouts). | - | `mod_ping_response_count` | counter | Ping request timeouts without a response from client. | + | `mod_ping_response_timeout` | counter | Ping request timeouts without a response from client. | === "Exometer" From 30e16c69bec205238ca10df3b5b727953c2e50da Mon Sep 17 00:00:00 2001 From: Gustaw Lippa Date: Tue, 20 Aug 2024 10:20:14 +0200 Subject: [PATCH 10/16] Fix event name --- doc/modules/mod_pubsub.md | 160 +++++++++++++++++++------------------- 1 file changed, 80 insertions(+), 80 deletions(-) diff --git a/doc/modules/mod_pubsub.md b/doc/modules/mod_pubsub.md index 9663dfd9e93..3e2f8c043da 100644 --- a/doc/modules/mod_pubsub.md +++ b/doc/modules/mod_pubsub.md @@ -344,88 +344,88 @@ Backend in the action name can be either `rdbms` or `mnesia`. | Backend action | Type | Function | Description (when it gets incremented) | | -------------- | ---- | -------- | -------------------------------------- | - | `mod_pubsub_cache_Backend_count` | counter | `get_state` | User's state for a specific node is fetched. | - | `mod_pubsub_cache_Backend_time` | histogram | `get_state` | Time to fetch user's state for a specific node. | - | `mod_pubsub_cache_Backend_count` | counter | `get_states` | Node's states are fetched. | - | `mod_pubsub_cache_Backend_time` | histogram | `get_states` | Time to fetch node's states. | - | `mod_pubsub_cache_Backend_count` | counter | `get_states_by_lus` | Nodes' states for user + domain are fetched. | - | `mod_pubsub_cache_Backend_time` | histogram | `get_states_by_lus` | Time to fetch the nodes' states for user + domain. | - | `mod_pubsub_cache_Backend_count` | counter | `get_states_by_bare` | Nodes' states for bare JID are fetched. | - | `mod_pubsub_cache_Backend_time` | histogram | `get_states_by_bare` | Time to fetch nodes' states for bare JID. | - | `mod_pubsub_cache_Backend_count` | counter | `create_node` | A node's owner is set. | - | `mod_pubsub_cache_Backend_time` | histogram | `create_node` | Time to set a node's owner. | - | `mod_pubsub_cache_Backend_count` | counter | `del_node` | All data related to a node is removed. | - | `mod_pubsub_cache_Backend_time` | histogram | `del_node` | Time to remove all data related to a node. | - | `mod_pubsub_cache_Backend_count` | counter | `get_items` | Node's items are fetched. | - | `mod_pubsub_cache_Backend_time` | histogram | `get_items` | Time to fetch node's items. | - | `mod_pubsub_cache_Backend_count` | counter | `get_item` | A specific item from a node is fetched. | - | `mod_pubsub_cache_Backend_time` | histogram | `get_item` | Time to fetch a specific item from a node. | - | `mod_pubsub_cache_Backend_count` | counter | `add_item` | An item is upserted into a node. | - | `mod_pubsub_cache_Backend_time` | histogram | `add_item` | Time to upsert an item into a node. | - | `mod_pubsub_cache_Backend_count` | counter | `set_item` | An item is updated in a node. | - | `mod_pubsub_cache_Backend_time` | histogram | `set_item` | Time to update an item in a node. | - | `mod_pubsub_cache_Backend_count` | counter | `del_item` | An item is deleted from a node. | - | `mod_pubsub_cache_Backend_time` | histogram | `del_item` | Time to delete an item from a node. | - | `mod_pubsub_cache_Backend_count` | counter | `del_items` | Specified items are deleted from a node. | - | `mod_pubsub_cache_Backend_time` | histogram | `del_items` | Time to delete specified items from a node. | - | `mod_pubsub_cache_Backend_count` | counter | `set_node` | A node is upserted. | - | `mod_pubsub_cache_Backend_time` | histogram | `set_node` | Time to upsert a node. | - | `mod_pubsub_cache_Backend_count` | counter | `find_node_by_id` | A node is fetched by its ID. | - | `mod_pubsub_cache_Backend_time` | histogram | `find_node_by_id` | Time to fetch a node by its ID. | - | `mod_pubsub_cache_Backend_count` | counter | `find_nodes_by_key` | Nodes are fetched by key. | - | `mod_pubsub_cache_Backend_time` | histogram | `find_nodes_by_key` | Time to fetch nodes by key. | - | `mod_pubsub_cache_Backend_count` | counter | `find_node_by_name` | A node is fetched by its name. | - | `mod_pubsub_cache_Backend_time` | histogram | `find_node_by_name` | Time to fetch a node by its name. | - | `mod_pubsub_cache_Backend_count` | counter | `delete_node` | A node is deleted. | - | `mod_pubsub_cache_Backend_time` | histogram | `delete_node` | Time to delete a node. | - | `mod_pubsub_cache_Backend_count` | counter | `get_subnodes` | Subnodes of a node are fetched. | - | `mod_pubsub_cache_Backend_time` | histogram | `get_subnodes` | Time to fetch the subnodes of a node. | - | `mod_pubsub_cache_Backend_count` | counter | `get_subnodes_tree` | Full tree of subnodes of a node is fetched. | - | `mod_pubsub_cache_Backend_time` | histogram | `get_subnodes_tree` | Time to fetch the full tree of subnodes of a node. | - | `mod_pubsub_cache_Backend_count` | counter | `get_parentnodes_tree` | All parents of a node are fetched. | - | `mod_pubsub_cache_Backend_time` | histogram | `get_parentnodes_tree` | Time to fetch all parents of a node. | + | `mod_pubsub_db_Backend_count` | counter | `get_state` | User's state for a specific node is fetched. | + | `mod_pubsub_db_Backend_time` | histogram | `get_state` | Time to fetch user's state for a specific node. | + | `mod_pubsub_db_Backend_count` | counter | `get_states` | Node's states are fetched. | + | `mod_pubsub_db_Backend_time` | histogram | `get_states` | Time to fetch node's states. | + | `mod_pubsub_db_Backend_count` | counter | `get_states_by_lus` | Nodes' states for user + domain are fetched. | + | `mod_pubsub_db_Backend_time` | histogram | `get_states_by_lus` | Time to fetch the nodes' states for user + domain. | + | `mod_pubsub_db_Backend_count` | counter | `get_states_by_bare` | Nodes' states for bare JID are fetched. | + | `mod_pubsub_db_Backend_time` | histogram | `get_states_by_bare` | Time to fetch nodes' states for bare JID. | + | `mod_pubsub_db_Backend_count` | counter | `create_node` | A node's owner is set. | + | `mod_pubsub_db_Backend_time` | histogram | `create_node` | Time to set a node's owner. | + | `mod_pubsub_db_Backend_count` | counter | `del_node` | All data related to a node is removed. | + | `mod_pubsub_db_Backend_time` | histogram | `del_node` | Time to remove all data related to a node. | + | `mod_pubsub_db_Backend_count` | counter | `get_items` | Node's items are fetched. | + | `mod_pubsub_db_Backend_time` | histogram | `get_items` | Time to fetch node's items. | + | `mod_pubsub_db_Backend_count` | counter | `get_item` | A specific item from a node is fetched. | + | `mod_pubsub_db_Backend_time` | histogram | `get_item` | Time to fetch a specific item from a node. | + | `mod_pubsub_db_Backend_count` | counter | `add_item` | An item is upserted into a node. | + | `mod_pubsub_db_Backend_time` | histogram | `add_item` | Time to upsert an item into a node. | + | `mod_pubsub_db_Backend_count` | counter | `set_item` | An item is updated in a node. | + | `mod_pubsub_db_Backend_time` | histogram | `set_item` | Time to update an item in a node. | + | `mod_pubsub_db_Backend_count` | counter | `del_item` | An item is deleted from a node. | + | `mod_pubsub_db_Backend_time` | histogram | `del_item` | Time to delete an item from a node. | + | `mod_pubsub_db_Backend_count` | counter | `del_items` | Specified items are deleted from a node. | + | `mod_pubsub_db_Backend_time` | histogram | `del_items` | Time to delete specified items from a node. | + | `mod_pubsub_db_Backend_count` | counter | `set_node` | A node is upserted. | + | `mod_pubsub_db_Backend_time` | histogram | `set_node` | Time to upsert a node. | + | `mod_pubsub_db_Backend_count` | counter | `find_node_by_id` | A node is fetched by its ID. | + | `mod_pubsub_db_Backend_time` | histogram | `find_node_by_id` | Time to fetch a node by its ID. | + | `mod_pubsub_db_Backend_count` | counter | `find_nodes_by_key` | Nodes are fetched by key. | + | `mod_pubsub_db_Backend_time` | histogram | `find_nodes_by_key` | Time to fetch nodes by key. | + | `mod_pubsub_db_Backend_count` | counter | `find_node_by_name` | A node is fetched by its name. | + | `mod_pubsub_db_Backend_time` | histogram | `find_node_by_name` | Time to fetch a node by its name. | + | `mod_pubsub_db_Backend_count` | counter | `delete_node` | A node is deleted. | + | `mod_pubsub_db_Backend_time` | histogram | `delete_node` | Time to delete a node. | + | `mod_pubsub_db_Backend_count` | counter | `get_subnodes` | Subnodes of a node are fetched. | + | `mod_pubsub_db_Backend_time` | histogram | `get_subnodes` | Time to fetch the subnodes of a node. | + | `mod_pubsub_db_Backend_count` | counter | `get_subnodes_tree` | Full tree of subnodes of a node is fetched. | + | `mod_pubsub_db_Backend_time` | histogram | `get_subnodes_tree` | Time to fetch the full tree of subnodes of a node. | + | `mod_pubsub_db_Backend_count` | counter | `get_parentnodes_tree` | All parents of a node are fetched. | + | `mod_pubsub_db_Backend_time` | histogram | `get_parentnodes_tree` | Time to fetch all parents of a node. | === "Exometer" | Backend action | Type | Description (when it gets incremented) | | -------------- | ---- | -------------------------------------- | - | `[HostType, mod_pubsub_cache_Backend, get_state, count]` | counter | User's state for a specific node is fetched. | - | `[HostType, mod_pubsub_cache_Backend, get_state, time]` | histogram | Time to fetch user's state for a specific node. | - | `[HostType, mod_pubsub_cache_Backend, get_states, count]` | counter | Node's states are fetched. | - | `[HostType, mod_pubsub_cache_Backend, get_states, time]` | histogram | Time to fetch node's states. | - | `[HostType, mod_pubsub_cache_Backend, get_states_by_lus, count]` | counter | Nodes' states for user + domain are fetched. | - | `[HostType, mod_pubsub_cache_Backend, get_states_by_lus, time]` | histogram | Time to fetch the nodes' states for user + domain. | - | `[HostType, mod_pubsub_cache_Backend, get_states_by_bare, count]` | counter | Nodes' states for bare JID are fetched. | - | `[HostType, mod_pubsub_cache_Backend, get_states_by_bare, time]` | histogram | Time to fetch nodes' states for bare JID. | - | `[HostType, mod_pubsub_cache_Backend, create_node, count]` | counter | A node's owner is set. | - | `[HostType, mod_pubsub_cache_Backend, create_node, time]` | histogram | Time to set a node's owner. | - | `[HostType, mod_pubsub_cache_Backend, del_node, count]` | counter | All data related to a node is removed. | - | `[HostType, mod_pubsub_cache_Backend, del_node, time]` | histogram | Time to remove all data related to a node. | - | `[HostType, mod_pubsub_cache_Backend, get_items, count]` | counter | Node's items are fetched. | - | `[HostType, mod_pubsub_cache_Backend, get_items, time]` | histogram | Time to fetch node's items. | - | `[HostType, mod_pubsub_cache_Backend, get_item, count]` | counter | A specific item from a node is fetched. | - | `[HostType, mod_pubsub_cache_Backend, get_item, time]` | histogram | Time to fetch a specific item from a node. | - | `[HostType, mod_pubsub_cache_Backend, add_item, count]` | counter | An item is upserted into a node. | - | `[HostType, mod_pubsub_cache_Backend, add_item, time]` | histogram | Time to upsert an item into a node. | - | `[HostType, mod_pubsub_cache_Backend, set_item, count]` | counter | An item is updated in a node. | - | `[HostType, mod_pubsub_cache_Backend, set_item, time]` | histogram | Time to update an item in a node. | - | `[HostType, mod_pubsub_cache_Backend, del_item, count]` | counter | An item is deleted from a node. | - | `[HostType, mod_pubsub_cache_Backend, del_item, time]` | histogram | Time to delete an item from a node. | - | `[HostType, mod_pubsub_cache_Backend, del_items, count]` | counter | Specified items are deleted from a node. | - | `[HostType, mod_pubsub_cache_Backend, del_items, time]` | histogram | Time to delete specified items from a node. | - | `[HostType, mod_pubsub_cache_Backend, set_node, count]` | counter | A node is upserted. | - | `[HostType, mod_pubsub_cache_Backend, set_node, time]` | histogram | Time to upsert a node. | - | `[HostType, mod_pubsub_cache_Backend, find_node_by_id, count]` | counter | A node is fetched by its ID. | - | `[HostType, mod_pubsub_cache_Backend, find_node_by_id, time]` | histogram | Time to fetch a node by its ID. | - | `[HostType, mod_pubsub_cache_Backend, find_nodes_by_key, count]` | counter | Nodes are fetched by key. | - | `[HostType, mod_pubsub_cache_Backend, find_nodes_by_key, time]` | histogram | Time to fetch nodes by key. | - | `[HostType, mod_pubsub_cache_Backend, find_node_by_name, count]` | counter | A node is fetched by its name. | - | `[HostType, mod_pubsub_cache_Backend, find_node_by_name, time]` | histogram | Time to fetch a node by its name. | - | `[HostType, mod_pubsub_cache_Backend, delete_node, count]` | counter | A node is deleted. | - | `[HostType, mod_pubsub_cache_Backend, delete_node, time]` | histogram | Time to delete a node. | - | `[HostType, mod_pubsub_cache_Backend, get_subnodes, count]` | counter | Subnodes of a node are fetched. | - | `[HostType, mod_pubsub_cache_Backend, get_subnodes, time]` | histogram | Time to fetch the subnodes of a node. | - | `[HostType, mod_pubsub_cache_Backend, get_subnodes_tree, count]` | counter | Full tree of subnodes of a node is fetched. | - | `[HostType, mod_pubsub_cache_Backend, get_subnodes_tree, time]` | histogram | Time to fetch the full tree of subnodes of a node. | - | `[HostType, mod_pubsub_cache_Backend, get_parentnodes_tree, count]` | counter | All parents of a node are fetched. | - | `[HostType, mod_pubsub_cache_Backend, get_parentnodes_tree, time]` | histogram | Time to fetch all parents of a node. | + | `[HostType, mod_pubsub_db_Backend, get_state, count]` | counter | User's state for a specific node is fetched. | + | `[HostType, mod_pubsub_db_Backend, get_state, time]` | histogram | Time to fetch user's state for a specific node. | + | `[HostType, mod_pubsub_db_Backend, get_states, count]` | counter | Node's states are fetched. | + | `[HostType, mod_pubsub_db_Backend, get_states, time]` | histogram | Time to fetch node's states. | + | `[HostType, mod_pubsub_db_Backend, get_states_by_lus, count]` | counter | Nodes' states for user + domain are fetched. | + | `[HostType, mod_pubsub_db_Backend, get_states_by_lus, time]` | histogram | Time to fetch the nodes' states for user + domain. | + | `[HostType, mod_pubsub_db_Backend, get_states_by_bare, count]` | counter | Nodes' states for bare JID are fetched. | + | `[HostType, mod_pubsub_db_Backend, get_states_by_bare, time]` | histogram | Time to fetch nodes' states for bare JID. | + | `[HostType, mod_pubsub_db_Backend, create_node, count]` | counter | A node's owner is set. | + | `[HostType, mod_pubsub_db_Backend, create_node, time]` | histogram | Time to set a node's owner. | + | `[HostType, mod_pubsub_db_Backend, del_node, count]` | counter | All data related to a node is removed. | + | `[HostType, mod_pubsub_db_Backend, del_node, time]` | histogram | Time to remove all data related to a node. | + | `[HostType, mod_pubsub_db_Backend, get_items, count]` | counter | Node's items are fetched. | + | `[HostType, mod_pubsub_db_Backend, get_items, time]` | histogram | Time to fetch node's items. | + | `[HostType, mod_pubsub_db_Backend, get_item, count]` | counter | A specific item from a node is fetched. | + | `[HostType, mod_pubsub_db_Backend, get_item, time]` | histogram | Time to fetch a specific item from a node. | + | `[HostType, mod_pubsub_db_Backend, add_item, count]` | counter | An item is upserted into a node. | + | `[HostType, mod_pubsub_db_Backend, add_item, time]` | histogram | Time to upsert an item into a node. | + | `[HostType, mod_pubsub_db_Backend, set_item, count]` | counter | An item is updated in a node. | + | `[HostType, mod_pubsub_db_Backend, set_item, time]` | histogram | Time to update an item in a node. | + | `[HostType, mod_pubsub_db_Backend, del_item, count]` | counter | An item is deleted from a node. | + | `[HostType, mod_pubsub_db_Backend, del_item, time]` | histogram | Time to delete an item from a node. | + | `[HostType, mod_pubsub_db_Backend, del_items, count]` | counter | Specified items are deleted from a node. | + | `[HostType, mod_pubsub_db_Backend, del_items, time]` | histogram | Time to delete specified items from a node. | + | `[HostType, mod_pubsub_db_Backend, set_node, count]` | counter | A node is upserted. | + | `[HostType, mod_pubsub_db_Backend, set_node, time]` | histogram | Time to upsert a node. | + | `[HostType, mod_pubsub_db_Backend, find_node_by_id, count]` | counter | A node is fetched by its ID. | + | `[HostType, mod_pubsub_db_Backend, find_node_by_id, time]` | histogram | Time to fetch a node by its ID. | + | `[HostType, mod_pubsub_db_Backend, find_nodes_by_key, count]` | counter | Nodes are fetched by key. | + | `[HostType, mod_pubsub_db_Backend, find_nodes_by_key, time]` | histogram | Time to fetch nodes by key. | + | `[HostType, mod_pubsub_db_Backend, find_node_by_name, count]` | counter | A node is fetched by its name. | + | `[HostType, mod_pubsub_db_Backend, find_node_by_name, time]` | histogram | Time to fetch a node by its name. | + | `[HostType, mod_pubsub_db_Backend, delete_node, count]` | counter | A node is deleted. | + | `[HostType, mod_pubsub_db_Backend, delete_node, time]` | histogram | Time to delete a node. | + | `[HostType, mod_pubsub_db_Backend, get_subnodes, count]` | counter | Subnodes of a node are fetched. | + | `[HostType, mod_pubsub_db_Backend, get_subnodes, time]` | histogram | Time to fetch the subnodes of a node. | + | `[HostType, mod_pubsub_db_Backend, get_subnodes_tree, count]` | counter | Full tree of subnodes of a node is fetched. | + | `[HostType, mod_pubsub_db_Backend, get_subnodes_tree, time]` | histogram | Time to fetch the full tree of subnodes of a node. | + | `[HostType, mod_pubsub_db_Backend, get_parentnodes_tree, count]` | counter | All parents of a node are fetched. | + | `[HostType, mod_pubsub_db_Backend, get_parentnodes_tree, time]` | histogram | Time to fetch all parents of a node. | From 03ecfe69881ab8faa544c8525bf5f62cfb17a681 Mon Sep 17 00:00:00 2001 From: Gustaw Lippa Date: Tue, 20 Aug 2024 10:22:11 +0200 Subject: [PATCH 11/16] Fix event name --- doc/modules/mod_roster.md | 64 +++++++++++++++++++-------------------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/doc/modules/mod_roster.md b/doc/modules/mod_roster.md index 77e925e5012..6edd119770c 100644 --- a/doc/modules/mod_roster.md +++ b/doc/modules/mod_roster.md @@ -55,40 +55,40 @@ Backend in the action name can be either `rdbms` or `mnesia`. | Backend action | Type | Function | Description (when it gets incremented) | | -------------- | ---- | -------- | -------------------------------------- | - | `mod_private_Backend_count` | counter | `read_roster_version` | Version of a user's roster is retrieved. | - | `mod_private_Backend_time` | histogram | `read_roster_version` | Time to retrieve the version of a user's roster. | - | `mod_private_Backend_count` | counter | `write_roster_version` | Version of a user's roster is stored. | - | `mod_private_Backend_time` | histogram | `write_roster_version` | Time to store the version of a user's roster. | - | `mod_private_Backend_count` | counter | `get_roster` | A user's roster is fetched. | - | `mod_private_Backend_time` | histogram | `get_roster` | Time to fetch user's roster. | - | `mod_private_Backend_count` | counter | `get_roster_entry` | A specific roster entry is fetched. | - | `mod_private_Backend_time` | histogram | `get_roster_entry` | Time to fetch a specific roster entry. | - | `mod_private_Backend_count` | counter | `get_subscription_lists` | A subscription list of a user is retrieved. | - | `mod_private_Backend_time` | histogram | `get_subscription_lists` | Time to retrieve a subscription list of a user. | - | `mod_private_Backend_count` | counter | `roster_subscribe_t` | A subscription status between users is updated inside a transaction. | - | `mod_private_Backend_time` | histogram | `roster_subscribe_t` | Time to update a subscription status between users inside a transaction. | - | `mod_private_Backend_count` | counter | `update_roster_t` | A roster entry is updated in a transaction. | - | `mod_private_Backend_time` | histogram | `update_roster_t` | Time to update a roster entry in a transaction. | - | `mod_private_Backend_count` | counter | `del_roster_t` | A roster entry is removed inside a transaction. | - | `mod_private_Backend_time` | histogram | `del_roster_t` | Time to remove a roster entry inside a transaction. | + | `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. | === "Exometer" | Backend action | Type | Description (when it gets incremented) | | -------------- | ---- | -------------------------------------- | - | `[HostType, mod_private_Backend, read_roster_version, count]` | spiral | Version of a user's roster is retrieved. | - | `[HostType, mod_private_Backend, read_roster_version, time]` | histogram | Time to retrieve the version of a user's roster. | - | `[HostType, mod_private_Backend, write_roster_version, count]` | spiral | Version of a user's roster is stored. | - | `[HostType, mod_private_Backend, write_roster_version, time]` | histogram | Time to store the version of a user's roster. | - | `[HostType, mod_private_Backend, get_roster, count]` | spiral | A user's roster is fetched. | - | `[HostType, mod_private_Backend, get_roster, time]` | histogram | Time to fetch user's roster. | - | `[HostType, mod_private_Backend, get_roster_entry, count]` | spiral | A specific roster entry is fetched. | - | `[HostType, mod_private_Backend, get_roster_entry, time]` | histogram | Time to fetch a specific roster entry. | - | `[HostType, mod_private_Backend, get_subscription_lists, count]` | spiral | A subscription list of a user is retrieved. | - | `[HostType, mod_private_Backend, get_subscription_lists, time]` | histogram | Time to retrieve a subscription list of a user. | - | `[HostType, mod_private_Backend, roster_subscribe_t, count]` | spiral | A subscription status between users is updated inside a transaction. | - | `[HostType, mod_private_Backend, roster_subscribe_t, time]` | histogram | Time to update a subscription status between users inside a transaction. | - | `[HostType, mod_private_Backend, update_roster_t, count]` | spiral | A roster entry is updated in a transaction. | - | `[HostType, mod_private_Backend, update_roster_t, time]` | histogram | Time to update a roster entry in a transaction. | - | `[HostType, mod_private_Backend, del_roster_t, count]` | spiral | A roster entry is removed inside a transaction. | - | `[HostType, mod_private_Backend, del_roster_t, time]` | histogram | Time to remove a roster entry inside a transaction. | + | `[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. | From df0da1e00563cbd8bf34226c419285b0c8275d52 Mon Sep 17 00:00:00 2001 From: Gustaw Lippa Date: Tue, 20 Aug 2024 11:37:37 +0200 Subject: [PATCH 12/16] Fix Exometer event type --- doc/modules/mod_last.md | 6 ++--- doc/modules/mod_muc_light.md | 26 ++++++++++---------- doc/modules/mod_offline.md | 4 ++-- doc/modules/mod_pubsub.md | 46 ++++++++++++++++++------------------ 4 files changed, 41 insertions(+), 41 deletions(-) diff --git a/doc/modules/mod_last.md b/doc/modules/mod_last.md index daa408f1633..ae3303ab090 100644 --- a/doc/modules/mod_last.md +++ b/doc/modules/mod_last.md @@ -52,9 +52,9 @@ Backend in the action name can be either `rdbms` or `mnesia`. | Backend action | Type | Description (when it gets incremented) | | -------------- | ---- | -------------------------------------- | - | `[HostType, mod_last_Backend, get_last, count]` | counter | A timestamp is fetched from the database. | + | `[HostType, mod_last_Backend, get_last, count]` | spiral | A timestamp is fetched from the database. | | `[HostType, mod_last_Backend, get_last, time]` | histogram | Time spent fetching a timestamp from the database. | - | `[HostType, mod_last_Backend, set_last_info, count]` | counter | A timestamp is stored in the database. | + | `[HostType, mod_last_Backend, set_last_info, count]` | spiral | A timestamp is stored in the database. | | `[HostType, mod_last_Backend, set_last_info, time]` | histogram | Time spent storing a timestamp in the database. | - | `[HostType, mod_last_Backend, session_cleanup, count]` | counter | A session is cleaned up from the database. | + | `[HostType, mod_last_Backend, session_cleanup, count]` | spiral | A session is cleaned up from the database. | | `[HostType, mod_last_Backend, session_cleanup, time]` | histogram | Time spent cleaning up a session from the database. | diff --git a/doc/modules/mod_muc_light.md b/doc/modules/mod_muc_light.md index b7c6b7dfaaa..bd752427e90 100644 --- a/doc/modules/mod_muc_light.md +++ b/doc/modules/mod_muc_light.md @@ -219,29 +219,29 @@ Backend in the action name can be either `rdbms` or `mnesia`. | Backend action | Type | Description (when it gets incremented) | | -------------- | ---- | -------------------------------------- | - | `[HostType, mod_muc_light_db_Backend, create_room, count]` | counter | A new room is stored in a DB. | + | `[HostType, mod_muc_light_db_Backend, create_room, count]` | spiral | A new room is stored in a DB. | | `[HostType, mod_muc_light_db_Backend, create_room, time]` | histogram | Time to store a new room in a DB. | - | `[HostType, mod_muc_light_db_Backend, destroy_room, count]` | counter | Room data is removed from a DB. | + | `[HostType, mod_muc_light_db_Backend, destroy_room, count]` | spiral | Room data is removed from a DB. | | `[HostType, mod_muc_light_db_Backend, destroy_room, time]` | histogram | Time to remove room data from a DB. | - | `[HostType, mod_muc_light_db_Backend, room_exists, count]` | counter | A room existence is checked. | + | `[HostType, mod_muc_light_db_Backend, room_exists, count]` | spiral | A room existence is checked. | | `[HostType, mod_muc_light_db_Backend, room_exists, time]` | histogram | Time to check the existance of a room. | - | `[HostType, mod_muc_light_db_Backend, get_user_rooms, count]` | counter | A list of rooms the user is a participant of is retrieved from a DB. | + | `[HostType, mod_muc_light_db_Backend, get_user_rooms, count]` | spiral | A list of rooms the user is a participant of is retrieved from a DB. | | `[HostType, mod_muc_light_db_Backend, get_user_rooms, time]` | histogram | Time to retrieve a list of rooms the user is a participant of from a DB. | - | `[HostType, mod_muc_light_db_Backend, get_user_rooms_count, count]` | counter | The count of rooms the user is a participant of is retrieved from a DB. | + | `[HostType, mod_muc_light_db_Backend, get_user_rooms_count, count]` | spiral | The count of rooms the user is a participant of is retrieved from a DB. | | `[HostType, mod_muc_light_db_Backend, get_user_rooms_count, time]` | histogram | Time to retrieve the count of rooms the user is a participant of from a DB. | - | `[HostType, mod_muc_light_db_Backend, remove_user`, count]` | counter | All MUC Light related user data is removed from a DB. | + | `[HostType, mod_muc_light_db_Backend, remove_user`, count]` | spiral | All MUC Light related user data is removed from a DB. | | `[HostType, mod_muc_light_db_Backend, remove_user`, time]` | histogram | Time to remove all MUC Light related user data from a DB. | - | `[HostType, mod_muc_light_db_Backend, remove_domain, count]` | counter | All MUC Light related domain data is removed from a DB. | + | `[HostType, mod_muc_light_db_Backend, remove_domain, count]` | spiral | All MUC Light related domain data is removed from a DB. | | `[HostType, mod_muc_light_db_Backend, remove_domain, time]` | histogram |Time to remove all MUC Light related domain data from a DB. | - | `[HostType, mod_muc_light_db_Backend, get_config, count]` | counter | A room config is retrieved from a DB. | + | `[HostType, mod_muc_light_db_Backend, get_config, count]` | spiral | A room config is retrieved from a DB. | | `[HostType, mod_muc_light_db_Backend, get_config, time]` | histogram | Time to retrieve a room config from a DB. | - | `[HostType, mod_muc_light_db_Backend, set_config, count]` | counter | A room config is updated in a DB. | + | `[HostType, mod_muc_light_db_Backend, set_config, count]` | spiral | A room config is updated in a DB. | | `[HostType, mod_muc_light_db_Backend, set_config, time]` | histogram | Time to update a room config in a DB. | - | `[HostType, mod_muc_light_db_Backend, get_blocking, count]` | counter | Blocking data is fetched from a DB. | + | `[HostType, mod_muc_light_db_Backend, get_blocking, count]` | spiral | Blocking data is fetched from a DB. | | `[HostType, mod_muc_light_db_Backend, get_blocking, time]` | histogram | Time to fetch blocking data from a DB. | - | `[HostType, mod_muc_light_db_Backend, set_blocking, count]` | counter | Blocking data is updated in a DB. | + | `[HostType, mod_muc_light_db_Backend, set_blocking, count]` | spiral | Blocking data is updated in a DB. | | `[HostType, mod_muc_light_db_Backend, set_blocking, time]` | histogram | Time to update blocking data in a DB. | - | `[HostType, mod_muc_light_db_Backend, get_aff_users, count]` | counter | Affiliated users list is fetched from a DB. | + | `[HostType, mod_muc_light_db_Backend, get_aff_users, count]` | spiral | Affiliated users list is fetched from a DB. | | `[HostType, mod_muc_light_db_Backend, get_aff_users, time]` | histogram | Time to fetch affiliated users list from a DB. | - | `[HostType, mod_muc_light_db_Backend, modify_aff_users, count]` | counter | Affiliations in a room are updated in a DB. | + | `[HostType, mod_muc_light_db_Backend, modify_aff_users, count]` | spiral | Affiliations in a room are updated in a DB. | | `[HostType, mod_muc_light_db_Backend, modify_aff_users, time]` | histogram | Time to update affiliations in a room in a DB. | diff --git a/doc/modules/mod_offline.md b/doc/modules/mod_offline.md index a6588ffc34c..17c31b48994 100644 --- a/doc/modules/mod_offline.md +++ b/doc/modules/mod_offline.md @@ -67,7 +67,7 @@ Backend in the action name can be either `rdbms` or `mnesia`. | Backend action | Type | Description (when it gets incremented) | | -------------- | ---- | -------------------------------------- | - | `[HostType, mod_offline_Backend, pop_messages, count]` | counter | Offline messages for a user are retrieved and deleted from a DB. | + | `[HostType, mod_offline_Backend, pop_messages, count]` | spiral | Offline messages for a user are retrieved and deleted from a DB. | | `[HostType, mod_offline_Backend, pop_messages, time]` | histogram | Time spent retrieving and deleting offline messages for a user from a DB. | - | `[HostType, mod_offline_Backend, write_messages, count]` | counter | New offline messages to a user are written in a DB. | + | `[HostType, mod_offline_Backend, write_messages, count]` | spiral | New offline messages to a user are written in a DB. | | `[HostType, mod_offline_Backend, write_messages, time]` | histogram | Time spent writing a new offline messages to a user in a DB. | diff --git a/doc/modules/mod_pubsub.md b/doc/modules/mod_pubsub.md index 3e2f8c043da..181fb993644 100644 --- a/doc/modules/mod_pubsub.md +++ b/doc/modules/mod_pubsub.md @@ -331,11 +331,11 @@ Backend in the action name can be either `rdbms` or `mnesia`. | Backend action | Type | Description (when it gets incremented) | | -------------- | ---- | -------------------------------------- | - | `[HostType, mod_pubsub_cache_Backend, upsert_last_item, count]` | counter | Last item is upserted into a node. | + | `[HostType, mod_pubsub_cache_Backend, upsert_last_item, count]` | spiral | Last item is upserted into a node. | | `[HostType, mod_pubsub_cache_Backend, upsert_last_item, time]` | histogram | Time to upsert last item into a node. | - | `[HostType, mod_pubsub_cache_Backend, delete_last_item, count]` | counter | Last item is deleted from a node. | + | `[HostType, mod_pubsub_cache_Backend, delete_last_item, count]` | spiral | Last item is deleted from a node. | | `[HostType, mod_pubsub_cache_Backend, delete_last_item, time]` | histogram | Time to delete last item from a node. | - | `[HostType, mod_pubsub_cache_Backend, get_last_item, count]` | counter | Last item from a node is fetched. | + | `[HostType, mod_pubsub_cache_Backend, get_last_item, count]` | spiral | Last item from a node is fetched. | | `[HostType, mod_pubsub_cache_Backend, get_last_item, time]` | histogram | Time to fetch the last item from a node. | #### Database backend @@ -389,43 +389,43 @@ Backend in the action name can be either `rdbms` or `mnesia`. | Backend action | Type | Description (when it gets incremented) | | -------------- | ---- | -------------------------------------- | - | `[HostType, mod_pubsub_db_Backend, get_state, count]` | counter | User's state for a specific node is fetched. | + | `[HostType, mod_pubsub_db_Backend, get_state, count]` | spiral | User's state for a specific node is fetched. | | `[HostType, mod_pubsub_db_Backend, get_state, time]` | histogram | Time to fetch user's state for a specific node. | - | `[HostType, mod_pubsub_db_Backend, get_states, count]` | counter | Node's states are fetched. | + | `[HostType, mod_pubsub_db_Backend, get_states, count]` | spiral | Node's states are fetched. | | `[HostType, mod_pubsub_db_Backend, get_states, time]` | histogram | Time to fetch node's states. | - | `[HostType, mod_pubsub_db_Backend, get_states_by_lus, count]` | counter | Nodes' states for user + domain are fetched. | + | `[HostType, mod_pubsub_db_Backend, get_states_by_lus, count]` | spiral | Nodes' states for user + domain are fetched. | | `[HostType, mod_pubsub_db_Backend, get_states_by_lus, time]` | histogram | Time to fetch the nodes' states for user + domain. | - | `[HostType, mod_pubsub_db_Backend, get_states_by_bare, count]` | counter | Nodes' states for bare JID are fetched. | + | `[HostType, mod_pubsub_db_Backend, get_states_by_bare, count]` | spiral | Nodes' states for bare JID are fetched. | | `[HostType, mod_pubsub_db_Backend, get_states_by_bare, time]` | histogram | Time to fetch nodes' states for bare JID. | - | `[HostType, mod_pubsub_db_Backend, create_node, count]` | counter | A node's owner is set. | + | `[HostType, mod_pubsub_db_Backend, create_node, count]` | spiral | A node's owner is set. | | `[HostType, mod_pubsub_db_Backend, create_node, time]` | histogram | Time to set a node's owner. | - | `[HostType, mod_pubsub_db_Backend, del_node, count]` | counter | All data related to a node is removed. | + | `[HostType, mod_pubsub_db_Backend, del_node, count]` | spiral | All data related to a node is removed. | | `[HostType, mod_pubsub_db_Backend, del_node, time]` | histogram | Time to remove all data related to a node. | - | `[HostType, mod_pubsub_db_Backend, get_items, count]` | counter | Node's items are fetched. | + | `[HostType, mod_pubsub_db_Backend, get_items, count]` | spiral | Node's items are fetched. | | `[HostType, mod_pubsub_db_Backend, get_items, time]` | histogram | Time to fetch node's items. | - | `[HostType, mod_pubsub_db_Backend, get_item, count]` | counter | A specific item from a node is fetched. | + | `[HostType, mod_pubsub_db_Backend, get_item, count]` | spiral | A specific item from a node is fetched. | | `[HostType, mod_pubsub_db_Backend, get_item, time]` | histogram | Time to fetch a specific item from a node. | - | `[HostType, mod_pubsub_db_Backend, add_item, count]` | counter | An item is upserted into a node. | + | `[HostType, mod_pubsub_db_Backend, add_item, count]` | spiral | An item is upserted into a node. | | `[HostType, mod_pubsub_db_Backend, add_item, time]` | histogram | Time to upsert an item into a node. | - | `[HostType, mod_pubsub_db_Backend, set_item, count]` | counter | An item is updated in a node. | + | `[HostType, mod_pubsub_db_Backend, set_item, count]` | spiral | An item is updated in a node. | | `[HostType, mod_pubsub_db_Backend, set_item, time]` | histogram | Time to update an item in a node. | - | `[HostType, mod_pubsub_db_Backend, del_item, count]` | counter | An item is deleted from a node. | + | `[HostType, mod_pubsub_db_Backend, del_item, count]` | spiral | An item is deleted from a node. | | `[HostType, mod_pubsub_db_Backend, del_item, time]` | histogram | Time to delete an item from a node. | - | `[HostType, mod_pubsub_db_Backend, del_items, count]` | counter | Specified items are deleted from a node. | + | `[HostType, mod_pubsub_db_Backend, del_items, count]` | spiral | Specified items are deleted from a node. | | `[HostType, mod_pubsub_db_Backend, del_items, time]` | histogram | Time to delete specified items from a node. | - | `[HostType, mod_pubsub_db_Backend, set_node, count]` | counter | A node is upserted. | + | `[HostType, mod_pubsub_db_Backend, set_node, count]` | spiral | A node is upserted. | | `[HostType, mod_pubsub_db_Backend, set_node, time]` | histogram | Time to upsert a node. | - | `[HostType, mod_pubsub_db_Backend, find_node_by_id, count]` | counter | A node is fetched by its ID. | + | `[HostType, mod_pubsub_db_Backend, find_node_by_id, count]` | spiral | A node is fetched by its ID. | | `[HostType, mod_pubsub_db_Backend, find_node_by_id, time]` | histogram | Time to fetch a node by its ID. | - | `[HostType, mod_pubsub_db_Backend, find_nodes_by_key, count]` | counter | Nodes are fetched by key. | + | `[HostType, mod_pubsub_db_Backend, find_nodes_by_key, count]` | spiral | Nodes are fetched by key. | | `[HostType, mod_pubsub_db_Backend, find_nodes_by_key, time]` | histogram | Time to fetch nodes by key. | - | `[HostType, mod_pubsub_db_Backend, find_node_by_name, count]` | counter | A node is fetched by its name. | + | `[HostType, mod_pubsub_db_Backend, find_node_by_name, count]` | spiral | A node is fetched by its name. | | `[HostType, mod_pubsub_db_Backend, find_node_by_name, time]` | histogram | Time to fetch a node by its name. | - | `[HostType, mod_pubsub_db_Backend, delete_node, count]` | counter | A node is deleted. | + | `[HostType, mod_pubsub_db_Backend, delete_node, count]` | spiral | A node is deleted. | | `[HostType, mod_pubsub_db_Backend, delete_node, time]` | histogram | Time to delete a node. | - | `[HostType, mod_pubsub_db_Backend, get_subnodes, count]` | counter | Subnodes of a node are fetched. | + | `[HostType, mod_pubsub_db_Backend, get_subnodes, count]` | spiral | Subnodes of a node are fetched. | | `[HostType, mod_pubsub_db_Backend, get_subnodes, time]` | histogram | Time to fetch the subnodes of a node. | - | `[HostType, mod_pubsub_db_Backend, get_subnodes_tree, count]` | counter | Full tree of subnodes of a node is fetched. | + | `[HostType, mod_pubsub_db_Backend, get_subnodes_tree, count]` | spiral | Full tree of subnodes of a node is fetched. | | `[HostType, mod_pubsub_db_Backend, get_subnodes_tree, time]` | histogram | Time to fetch the full tree of subnodes of a node. | - | `[HostType, mod_pubsub_db_Backend, get_parentnodes_tree, count]` | counter | All parents of a node are fetched. | + | `[HostType, mod_pubsub_db_Backend, get_parentnodes_tree, count]` | spiral | All parents of a node are fetched. | | `[HostType, mod_pubsub_db_Backend, get_parentnodes_tree, time]` | histogram | Time to fetch all parents of a node. | From 5774c7f04457ffc168784afeb36c0ec970bef5be Mon Sep 17 00:00:00 2001 From: Gustaw Lippa Date: Tue, 20 Aug 2024 12:01:25 +0200 Subject: [PATCH 13/16] Document when probes are updated clearly --- doc/modules/mod_global_distrib.md | 2 +- doc/modules/mod_muc.md | 8 ++++---- .../MongooseIM-metrics.md | 18 ++++++++++++------ 3 files changed, 17 insertions(+), 11 deletions(-) diff --git a/doc/modules/mod_global_distrib.md b/doc/modules/mod_global_distrib.md index 811a0644305..d766a1230b7 100644 --- a/doc/modules/mod_global_distrib.md +++ b/doc/modules/mod_global_distrib.md @@ -99,7 +99,7 @@ Global distribution modules expose several per-datacenter metrics that can be us | `mod_global_distrib_mapping_cache_misses_count` | counter | Number of fetches of session table entries that hit the database. | | `mod_global_distrib_delivered_with_ttl_value` | histogram | A histogram of packets' TTL values recorded when the global routing layer decides to route them locally (but not due to TTL = 0). | | `mod_global_distrib_stop_ttl_zero_count` | counter | A number of packets that weren't processed by global routing due to TTL=0. | - | `mod_global_distrib_bounce_queue_size` | counter | A number of messages enqueued for rerouting (the value of this metric is individual per MongooseIM node!). | + | `mod_global_distrib_bounce_queue_size` | counter | A number of messages enqueued for rerouting (the value of this metric is individual per MongooseIM node!). This metric is updated periodically, every [`instrumentation.probe_interval`](../configuration/instrumentation.md#instrumentationprobe_interval). | === "Exometer" diff --git a/doc/modules/mod_muc.md b/doc/modules/mod_muc.md index a781a9c0700..f913c58a838 100644 --- a/doc/modules/mod_muc.md +++ b/doc/modules/mod_muc.md @@ -498,8 +498,8 @@ Since Exometer doesn't support labels, the host types, or word `global`, are par | `mod_muc_deep_hibernations_count` | counter | A room process is stopped (applies only to persistent rooms). | | `mod_muc_process_recreations_count` | counter | A room process is recreated from a persisted state. | | `mod_muc_hibernations_count` | counter | A room process becomes hibernated (garbage collected and put in wait state). | - | `mod_muc_rooms_hibernated` | gauge | How many rooms are in hibernated state. Does not include rooms in "deep hibernation". | - | `mod_muc_rooms_online` | gauge | How many rooms have running processes (includes rooms in a hibernated state). | + | `mod_muc_rooms_hibernated` | gauge | How many rooms are in hibernated state. Does not include rooms in "deep hibernation". This metric is updated periodically, every [`instrumentation.probe_interval`](../configuration/instrumentation.md#instrumentationprobe_interval). | + | `mod_muc_rooms_online` | gauge | How many rooms have running processes (includes rooms in a hibernated state). This metric is updated periodically, every [`instrumentation.probe_interval`](../configuration/instrumentation.md#instrumentationprobe_interval). | === "Exometer" @@ -508,5 +508,5 @@ Since Exometer doesn't support labels, the host types, or word `global`, are par | `[HostType, mod_muc_deep_hibernations, count]` | spiral | A room process is stopped (applies only to persistent rooms). | | `[HostType, mod_muc_process_recreations, count]` | spiral | A room process is recreated from a persisted state. | | `[HostType, mod_muc_hibernations, count]` | spiral | A room process becomes hibernated (garbage collected and put in wait state). | - | `[HostType, mod_muc_rooms, hibernated]` | gauge | How many rooms are in hibernated state. Does not include rooms in "deep hibernation". | - | `[HostType, mod_muc_rooms, online]` | gauge | How many rooms have running processes (includes rooms in a hibernated state). | + | `[HostType, mod_muc_rooms, hibernated]` | gauge | How many rooms are in hibernated state. Does not include rooms in "deep hibernation". This metric is updated periodically, every [`instrumentation.probe_interval`](../configuration/instrumentation.md#instrumentationprobe_interval). | + | `[HostType, mod_muc_rooms, online]` | gauge | How many rooms have running processes (includes rooms in a hibernated state). This metric is updated periodically, every [`instrumentation.probe_interval`](../configuration/instrumentation.md#instrumentationprobe_interval). | diff --git a/doc/operation-and-maintenance/MongooseIM-metrics.md b/doc/operation-and-maintenance/MongooseIM-metrics.md index b9268d669cd..24ca91c2b05 100644 --- a/doc/operation-and-maintenance/MongooseIM-metrics.md +++ b/doc/operation-and-maintenance/MongooseIM-metrics.md @@ -258,9 +258,11 @@ Metrics specific to an extension, e.g. Message Archive Management, are described ## Global metrics +All of these metrics are updated periodically. The interval at which they are probed can be configured with the [`instrumentation.probe_interval` option]. + === "Prometheus" - | Name | Type | Description (when it gets incremented) | + | Name | Type | Description | | ---- | ---- | -------------------------------------- | | `sm_node_sessions_count` | gauge | A number of sessions connected to a given MongooseIM node. | | `sm_total_sessions_count` | gauge | A number of sessions connected to a MongooseIM cluster. | @@ -273,7 +275,7 @@ Metrics specific to an extension, e.g. Message Archive Management, are described === "Exometer" - | Name | Type | Description (when it gets incremented) | + | Name | Type | Description | | ---- | ---- | -------------------------------------- | | `[global, sm_node_sessions, count]` | gauge | A number of sessions connected to a given MongooseIM node. | | `[global, sm_total_sessions, count]` | gauge | A number of sessions connected to a MongooseIM cluster. | @@ -344,6 +346,8 @@ All metrics are in bytes, and refer to unencrypted data (before encryption or af ### CETS system metrics +All of these metrics are updated periodically. The interval at which they are probed can be configured with the [`instrumentation.probe_interval` option]. + === "Prometheus" | Metric name | Type | Description | @@ -384,10 +388,12 @@ For RDBMS global pool defined, an instance of these metrics are available. Prometheus metrics have a `pool_tag` label associated with these metrics. Since Exometer doesn't support labels, the tags are part of the metric names. +All of these metrics are updated periodically. The interval at which they are probed can be configured with the [`instrumentation.probe_interval` option]. + === "Prometheus" - | Name | Type | Description (when it gets incremented) | - | ---- | ---- | -------------------------------------- | + | Name | Type | Description | + | ---- | ---- | ----------- | | `wpool_global_rdbms_stats_workers` | gauge | Number of workers in the pool | | `wpool_global_rdbms_stats_recv_oct` | counter | Number of bytes received | | `wpool_global_rdbms_stats_recv_cnt` | counter | Number of packets received | @@ -399,8 +405,8 @@ Since Exometer doesn't support labels, the tags are part of the metric names. === "Exometer" - | Name | Type | Description (when it gets incremented) | - |-------------------------------------------------------------------|---------|----------------------------------------| + | Name | Type | Description | + | ---- | ---- | ----------- | | `[global, wpool_global_rdbms_stats, PoolTag, workers]` | counter | Number of workers in the pool | | `[global, wpool_global_rdbms_stats, PoolTag, recv_oct]` | spiral | Number of bytes received | | `[global, wpool_global_rdbms_stats, PoolTag, recv_cnt]` | spiral | Number of packets received | From e4b8918818116def8ef89452c7d260bf01c1b851 Mon Sep 17 00:00:00 2001 From: Gustaw Lippa Date: Tue, 20 Aug 2024 16:20:51 +0200 Subject: [PATCH 14/16] Fix mod_ping_response_timeout_count event name --- doc/modules/mod_ping.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/modules/mod_ping.md b/doc/modules/mod_ping.md index 443db8acd81..8667b62ced0 100644 --- a/doc/modules/mod_ping.md +++ b/doc/modules/mod_ping.md @@ -62,7 +62,7 @@ Since Exometer doesn't support labels, the host types, or word `global`, are par |------|------|----------------------------------------| | `mod_ping_response_count` | counter | Client responds to a ping. | | `mod_ping_response_time` | histogram | Response times (doesn't include timeouts). | - | `mod_ping_response_timeout` | counter | Ping request timeouts without a response from client. | + | `mod_ping_response_timeout_count` | counter | Ping request timeouts without a response from client. | === "Exometer" From 3f3a664fa78f8436412f92fda884757c27affbee Mon Sep 17 00:00:00 2001 From: Gustaw Lippa Date: Tue, 20 Aug 2024 16:23:14 +0200 Subject: [PATCH 15/16] Rephrase all_metrics_are_global description --- doc/configuration/instrumentation.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/doc/configuration/instrumentation.md b/doc/configuration/instrumentation.md index 9cd77bdaf10..482044f8468 100644 --- a/doc/configuration/instrumentation.md +++ b/doc/configuration/instrumentation.md @@ -29,8 +29,9 @@ General options for the Exometer reporter: * **Default:** `false` * **Example:** `all_metrics_are_global = true` -When enabled, all per-host metrics are merged into global equivalents. -This option significantly reduces CPU and (especially) memory footprint in setups with exceptionally many domains (thousands, tens of thousands). +When enabled, all per host type metrics are merged into global equivalents. +The option should be used if you have exceptionally many [host types](../configuration/general.md#generalhost_types) or [static hosts (static domains)](../configuration/general.md#generalhosts). +It is recommended when the number of host types or static domains is in the hundreds, as it significantly reduces CPU usage and (especially) memory footprint in those setups. ## Exometer reporter options From 9a8a5099b012f15c075771e97636830fa92fa0ac Mon Sep 17 00:00:00 2001 From: Gustaw Lippa Date: Tue, 20 Aug 2024 16:42:00 +0200 Subject: [PATCH 16/16] Note logging verbosity and possible level override --- doc/configuration/instrumentation.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/doc/configuration/instrumentation.md b/doc/configuration/instrumentation.md index 482044f8468..91709eee9c3 100644 --- a/doc/configuration/instrumentation.md +++ b/doc/configuration/instrumentation.md @@ -96,11 +96,14 @@ In case both `prefix` and `env_prefix` are defined, it will be placed before the * **Default:** `"debug"` * **Example:** `loglevel = "error"` -Severity level at which all the events will be logged. +Base severity level at which all the events will be logged. +Note that for some events, the level may be different, and this option overridden (for example lower for events meant only for debugging purposes). !!! note In order for instrumentation events to appear in logs, the [`general.loglevel` option](../configuration/general.md#generalloglevel) has to be set to the same or lower level. + However, this may make the logs overly verbose, as most of the events important for a MongooseIM operator are logged anyway with appropriete severity levels. + The main purpose of this option is debugging, and is not recommended for production systems, thus the default `"debug"` value. ## Example Prometheus configuration