mod_log_slow_events/README.markdown
author Kim Alvefur <zash@zash.se>
Mon, 07 Feb 2022 16:52:19 +0100
changeset 4891 806f7c8d830b
parent 2900 d276bf3f0464
permissions -rw-r--r--
mod_ping_muc: Remove 'kick' status code The intent is "you fell off", not "you were kicked out", however older clients may not recognise the 333 code, but that will have to be an acceptable loss.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2900
d276bf3f0464 mod_log_slow_events: Add README
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
     1
---
d276bf3f0464 mod_log_slow_events: Add README
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
     2
labels:
d276bf3f0464 mod_log_slow_events: Add README
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
     3
- 'Stage-Stable'
d276bf3f0464 mod_log_slow_events: Add README
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
     4
summary: Log warning when event handlers take too long
d276bf3f0464 mod_log_slow_events: Add README
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
     5
...
d276bf3f0464 mod_log_slow_events: Add README
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
     6
d276bf3f0464 mod_log_slow_events: Add README
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
     7
Introduction
d276bf3f0464 mod_log_slow_events: Add README
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
     8
============
d276bf3f0464 mod_log_slow_events: Add README
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
     9
d276bf3f0464 mod_log_slow_events: Add README
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    10
Most activities in Prosody take place within our built-in events framework, for
d276bf3f0464 mod_log_slow_events: Add README
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    11
example stanza processing and HTTP request handling, authentication, etc.
d276bf3f0464 mod_log_slow_events: Add README
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    12
d276bf3f0464 mod_log_slow_events: Add README
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    13
Modules are able to execute code when an event occurs, and they should return
d276bf3f0464 mod_log_slow_events: Add README
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    14
as quickly as possible. Poor performance (e.g. slow or laggy server) can be caused
d276bf3f0464 mod_log_slow_events: Add README
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    15
by event handlers that are slow to respond.
d276bf3f0464 mod_log_slow_events: Add README
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    16
d276bf3f0464 mod_log_slow_events: Add README
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    17
This module is able to monitor how long each event takes to be processed, and
d276bf3f0464 mod_log_slow_events: Add README
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    18
logs a warning if an event takes above a certain amount of time, including
d276bf3f0464 mod_log_slow_events: Add README
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    19
providing any details about the event such as the user or stanza that triggered it.
d276bf3f0464 mod_log_slow_events: Add README
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    20
d276bf3f0464 mod_log_slow_events: Add README
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    21
The aim is to help debug why a server may not be as responsive as it should be,
d276bf3f0464 mod_log_slow_events: Add README
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    22
and ultimately which module is to blame for that.
d276bf3f0464 mod_log_slow_events: Add README
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    23
d276bf3f0464 mod_log_slow_events: Add README
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    24
Configuration
d276bf3f0464 mod_log_slow_events: Add README
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    25
======================
d276bf3f0464 mod_log_slow_events: Add README
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    26
d276bf3f0464 mod_log_slow_events: Add README
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    27
There is a single configuration option:
d276bf3f0464 mod_log_slow_events: Add README
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    28
d276bf3f0464 mod_log_slow_events: Add README
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    29
```
d276bf3f0464 mod_log_slow_events: Add README
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    30
   -- Set the number of seconds an event may take before
d276bf3f0464 mod_log_slow_events: Add README
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    31
   -- logging a warning (fractional values are ok)
d276bf3f0464 mod_log_slow_events: Add README
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    32
   log_slow_events_threshold = 0.5
d276bf3f0464 mod_log_slow_events: Add README
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    33
```
d276bf3f0464 mod_log_slow_events: Add README
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    34
d276bf3f0464 mod_log_slow_events: Add README
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    35
Metrics
d276bf3f0464 mod_log_slow_events: Add README
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    36
=======
d276bf3f0464 mod_log_slow_events: Add README
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    37
d276bf3f0464 mod_log_slow_events: Add README
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    38
In addition to the log messages, a new 'slow_events' metric will be exported to
d276bf3f0464 mod_log_slow_events: Add README
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    39
your configured stats backend (if any).
d276bf3f0464 mod_log_slow_events: Add README
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    40
d276bf3f0464 mod_log_slow_events: Add README
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    41
Compatibility
d276bf3f0464 mod_log_slow_events: Add README
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    42
-------------
d276bf3f0464 mod_log_slow_events: Add README
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    43
d276bf3f0464 mod_log_slow_events: Add README
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    44
  ------- --------------
d276bf3f0464 mod_log_slow_events: Add README
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    45
  trunk   Works
d276bf3f0464 mod_log_slow_events: Add README
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    46
  0.10    Works
d276bf3f0464 mod_log_slow_events: Add README
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    47
  0.9     Doesn't work
d276bf3f0464 mod_log_slow_events: Add README
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    48
  0.8     Doesn't work
d276bf3f0464 mod_log_slow_events: Add README
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    49
  ------- --------------