canonical / synapse-operator

synapse-operator - charm repository.
Apache License 2.0
4 stars 4 forks source link

fix: set all units to use the same Prometheus exporter port #440

Closed amandahla closed 1 month ago

amandahla commented 1 month ago

Overview

I wasn't in my right mind when I set the main and workers to have different Prometheus exporter ports...

Since there is no conflict when using the same (a unit can be exclusively a main or a worker), this PR removes all logic regarding that difference and also adds an integration test to guarantee that all units have metrics enabled and listening on the same port (9000).

Rationale

Collect metrics from all units.

Juju Events Changes

Module Changes

Library Changes

Checklist

github-actions[bot] commented 1 month ago

Test coverage for 20123990750a18e6f1107f898b5f83dec5bf8937

Name                            Stmts   Miss Branch BrPart  Cover   Missing
---------------------------------------------------------------------------
src/actions/__init__.py             2      0      0      0   100%
src/actions/register_user.py       21      0      2      0   100%
src/actions/reset_instance.py      20      0      2      0   100%
src/admin_access_token.py           9      0      0      0   100%
src/backup.py                     175      5     24      2    96%   353-354, 423-424, 480->482, 483
src/backup_observer.py            134     16     14      0    89%   132-135, 140-143, 179-182, 211-214
src/charm.py                      330     17     84      9    94%   139->141, 144, 274-275, 303, 310, 391-395, 398-399, 427-429, 449, 479-482, 544-545
src/charm_state.py                133      6     34      4    94%   258, 283, 289, 295, 299-300
src/charm_types.py                 34      0     10      0   100%
src/database_client.py             57      1     12      4    93%   35, 47->exit, 69->exit, 88->98
src/database_observer.py           39      0      4      1    98%   70->72
src/exceptions.py                   3      0      0      0   100%
src/media_observer.py              41      4      2      1    88%   61-63, 82
src/mjolnir.py                     94      3     32      3    95%   82, 86->98, 108-112
src/observability.py               13      0      0      0   100%
src/pebble.py                     186     15     36     10    89%   57->62, 163->exit, 174-178, 197-198, 218-219, 272->277, 291-292, 309, 311, 313, 315, 317, 343
src/redis_observer.py              35      3      4      0    92%   62-65
src/s3_parameters.py               22      0      4      0   100%
src/saml_observer.py               31      0      6      0   100%
src/smtp_observer.py               56      4     14      2    91%   82-86, 89, 108->113
src/synapse/__init__.py             3      0      0      0   100%
src/synapse/admin.py               19      2      2      0    90%   40-41
src/synapse/api.py                175      3     24      3    97%   176, 229, 402
src/synapse/workload.py           275     26     62     12    89%   286-287, 308-309, 387->390, 393, 408->exit, 412-413, 433-434, 474-475, 511-512, 528, 575->578, 602-603, 622, 630->632, 632->634, 639-640, 655, 675-676, 693, 702-703, 722->727, 728
src/user.py                        23      0      4      0   100%
---------------------------------------------------------------------------
TOTAL                            1930    105    376     51    93%

Static code analysis report

Working... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:01
Run started:2024-07-31 11:47:28.397123

Test results:
    No issues identified.

Code scanned:
    Total lines of code: 10701
    Total lines skipped (#nosec): 4
    Total potential issues skipped due to specifically being disabled (e.g., #nosec BXXX): 0

Run metrics:
    Total issues (by severity):
        Undefined: 0
        Low: 0
        Medium: 0
        High: 0
    Total issues (by confidence):
        Undefined: 0
        Low: 0
        Medium: 0
        High: 0
Files skipped (0):