Commit graph

32 commits

Author SHA1 Message Date
irl
a406a7974b lint: reformat python code with black 2024-12-06 18:15:47 +00:00
irl
39bdac1ecf feat: use custom type to handle existing naive datetimes 2024-12-06 18:03:37 +00:00
Ana Custura
348a4b5cf0 feat: add automation last_run_start, next_run, enabled in the automation collector 2024-12-05 08:45:16 +00:00
Ana Custura
4dd0c4ed22 feat: add prometheus flask metrics 2024-12-04 16:14:20 +00:00
Ana Custura
c50d341c26 feat: move from gunicorn to waitress
Waitress, unlike unicorn, is multi-threaded. As it does not do access logs
by default, the app needs to be wrapped in TransLogger before being passed to
Waitress.

To make the switch, a custom registry is now also used instead of the global REGISTRY
as the default registry for the app. As part of this change, the default
prometheus metrics are then also registered with this new registry.

Closes: #72
2024-12-04 16:14:01 +00:00
irl
ffe097b24f lint: line breaks 2024-12-03 16:13:00 +00:00
irl
173eea2625 feat: metrics collectors don't depend on database being ready
also adds new "database_collector" metric to show current collector status
2024-12-03 14:55:53 +00:00
Ana Custura
0867b13f8f feat: run with gunicorn instead of flask
Each worker now uses its own registry instead of the global REGISTRY
to avoid duplicate metric registration, since metrics are served
from the database.
2024-12-03 10:40:09 +00:00
irl
ae905c6d80 feat: initial api implementation 2024-11-10 13:38:51 +00:00
a482d5bba8 feat: upgrade python version and install frontend in container 2024-11-09 17:12:34 +00:00
28e817f814 lint 2023-10-23 17:53:48 +01:00
64c6414fb8 feat: adds report for blocks today 2023-10-23 17:33:17 +01:00
2498f408c8 lint(type): use narrower [method-assign] instead of [assignment] 2023-03-12 12:25:06 +00:00
62d87341ad app: allow disabling metrics by environment variable 2022-11-15 14:29:50 +00:00
7f9b3b9b64 app: check not_migrating before registering metrics 2022-11-13 19:04:00 +00:00
9373e107fc metrics: merge back to __init__.py to avoid context issues 2022-11-02 14:54:09 +00:00
430ef0f86a metrics: don't fail if no argument is given to command 2022-11-02 14:24:18 +00:00
f92e713e98 ci: update type packages 2022-11-02 14:22:01 +00:00
0ab9fdebc5 metrics: remove type ignores that are no longer required 2022-11-02 13:58:54 +00:00
28c07b7d82 metrics: remove circular import 2022-11-02 13:24:02 +00:00
8aad3368af disable metrics collectors during nosetests 2022-11-02 13:17:20 +00:00
821d5d07db disable metrics collectors during nosetests 2022-11-02 13:10:45 +00:00
a189e8756c lint 2022-10-08 19:26:50 +01:00
3c5abee77c metrics: do not initialise metrics when running db migrations 2022-10-08 19:20:15 +01:00
4081a38552 metrics: refactor into a separate module
as much as possible, given we need flask context
2022-10-05 15:57:58 +01:00
6838596e8f metrics: very basic initial metrics 2022-10-05 15:25:51 +01:00
affa0f0149 tfstate: very basic terraform state backend in flask 2022-08-29 19:16:35 +01:00
dd501a6e4e ci: add flake8 2022-05-16 13:29:48 +01:00
3665c34961 lots of typing fixes 2022-05-16 11:44:03 +01:00
b7a2201ad6 schemas: generate some good schemas 2022-04-27 13:30:49 +01:00
2674e115f3 models: big refactor 2022-04-22 14:01:16 +01:00
09f0b0672d Initial import 2022-04-08 12:59:00 +01:00