<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <link>http://hg.omfa.de/prosody-hg/</link>
    <language>en-us</language>

    <title>prosody-hg: util/openmetrics.lua history</title>
    <description>util/openmetrics.lua revision history</description>
    <item>
    <title>util: Prefix module imports with prosody namespace</title>
    <link>http://hg.omfa.de/prosody-hg/log/d10957394a3c/util/openmetrics.lua</link>
    <description><![CDATA[util: Prefix module imports with prosody namespace]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Fri, 17 Mar 2023 16:23:16 +0100</pubDate>
</item>
<item>
    <title>util.openmetrics: Update tools.ietf.org URL to datatracker</title>
    <link>http://hg.omfa.de/prosody-hg/log/176fd3ea505c/util/openmetrics.lua</link>
    <description><![CDATA[util.openmetrics: Update tools.ietf.org URL to datatracker<br/>
<br/>
See bd9e006a7a74 for more context]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Mon, 19 Dec 2022 23:11:42 +0100</pubDate>
</item>
<item>
    <title>compat: Use table.pack (there since Lua 5.2) over our util.table</title>
    <link>http://hg.omfa.de/prosody-hg/log/5eaf77114fdb/util/openmetrics.lua</link>
    <description><![CDATA[compat: Use table.pack (there since Lua 5.2) over our util.table<br/>
<br/>
Added in d278a770eddc avoid having to deal with its absence in Lua 5.1.<br/>
No longer needed when Lua 5.1 support is dropped.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Mon, 11 Jul 2022 19:15:24 +0200</pubDate>
</item>
<item>
    <title>compat: Remove handling of Lua 5.1 location of 'unpack' function</title>
    <link>http://hg.omfa.de/prosody-hg/log/39ae08180c81/util/openmetrics.lua</link>
    <description><![CDATA[compat: Remove handling of Lua 5.1 location of 'unpack' function]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Mon, 11 Jul 2022 19:07:38 +0200</pubDate>
</item>
<item>
    <title>util.openmetrics: Set __name field on metatables to improve error messages</title>
    <link>http://hg.omfa.de/prosody-hg/log/7ef7abb72cdd/util/openmetrics.lua</link>
    <description><![CDATA[util.openmetrics: Set __name field on metatables to improve error messages<br/>
<br/>
Don't think we cause any such errors right now, but you never know!]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Mon, 30 May 2022 17:37:25 +0200</pubDate>
</item>
<item>
    <title>util.openmetrics: Set (previously unused, empty) metatable</title>
    <link>http://hg.omfa.de/prosody-hg/log/3caff1f93520/util/openmetrics.lua</link>
    <description><![CDATA[util.openmetrics: Set (previously unused, empty) metatable<br/>
<br/>
Silences luacheck warning about the metatable being unused.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Mon, 30 May 2022 17:34:58 +0200</pubDate>
</item>
<item>
    <title>Spelling: Fix various spelling mistakes (thanks timeless)</title>
    <link>http://hg.omfa.de/prosody-hg/log/05c250fa335a/util/openmetrics.lua</link>
    <description><![CDATA[Spelling: Fix various spelling mistakes (thanks timeless)<br/>
<br/>
Words, sometimes I wonder how they even work<br/>
<br/>
Maybe I missed something.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Mon, 07 Mar 2022 00:13:56 +0100</pubDate>
</item>
<item>
    <title>mod_http_openmetrics: Imported from prosody-modules mod_prometheus @df2246b15075</title>
    <link>http://hg.omfa.de/prosody-hg/log/85d51bfcf56b/util/openmetrics.lua</link>
    <description><![CDATA[mod_http_openmetrics: Imported from prosody-modules mod_prometheus @df2246b15075<br/>
<br/>
This version has several changes from the earlier mod_prometheus:<br/>
<br/>
- Conversion of metrics into the text-based OpenMetrics format is moved to<br/>
  util.openmetrics<br/>
- Support for IP-based access control<br/>
- Compatibility with earlier Prosody versions removed]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Wed, 24 Nov 2021 16:03:05 +0000</pubDate>
</item>
<item>
    <title>util.openmetrics: Use pack from util.table, detect appropriate unpack for Lua 5.1 (thanks sups)</title>
    <link>http://hg.omfa.de/prosody-hg/log/a02c277eb97a/util/openmetrics.lua</link>
    <description><![CDATA[util.openmetrics: Use pack from util.table, detect appropriate unpack for Lua 5.1 (thanks sups)]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Mon, 14 Jun 2021 11:19:42 +0100</pubDate>
</item>
<item>
    <title>util.openmetrics: Prettify format of histogram buckets</title>
    <link>http://hg.omfa.de/prosody-hg/log/0db763f3f3be/util/openmetrics.lua</link>
    <description><![CDATA[util.openmetrics: Prettify format of histogram buckets<br/>
<br/>
&quot;%g&quot; turns 1GB into 1.07374e+09, which is a bit awkward for the bytes<br/>
measurements IMO. Turning up the precision, at &quot;%.17g&quot; turns 0.1 into<br/>
0.10000000000000001 while &quot;%0.16&quot; gives 0.1, hiding most of those pesky<br/>
floating point artefacts. Lua version 5.2 uses &quot;%.14g&quot; ( see<br/>
LUA_NUMBER_FMT in luaconf.h.html ) so it seems like a sensible choice<br/>
here.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Tue, 08 Jun 2021 00:58:27 +0200</pubDate>
</item>
<item>
    <title>Statistics: Rewrite statistics backends to use OpenMetrics</title>
    <link>http://hg.omfa.de/prosody-hg/log/5f15ab7c6ae5/util/openmetrics.lua</link>
    <description><![CDATA[Statistics: Rewrite statistics backends to use OpenMetrics<br/>
<br/>
The metric subsystem of Prosody has had some shortcomings from<br/>
the perspective of the current state-of-the-art in metric<br/>
observability.<br/>
<br/>
The OpenMetrics standard [0] is a formalization of the data<br/>
model (and serialization format) of the well-known and<br/>
widely-used Prometheus [1] software stack.<br/>
<br/>
The previous stats subsystem of Prosody did not map well to that<br/>
format (see e.g. [2] and [3]); the key reason is that it was<br/>
trying to do too much math on its own ([2]) while lacking<br/>
first-class support for &quot;families&quot; of metrics ([3]) and<br/>
structured metric metadata (despite the `extra` argument to<br/>
metrics, there was no standard way of representing common things<br/>
like &quot;tags&quot; or &quot;labels&quot;).<br/>
<br/>
Even though OpenMetrics has grown from the Prometheus world of<br/>
monitoring, it maps well to other popular monitoring stacks<br/>
such as:<br/>
<br/>
- InfluxDB (labels can be mapped to tags and fields as necessary)<br/>
- Carbon/Graphite (labels can be attached to the metric name with<br/>
  dot-separation)<br/>
- StatsD (see graphite when assuming that graphite is used as<br/>
  backend, which is the default)<br/>
<br/>
The util.statsd module has been ported to use the OpenMetrics<br/>
model as a proof of concept. An implementation which exposes<br/>
the util.statistics backend data as Prometheus metrics is<br/>
ready for publishing in prosody-modules (most likely as<br/>
mod_openmetrics_prometheus to avoid breaking existing 0.11<br/>
deployments).<br/>
<br/>
At the same time, the previous measure()-based API had one major<br/>
advantage: It is really simple and easy to use without requiring<br/>
lots of knowledge about OpenMetrics or similar concepts. For that<br/>
reason as well as compatibility with existing code, it is preserved<br/>
and may even be extended in the future.<br/>
<br/>
However, code relying on the `stats-updated` event as well as<br/>
`get_stats` from `statsmanager` will break because the data<br/>
model has changed completely; in case of `stats-updated`, the<br/>
code will simply not run (as the event was renamed in order<br/>
to avoid conflicts); the `get_stats` function has been removed<br/>
completely (so it will cause a traceback when it is attempted<br/>
to be used).<br/>
<br/>
Note that the measure_*_event methods have been removed from<br/>
the module API. I was unable to find any uses or documentation<br/>
and thus deemed they should not be ported. Re-implementation is<br/>
possible when necessary.<br/>
<br/>
   [0]: https://openmetrics.io/<br/>
   [1]: https://prometheus.io/<br/>
   [2]: #959<br/>
   [3]: #960]]></description>
    <author>&#74;&#111;&#110;&#97;&#115;&#32;&#83;&#99;&#104;&#228;&#102;&#101;&#114;&#32;&#60;&#106;&#111;&#110;&#97;&#115;&#64;&#119;&#105;&#101;&#108;&#105;&#99;&#107;&#105;&#46;&#110;&#97;&#109;&#101;&#62;</author>
    <pubDate>Sun, 18 Apr 2021 11:47:41 +0200</pubDate>
</item>

  </channel>
</rss>
