view mod_log_slow_events/README.markdown @ 4210:a0937b5cfdcb

mod_invites_page: Remove preauth URI button This button is incompatible with the majority of XMPP clients around, yet based on feedback from users, many are drawn to click it when they have any XMPP client installed already. In the case where the user already has software installed, we would prefer them to select it from the software list so they can follow the setup process suited to their specific client (we already track which software supports preauth URIs). If their client is not listed, they can still use the manual registration link instead.
author Matthew Wild <mwild1@gmail.com>
date Fri, 16 Oct 2020 11:03:38 +0100
parents d276bf3f0464
children
line wrap: on
line source

---
labels:
- 'Stage-Stable'
summary: Log warning when event handlers take too long
...

Introduction
============

Most activities in Prosody take place within our built-in events framework, for
example stanza processing and HTTP request handling, authentication, etc.

Modules are able to execute code when an event occurs, and they should return
as quickly as possible. Poor performance (e.g. slow or laggy server) can be caused
by event handlers that are slow to respond.

This module is able to monitor how long each event takes to be processed, and
logs a warning if an event takes above a certain amount of time, including
providing any details about the event such as the user or stanza that triggered it.

The aim is to help debug why a server may not be as responsive as it should be,
and ultimately which module is to blame for that.

Configuration
======================

There is a single configuration option:

```
   -- Set the number of seconds an event may take before
   -- logging a warning (fractional values are ok)
   log_slow_events_threshold = 0.5
```

Metrics
=======

In addition to the log messages, a new 'slow_events' metric will be exported to
your configured stats backend (if any).

Compatibility
-------------

  ------- --------------
  trunk   Works
  0.10    Works
  0.9     Doesn't work
  0.8     Doesn't work
  ------- --------------