| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
| |
As in the argument to user:create() and user:roles()
Tricky to come up with something sensible to write when Prosody core
only knows of the 'prosody:admin' role so far.
|
|
|
|
|
| |
The 's2s-created' fires just after accepting the TCP connection, before
the addresses are known, so this can have some false positives.
|
|
|
|
| |
Gives a better idea of what's taking time.
|
|
|
|
|
|
|
|
|
| |
This brings back the queue size limit that was once added, then removed
because destroying the session when reaching the limit was not great.
Instead, the queue wraps and overwrites the oldest unacked stanza on the
assumption that it will probably be acked anyway and thus does not need
to be delivered. If those discarded stanzas turn out to be needed on
resumption then the resumption fails.
|
|
|
|
|
| |
Allows inferring whether Direct TLS was used, or perhaps which SRV
record was chosen. Not shown by default.
|
|
|
|
| |
Is it not odd that um.set_roles() takes `nil` to mean global?
|
| |
|
|
|
|
|
|
|
|
| |
Needed to e.g. grant admin rights on a component, or grant non-local
users local privileges.
Leave the same host syntax for convenience, since this might be the
common case.
|
|
|
|
|
| |
This would allow e.g. granting admin status without changing the config
and without a restart.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
It was all of for some reason
|
|
|
|
| |
I've typed `>require"util.async".wait_for(...)` for the last time!
|
|
|
|
|
| |
'unavailable' was the longest possibility, dropping it probably
differentiates available from unavailable more, in less space.
|
|
|
|
| |
Tricky to represent "secure, but no details" in short enough space.
|
|
|
|
| |
Thanks mod_http_openmetrics
|
|
|
|
| |
Marginal improvement in readability
|
|
|
|
| |
Lets you know what to look for with stats:show()
|
| |
|
|
|
|
| |
Not exactly the way it was before, but close enough and useful.
|
|
|
|
|
|
| |
arcseconds)
I surmise this can happen in a disconnected/smacks hibernation state.
|
|
|
|
|
| |
Seems more like conventional Lua than passing an empty string to signal
lack of value.
|
|
|
|
|
| |
Makes it so that returning e.g. util.cache :table() produces useful
output, which otherwise would look like empty tables.
|
|
|
|
| |
Avoids ellipsis
|
| |
|
| |
|
|
|
|
|
|
| |
as column
Similar to the earlier view
|
|
|
|
|
|
| |
Nicer and more readable.
Thanks jonas’ and prosody@ for JID length stats to inform column widths.
|
|
|
|
|
| |
Because it's nice, not having to find it in http:list(), which could
have a lot of items.
|
|
|
|
| |
Mirroring the internal API
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Some items like HTTP providers would be very verbose, others are tricky
to handle.
|
| |
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
| |
To show info about loaded modules. Inspired by the desire to know
whether a module was loaded from the core set or 3rd party.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
s2sout.lib was removed in 756b8821007a along with srv_hosts and
srv_choice
|
|
|
|
|
| |
Easier to see which timers are happening soon vs further in the future
if they are in some sensible order.
|
|
|
|
| |
These were previously only documented on the site.
|
|
|
|
| |
Attempted readability improvement
|
|
|
|
| |
Accident involving Mercurial interactive commit
|
| |
|
|
|
|
| |
Trick copied from the module commands
|
| |
|
| |
|