aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/mod_admin_shell.lua
Commit message (Collapse)AuthorAgeFilesLines
* util.human.io: Pass nil to cell mapper to signal missing valueKim Alvefur2021-11-121-15/+13
| | | | | Seems more like conventional Lua than passing an empty string to signal lack of value.
* mod_admin_shell: Respect metatables in output serializationKim Alvefur2021-11-121-1/+7
| | | | | Makes it so that returning e.g. util.cache :table() produces useful output, which otherwise would look like empty tables.
* mod_admin_shell: Specify a width for cert columnKim Alvefur2021-11-101-0/+1
| | | | Avoids ellipsis
* mod_admin_shell: Indicate bi-directional s2s connectionsKim Alvefur2021-11-101-1/+2
|
* mod_admin_shell: Allow passing columns as a string for convenienceKim Alvefur2021-11-101-0/+1
|
* mod_admin_shell: Optionally group session listings by host when not included ↵Kim Alvefur2021-11-101-3/+33
| | | | | | as column Similar to the earlier view
* mod_admin_shell: New table based implementation of c2s and s2s:show()Kim Alvefur2021-11-101-198/+245
| | | | | | Nicer and more readable. Thanks jonas’ and prosody@ for JID length stats to inform column widths.
* mod_admin_shell: Show HTTP base-URLs in module:info()Kim Alvefur2021-10-131-1/+2
| | | | | Because it's nice, not having to find it in http:list(), which could have a lot of items.
* mod_admin_shell: Allow passing an exit code to server:shutdown()Kim Alvefur2021-09-301-2/+2
| | | | Mirroring the internal API
* mod_admin_shell: Keep unrestricted environment for session lifetimeKim Alvefur2021-08-111-1/+5
| | | | | | | | Makes it so that global values set in the environment are kept longer than within one line, and thus can be used until the session ends. They still don't pollute the global environment, which is an error anyway. Thanks phryk for noticing.
* mod_admin_shell: module:info: List 'items' that can be formatted easilyKim Alvefur2021-06-121-0/+14
| | | | | Some items like HTTP providers would be very verbose, others are tricky to handle.
* mod_admin_shell: module:info: Show friendlier name for known 'items'Kim Alvefur2021-06-121-1/+9
|
* mod_admin_shell: module:info: List provided 'items'Kim Alvefur2021-06-121-0/+6
|
* mod_admin_shell: module:info: Use existing host string representationKim Alvefur2021-06-121-8/+2
| | | | | | Hosts have a metatable __tostring method that produces a nice representation such as `VirtualHost "example.com"`, which even includes the component module for internal components.
* mod_admin_shell: module:info: List dependenciesKim Alvefur2021-06-121-0/+6
|
* mod_admin_shell: module:info: Show module statusKim Alvefur2021-06-121-0/+3
|
* 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