Software /
code /
prosody
Annotate
.luacheckrc @ 11523:5f15ab7c6ae5
Statistics: Rewrite statistics backends to use OpenMetrics
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
author | Jonas Schäfer <jonas@wielicki.name> |
---|---|
date | Sun, 18 Apr 2021 11:47:41 +0200 |
parent | 11435:a1fa6202fa13 |
child | 11987:4b519c575ad0 |
rev | line source |
---|---|
6667
e4338c0f739a
.luacheckrc: Commit initial config for luacheck
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
1 cache = true |
e4338c0f739a
.luacheckrc: Commit initial config for luacheck
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
2 codes = true |
9694
faebfd3ad2a1
luacheckrc: No longer ignore access to undefined fields on table lib
Kim Alvefur <zash@zash.se>
parents:
9690
diff
changeset
|
3 ignore = { "411/err", "421/err", "411/ok", "421/ok", "211/_ENV", "431/log", } |
6750
2a2eb30b1ed4
luacheckrc: Allow plugins to implement functions under module.* (module.load, etc.)
Matthew Wild <mwild1@gmail.com>
parents:
6667
diff
changeset
|
4 |
9689
9e2ee40b4a0a
luacheckrc: Set Lua standard to 5.3 with 5.2 compat enabled
Kim Alvefur <zash@zash.se>
parents:
9464
diff
changeset
|
5 std = "lua53c" |
7948
ed99a8e3c260
luacheckrc: Set max line length to 150 for now [luacheck]
Kim Alvefur <zash@zash.se>
parents:
7872
diff
changeset
|
6 max_line_length = 150 |
ed99a8e3c260
luacheckrc: Set max line length to 150 for now [luacheck]
Kim Alvefur <zash@zash.se>
parents:
7872
diff
changeset
|
7 |
8567
93695bb1f0e7
luacheckrc: Reflow globals settings
Kim Alvefur <zash@zash.se>
parents:
8557
diff
changeset
|
8 read_globals = { |
93695bb1f0e7
luacheckrc: Reflow globals settings
Kim Alvefur <zash@zash.se>
parents:
8557
diff
changeset
|
9 "prosody", |
93695bb1f0e7
luacheckrc: Reflow globals settings
Kim Alvefur <zash@zash.se>
parents:
8557
diff
changeset
|
10 "import", |
93695bb1f0e7
luacheckrc: Reflow globals settings
Kim Alvefur <zash@zash.se>
parents:
8557
diff
changeset
|
11 }; |
8674
55807a2f5d23
luacheckrc: Only allow top level declarations in the main prosody executable
Kim Alvefur <zash@zash.se>
parents:
8582
diff
changeset
|
12 files["prosody"] = { |
55807a2f5d23
luacheckrc: Only allow top level declarations in the main prosody executable
Kim Alvefur <zash@zash.se>
parents:
8582
diff
changeset
|
13 allow_defined_top = true; |
55807a2f5d23
luacheckrc: Only allow top level declarations in the main prosody executable
Kim Alvefur <zash@zash.se>
parents:
8582
diff
changeset
|
14 module = true; |
55807a2f5d23
luacheckrc: Only allow top level declarations in the main prosody executable
Kim Alvefur <zash@zash.se>
parents:
8582
diff
changeset
|
15 } |
8678
b86f789ac9bd
luacheckrc: Allow top level variables in prosodyctl (eg CFG_*) [luacheck]
Kim Alvefur <zash@zash.se>
parents:
8677
diff
changeset
|
16 files["prosodyctl"] = { |
b86f789ac9bd
luacheckrc: Allow top level variables in prosodyctl (eg CFG_*) [luacheck]
Kim Alvefur <zash@zash.se>
parents:
8677
diff
changeset
|
17 allow_defined_top = true; |
b86f789ac9bd
luacheckrc: Allow top level variables in prosodyctl (eg CFG_*) [luacheck]
Kim Alvefur <zash@zash.se>
parents:
8677
diff
changeset
|
18 module = true; |
b86f789ac9bd
luacheckrc: Allow top level variables in prosodyctl (eg CFG_*) [luacheck]
Kim Alvefur <zash@zash.se>
parents:
8677
diff
changeset
|
19 }; |
7872
3105d35cc2c2
luacheckrc: Allow mutating the global prosody and hosts tables in core/ (luacheck 0.18 adds detection of indirect mutation)
Kim Alvefur <zash@zash.se>
parents:
7479
diff
changeset
|
20 files["core/"] = { |
8567
93695bb1f0e7
luacheckrc: Reflow globals settings
Kim Alvefur <zash@zash.se>
parents:
8557
diff
changeset
|
21 globals = { |
93695bb1f0e7
luacheckrc: Reflow globals settings
Kim Alvefur <zash@zash.se>
parents:
8557
diff
changeset
|
22 "prosody.hosts.?", |
93695bb1f0e7
luacheckrc: Reflow globals settings
Kim Alvefur <zash@zash.se>
parents:
8557
diff
changeset
|
23 }; |
7872
3105d35cc2c2
luacheckrc: Allow mutating the global prosody and hosts tables in core/ (luacheck 0.18 adds detection of indirect mutation)
Kim Alvefur <zash@zash.se>
parents:
7479
diff
changeset
|
24 } |
8381
7f6184474149
luacheckrc: Ignore long commets (e.g. license in util.sasl)
Kim Alvefur <zash@zash.se>
parents:
8239
diff
changeset
|
25 files["util/"] = { |
7f6184474149
luacheckrc: Ignore long commets (e.g. license in util.sasl)
Kim Alvefur <zash@zash.se>
parents:
8239
diff
changeset
|
26 -- Ignore unwrapped license text |
7f6184474149
luacheckrc: Ignore long commets (e.g. license in util.sasl)
Kim Alvefur <zash@zash.se>
parents:
8239
diff
changeset
|
27 max_comment_line_length = false; |
7f6184474149
luacheckrc: Ignore long commets (e.g. license in util.sasl)
Kim Alvefur <zash@zash.se>
parents:
8239
diff
changeset
|
28 } |
11434
66d4067bdfb2
util.jsonschema: Library for JSON Schema validation
Kim Alvefur <zash@zash.se>
parents:
10997
diff
changeset
|
29 files["util/jsonschema.lua"] = { |
66d4067bdfb2
util.jsonschema: Library for JSON Schema validation
Kim Alvefur <zash@zash.se>
parents:
10997
diff
changeset
|
30 ignore = { "211" }; |
66d4067bdfb2
util.jsonschema: Library for JSON Schema validation
Kim Alvefur <zash@zash.se>
parents:
10997
diff
changeset
|
31 } |
11435
a1fa6202fa13
util.datamapper: Library for extracting data from stanzas
Kim Alvefur <zash@zash.se>
parents:
11434
diff
changeset
|
32 files["util/datamapper.lua"] = { |
a1fa6202fa13
util.datamapper: Library for extracting data from stanzas
Kim Alvefur <zash@zash.se>
parents:
11434
diff
changeset
|
33 ignore = { "211" }; |
a1fa6202fa13
util.datamapper: Library for extracting data from stanzas
Kim Alvefur <zash@zash.se>
parents:
11434
diff
changeset
|
34 } |
6750
2a2eb30b1ed4
luacheckrc: Allow plugins to implement functions under module.* (module.load, etc.)
Matthew Wild <mwild1@gmail.com>
parents:
6667
diff
changeset
|
35 files["plugins/"] = { |
8573
85e51205eef7
luacheckrc: Restore module semantics, but only for plugins (ignores some globals)
Kim Alvefur <zash@zash.se>
parents:
8569
diff
changeset
|
36 module = true; |
8674
55807a2f5d23
luacheckrc: Only allow top level declarations in the main prosody executable
Kim Alvefur <zash@zash.se>
parents:
8582
diff
changeset
|
37 allow_defined_top = true; |
7952
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
38 read_globals = { |
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
39 -- Module instance |
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
40 "module.name", |
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
41 "module.host", |
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
42 "module._log", |
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
43 "module.event_handlers", |
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
44 "module.reloading", |
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
45 "module.saved_state", |
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
46 "module.global", |
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
47 "module.path", |
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
48 |
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
49 -- Module API |
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
50 "module.add_extension", |
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
51 "module.add_feature", |
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
52 "module.add_identity", |
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
53 "module.add_item", |
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
54 "module.add_timer", |
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
55 "module.broadcast", |
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
56 "module.context", |
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
57 "module.depends", |
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
58 "module.fire_event", |
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
59 "module.get_directory", |
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
60 "module.get_host", |
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
61 "module.get_host_items", |
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
62 "module.get_host_type", |
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
63 "module.get_name", |
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
64 "module.get_option", |
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
65 "module.get_option_array", |
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
66 "module.get_option_boolean", |
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
67 "module.get_option_inherited_set", |
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
68 "module.get_option_number", |
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
69 "module.get_option_path", |
7981
bbb900cfcfa5
luacheckrc: Add module:get_option_scalar to known globals
Kim Alvefur <zash@zash.se>
parents:
7953
diff
changeset
|
70 "module.get_option_scalar", |
7952
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
71 "module.get_option_set", |
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
72 "module.get_option_string", |
9869
7be5477c399e
.luacheckrc: Update to reflect new module API methods
Matthew Wild <mwild1@gmail.com>
parents:
9744
diff
changeset
|
73 "module.get_status", |
7952
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
74 "module.handle_items", |
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
75 "module.hook", |
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
76 "module.hook_global", |
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
77 "module.hook_object_event", |
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
78 "module.hook_tag", |
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
79 "module.load_resource", |
9869
7be5477c399e
.luacheckrc: Update to reflect new module API methods
Matthew Wild <mwild1@gmail.com>
parents:
9744
diff
changeset
|
80 "module.log", |
7be5477c399e
.luacheckrc: Update to reflect new module API methods
Matthew Wild <mwild1@gmail.com>
parents:
9744
diff
changeset
|
81 "module.log_status", |
7952
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
82 "module.measure", |
11523
5f15ab7c6ae5
Statistics: Rewrite statistics backends to use OpenMetrics
Jonas Schäfer <jonas@wielicki.name>
parents:
11435
diff
changeset
|
83 "module.metric", |
7952
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
84 "module.open_store", |
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
85 "module.provides", |
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
86 "module.remove_item", |
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
87 "module.require", |
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
88 "module.send", |
9744
8132030ff04a
luacheckrc: Teach luacheck about the new module:send_iq() API
Kim Alvefur <zash@zash.se>
parents:
9731
diff
changeset
|
89 "module.send_iq", |
7952
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
90 "module.set_global", |
9869
7be5477c399e
.luacheckrc: Update to reflect new module API methods
Matthew Wild <mwild1@gmail.com>
parents:
9744
diff
changeset
|
91 "module.set_status", |
7952
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
92 "module.shared", |
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
93 "module.unhook", |
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
94 "module.unhook_object_event", |
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
95 "module.wrap_event", |
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
96 "module.wrap_global", |
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
97 "module.wrap_object_event", |
8569
f88bd2428bc2
.luacheckrc: Add awareness of the module:http_url API added by mod_http
Kim Alvefur <zash@zash.se>
parents:
8568
diff
changeset
|
98 |
f88bd2428bc2
.luacheckrc: Add awareness of the module:http_url API added by mod_http
Kim Alvefur <zash@zash.se>
parents:
8568
diff
changeset
|
99 -- mod_http API |
f88bd2428bc2
.luacheckrc: Add awareness of the module:http_url API added by mod_http
Kim Alvefur <zash@zash.se>
parents:
8568
diff
changeset
|
100 "module.http_url", |
7952
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
101 }; |
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
102 globals = { |
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
103 -- Methods that can be set on module API |
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
104 "module.unload", |
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
105 "module.add_host", |
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
106 "module.load", |
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
107 "module.add_host", |
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
108 "module.save", |
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
109 "module.restore", |
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
110 "module.command", |
8048
75e37366a03f
luacheckrc: Declare module.environment as writable (thanks Link Mauve)
Kim Alvefur <zash@zash.se>
parents:
7981
diff
changeset
|
111 "module.environment", |
7952
38053bf1630d
luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents:
7949
diff
changeset
|
112 }; |
6750
2a2eb30b1ed4
luacheckrc: Allow plugins to implement functions under module.* (module.load, etc.)
Matthew Wild <mwild1@gmail.com>
parents:
6667
diff
changeset
|
113 } |
8239
20e3d5689cce
.luacheckrc: Add busted globals for spec/* (thanks av6!)
Matthew Wild <mwild1@gmail.com>
parents:
8048
diff
changeset
|
114 files["spec/"] = { |
9390
b749cce57f08
.luacheckrc: Allow randomize() global in spec/
Matthew Wild <mwild1@gmail.com>
parents:
9326
diff
changeset
|
115 std = "+busted"; |
b749cce57f08
.luacheckrc: Allow randomize() global in spec/
Matthew Wild <mwild1@gmail.com>
parents:
9326
diff
changeset
|
116 globals = { "randomize" }; |
7476
42d8955be784
luacheckrc: Ignore assert helper functions used in tests/*
Kim Alvefur <zash@zash.se>
parents:
6986
diff
changeset
|
117 } |
8557
28f9b8a5d9cb
luacheckrc: Declare known global functions in config file
Kim Alvefur <zash@zash.se>
parents:
8533
diff
changeset
|
118 files["prosody.cfg.lua"] = { |
8582
6a2366759974
luacheckrc: Ignore all unknown globals in config file (ie all settings)
Kim Alvefur <zash@zash.se>
parents:
8573
diff
changeset
|
119 ignore = { "131" }; |
8799
7324a2fe755a
.luacheckrc: Fix whitespace
Matthew Wild <mwild1@gmail.com>
parents:
8727
diff
changeset
|
120 globals = { |
8557
28f9b8a5d9cb
luacheckrc: Declare known global functions in config file
Kim Alvefur <zash@zash.se>
parents:
8533
diff
changeset
|
121 "Host", |
28f9b8a5d9cb
luacheckrc: Declare known global functions in config file
Kim Alvefur <zash@zash.se>
parents:
8533
diff
changeset
|
122 "host", |
28f9b8a5d9cb
luacheckrc: Declare known global functions in config file
Kim Alvefur <zash@zash.se>
parents:
8533
diff
changeset
|
123 "VirtualHost", |
28f9b8a5d9cb
luacheckrc: Declare known global functions in config file
Kim Alvefur <zash@zash.se>
parents:
8533
diff
changeset
|
124 "Component", |
28f9b8a5d9cb
luacheckrc: Declare known global functions in config file
Kim Alvefur <zash@zash.se>
parents:
8533
diff
changeset
|
125 "component", |
28f9b8a5d9cb
luacheckrc: Declare known global functions in config file
Kim Alvefur <zash@zash.se>
parents:
8533
diff
changeset
|
126 "Include", |
28f9b8a5d9cb
luacheckrc: Declare known global functions in config file
Kim Alvefur <zash@zash.se>
parents:
8533
diff
changeset
|
127 "include", |
28f9b8a5d9cb
luacheckrc: Declare known global functions in config file
Kim Alvefur <zash@zash.se>
parents:
8533
diff
changeset
|
128 "RunScript" |
28f9b8a5d9cb
luacheckrc: Declare known global functions in config file
Kim Alvefur <zash@zash.se>
parents:
8533
diff
changeset
|
129 }; |
28f9b8a5d9cb
luacheckrc: Declare known global functions in config file
Kim Alvefur <zash@zash.se>
parents:
8533
diff
changeset
|
130 } |
8800
dd615a7a6b72
.luacheckrc: Ignore currently-unclean files unless env var PROSODY_STRICT_LINT=1
Matthew Wild <mwild1@gmail.com>
parents:
8799
diff
changeset
|
131 |
dd615a7a6b72
.luacheckrc: Ignore currently-unclean files unless env var PROSODY_STRICT_LINT=1
Matthew Wild <mwild1@gmail.com>
parents:
8799
diff
changeset
|
132 if os.getenv("PROSODY_STRICT_LINT") ~= "1" then |
dd615a7a6b72
.luacheckrc: Ignore currently-unclean files unless env var PROSODY_STRICT_LINT=1
Matthew Wild <mwild1@gmail.com>
parents:
8799
diff
changeset
|
133 -- These files have not yet been brought up to standard |
dd615a7a6b72
.luacheckrc: Ignore currently-unclean files unless env var PROSODY_STRICT_LINT=1
Matthew Wild <mwild1@gmail.com>
parents:
8799
diff
changeset
|
134 -- Do not add more files here, but do help us fix these! |
9443
4e881be88727
.luacheckrc: Ignore unused secondaries in non-strict mode
Kim Alvefur <zash@zash.se>
parents:
9442
diff
changeset
|
135 |
8821
c1014eac2a1a
.luacheckrc: Only ignore warnings for excluded files, not syntax errors
Kim Alvefur <zash@zash.se>
parents:
8806
diff
changeset
|
136 local exclude_files = { |
9940
5d5e3d982bdc
.luacheckrc: Correct indentation of 'exclude_files' list
Kim Alvefur <zash@zash.se>
parents:
9869
diff
changeset
|
137 "doc/net.server.lua"; |
8800
dd615a7a6b72
.luacheckrc: Ignore currently-unclean files unless env var PROSODY_STRICT_LINT=1
Matthew Wild <mwild1@gmail.com>
parents:
8799
diff
changeset
|
138 |
9940
5d5e3d982bdc
.luacheckrc: Correct indentation of 'exclude_files' list
Kim Alvefur <zash@zash.se>
parents:
9869
diff
changeset
|
139 "fallbacks/bit.lua"; |
5d5e3d982bdc
.luacheckrc: Correct indentation of 'exclude_files' list
Kim Alvefur <zash@zash.se>
parents:
9869
diff
changeset
|
140 "fallbacks/lxp.lua"; |
8800
dd615a7a6b72
.luacheckrc: Ignore currently-unclean files unless env var PROSODY_STRICT_LINT=1
Matthew Wild <mwild1@gmail.com>
parents:
8799
diff
changeset
|
141 |
9940
5d5e3d982bdc
.luacheckrc: Correct indentation of 'exclude_files' list
Kim Alvefur <zash@zash.se>
parents:
9869
diff
changeset
|
142 "net/dns.lua"; |
5d5e3d982bdc
.luacheckrc: Correct indentation of 'exclude_files' list
Kim Alvefur <zash@zash.se>
parents:
9869
diff
changeset
|
143 "net/server_select.lua"; |
8800
dd615a7a6b72
.luacheckrc: Ignore currently-unclean files unless env var PROSODY_STRICT_LINT=1
Matthew Wild <mwild1@gmail.com>
parents:
8799
diff
changeset
|
144 |
9940
5d5e3d982bdc
.luacheckrc: Correct indentation of 'exclude_files' list
Kim Alvefur <zash@zash.se>
parents:
9869
diff
changeset
|
145 "plugins/mod_storage_sql1.lua"; |
8800
dd615a7a6b72
.luacheckrc: Ignore currently-unclean files unless env var PROSODY_STRICT_LINT=1
Matthew Wild <mwild1@gmail.com>
parents:
8799
diff
changeset
|
146 |
9940
5d5e3d982bdc
.luacheckrc: Correct indentation of 'exclude_files' list
Kim Alvefur <zash@zash.se>
parents:
9869
diff
changeset
|
147 "spec/core_moduleapi_spec.lua"; |
5d5e3d982bdc
.luacheckrc: Correct indentation of 'exclude_files' list
Kim Alvefur <zash@zash.se>
parents:
9869
diff
changeset
|
148 "spec/util_http_spec.lua"; |
5d5e3d982bdc
.luacheckrc: Correct indentation of 'exclude_files' list
Kim Alvefur <zash@zash.se>
parents:
9869
diff
changeset
|
149 "spec/util_ip_spec.lua"; |
5d5e3d982bdc
.luacheckrc: Correct indentation of 'exclude_files' list
Kim Alvefur <zash@zash.se>
parents:
9869
diff
changeset
|
150 "spec/util_multitable_spec.lua"; |
5d5e3d982bdc
.luacheckrc: Correct indentation of 'exclude_files' list
Kim Alvefur <zash@zash.se>
parents:
9869
diff
changeset
|
151 "spec/util_rfc6724_spec.lua"; |
5d5e3d982bdc
.luacheckrc: Correct indentation of 'exclude_files' list
Kim Alvefur <zash@zash.se>
parents:
9869
diff
changeset
|
152 "spec/util_throttle_spec.lua"; |
8800
dd615a7a6b72
.luacheckrc: Ignore currently-unclean files unless env var PROSODY_STRICT_LINT=1
Matthew Wild <mwild1@gmail.com>
parents:
8799
diff
changeset
|
153 |
9940
5d5e3d982bdc
.luacheckrc: Correct indentation of 'exclude_files' list
Kim Alvefur <zash@zash.se>
parents:
9869
diff
changeset
|
154 "tools/ejabberd2prosody.lua"; |
5d5e3d982bdc
.luacheckrc: Correct indentation of 'exclude_files' list
Kim Alvefur <zash@zash.se>
parents:
9869
diff
changeset
|
155 "tools/ejabberdsql2prosody.lua"; |
5d5e3d982bdc
.luacheckrc: Correct indentation of 'exclude_files' list
Kim Alvefur <zash@zash.se>
parents:
9869
diff
changeset
|
156 "tools/erlparse.lua"; |
5d5e3d982bdc
.luacheckrc: Correct indentation of 'exclude_files' list
Kim Alvefur <zash@zash.se>
parents:
9869
diff
changeset
|
157 "tools/jabberd14sql2prosody.lua"; |
5d5e3d982bdc
.luacheckrc: Correct indentation of 'exclude_files' list
Kim Alvefur <zash@zash.se>
parents:
9869
diff
changeset
|
158 "tools/migration/migrator.cfg.lua"; |
5d5e3d982bdc
.luacheckrc: Correct indentation of 'exclude_files' list
Kim Alvefur <zash@zash.se>
parents:
9869
diff
changeset
|
159 "tools/migration/migrator/jabberd14.lua"; |
5d5e3d982bdc
.luacheckrc: Correct indentation of 'exclude_files' list
Kim Alvefur <zash@zash.se>
parents:
9869
diff
changeset
|
160 "tools/migration/migrator/mtools.lua"; |
5d5e3d982bdc
.luacheckrc: Correct indentation of 'exclude_files' list
Kim Alvefur <zash@zash.se>
parents:
9869
diff
changeset
|
161 "tools/migration/migrator/prosody_files.lua"; |
5d5e3d982bdc
.luacheckrc: Correct indentation of 'exclude_files' list
Kim Alvefur <zash@zash.se>
parents:
9869
diff
changeset
|
162 "tools/migration/migrator/prosody_sql.lua"; |
5d5e3d982bdc
.luacheckrc: Correct indentation of 'exclude_files' list
Kim Alvefur <zash@zash.se>
parents:
9869
diff
changeset
|
163 "tools/migration/prosody-migrator.lua"; |
5d5e3d982bdc
.luacheckrc: Correct indentation of 'exclude_files' list
Kim Alvefur <zash@zash.se>
parents:
9869
diff
changeset
|
164 "tools/openfire2prosody.lua"; |
5d5e3d982bdc
.luacheckrc: Correct indentation of 'exclude_files' list
Kim Alvefur <zash@zash.se>
parents:
9869
diff
changeset
|
165 "tools/xep227toprosody.lua"; |
8800
dd615a7a6b72
.luacheckrc: Ignore currently-unclean files unless env var PROSODY_STRICT_LINT=1
Matthew Wild <mwild1@gmail.com>
parents:
8799
diff
changeset
|
166 } |
8821
c1014eac2a1a
.luacheckrc: Only ignore warnings for excluded files, not syntax errors
Kim Alvefur <zash@zash.se>
parents:
8806
diff
changeset
|
167 for _, file in ipairs(exclude_files) do |
c1014eac2a1a
.luacheckrc: Only ignore warnings for excluded files, not syntax errors
Kim Alvefur <zash@zash.se>
parents:
8806
diff
changeset
|
168 files[file] = { only = {} } |
c1014eac2a1a
.luacheckrc: Only ignore warnings for excluded files, not syntax errors
Kim Alvefur <zash@zash.se>
parents:
8806
diff
changeset
|
169 end |
8800
dd615a7a6b72
.luacheckrc: Ignore currently-unclean files unless env var PROSODY_STRICT_LINT=1
Matthew Wild <mwild1@gmail.com>
parents:
8799
diff
changeset
|
170 end |