aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/mod_admin_shell.lua
Commit message (Collapse)AuthorAgeFilesLines
...
* mod_admin_shell: Add basic command that shows more info about loaded modulesKim Alvefur2021-06-121-0/+29
| | | | | To show info about loaded modules. Inspired by the desire to know whether a module was loaded from the core set or 3rd party.
* Statistics: Rewrite statistics backends to use OpenMetricsJonas Schäfer2021-04-181-235/+185
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The metric subsystem of Prosody has had some shortcomings from the perspective of the current state-of-the-art in metric observability. The OpenMetrics standard [0] is a formalization of the data model (and serialization format) of the well-known and widely-used Prometheus [1] software stack. The previous stats subsystem of Prosody did not map well to that format (see e.g. [2] and [3]); the key reason is that it was trying to do too much math on its own ([2]) while lacking first-class support for "families" of metrics ([3]) and structured metric metadata (despite the `extra` argument to metrics, there was no standard way of representing common things like "tags" or "labels"). Even though OpenMetrics has grown from the Prometheus world of monitoring, it maps well to other popular monitoring stacks such as: - InfluxDB (labels can be mapped to tags and fields as necessary) - Carbon/Graphite (labels can be attached to the metric name with dot-separation) - StatsD (see graphite when assuming that graphite is used as backend, which is the default) The util.statsd module has been ported to use the OpenMetrics model as a proof of concept. An implementation which exposes the util.statistics backend data as Prometheus metrics is ready for publishing in prosody-modules (most likely as mod_openmetrics_prometheus to avoid breaking existing 0.11 deployments). At the same time, the previous measure()-based API had one major advantage: It is really simple and easy to use without requiring lots of knowledge about OpenMetrics or similar concepts. For that reason as well as compatibility with existing code, it is preserved and may even be extended in the future. However, code relying on the `stats-updated` event as well as `get_stats` from `statsmanager` will break because the data model has changed completely; in case of `stats-updated`, the code will simply not run (as the event was renamed in order to avoid conflicts); the `get_stats` function has been removed completely (so it will cause a traceback when it is attempted to be used). Note that the measure_*_event methods have been removed from the module API. I was unable to find any uses or documentation and thus deemed they should not be ported. Re-implementation is possible when necessary. [0]: https://openmetrics.io/ [1]: https://prometheus.io/ [2]: #959 [3]: #960
* mod_admin_shell: Remove obsolete checks related to s2sout.libKim Alvefur2021-04-061-14/+1
| | | | | s2sout.lib was removed in 756b8821007a along with srv_hosts and srv_choice
* mod_admin_shell: Sort timers by time in debug:timers()Kim Alvefur2021-03-231-1/+6
| | | | | Easier to see which timers are happening soon vs further in the future if they are in some sensible order.
* mod_admin_shell: Add help section with (top level) MUC commandsKim Alvefur2021-02-051-0/+6
| | | | These were previously only documented on the site.
* mod_admin_shell: Pretty-print HTTP endpoints in a human tableKim Alvefur2021-02-031-1/+7
| | | | Attempted readability improvement
* mod_admin_shell: Remove previous print() callKim Alvefur2021-02-031-1/+0
| | | | Accident involving Mercurial interactive commit
* mod_admin_shell: List modules providing each HTTP endpointKim Alvefur2021-02-031-0/+3
|
* mod_admin_shell: List global HTTP endpoints by defaultKim Alvefur2021-02-031-2/+7
| | | | Trick copied from the module commands
* mod_admin_shell: Report CSI queue length from mod_csi_simpleKim Alvefur2020-08-221-1/+5
|
* mod_admin_shell: Report CSI state in c2s:show()Kim Alvefur2020-08-221-0/+3
|
* mod_admin_shell: Handle server_epoll using monotonic time internallyKim Alvefur2020-06-301-2/+9
|
* mod_admin_shell: Fix debug:timers to handle net.server native timersKim Alvefur2020-06-291-6/+16
|
* mod_admin_shell: Update for async.wait_for renameKim Alvefur2020-06-131-2/+2
|
* mod_admin_shell: Fix display of units for some statisticsKim Alvefur2020-06-071-1/+1
|
* mod_admin_shell: Skip multiplier adjustment for ratesKim Alvefur2020-06-041-2/+3
|
* mod_admin_shell: Format stats with util.human.unitsKim Alvefur2020-06-031-36/+36
|
* mod_admin_shell: Fix error due to float passed to os.date in Lua 5.3Kim Alvefur2020-06-021-4/+4
| | | | Thanks Martin
* mod_admin_shell: Remove old variable declaration [luacheck]Matthew Wild2020-06-011-2/+0
|
* mod_admin_shell: Remove extra newline at end of help textMatthew Wild2020-06-011-1/+0
|
* mod_admin_shell, mod_admin_telnet, util.prosodyctl.shell: Separate output ↵Matthew Wild2020-06-011-13/+19
| | | | | | from final result Fixes the client pausing for input after output from commands.
* mod_admin_shell: New module that implements the console interface over an ↵Matthew Wild2020-06-011-0/+1637
admin socket