synapse-old/synapse/util
Richard van der Hoff 18660a34d8
Fix inaccurate per-block metrics (#6491)
`Measure` incorrectly assumed that it was the only thing being done by the parent `LoggingContext`. For instance, during a "renew group attestations" operation, hundreds of `outbound_request` calls could take place in parallel, all using the same `LoggingContext`. This would mean that any resources used during *any* of those calls would be reported against *all* of them, producing wildly inaccurate results.

Instead, we now give each `Measure` block its own `LoggingContext` (using the parent `LoggingContext` mechanism to ensure that the log lines look correct and that the metrics are ultimately propogated to the top level for reporting against requests/backgrond tasks).
2019-12-09 11:55:30 +00:00
..
caches
__init__.py
async_helpers.py
distributor.py
file_consumer.py
frozenutils.py
hash.py
httpresourcetree.py
jsonobject.py
logcontext.py
logformatter.py
manhole.py
metrics.py
module_loader.py
msisdn.py
patch_inline_callbacks.py
ratelimitutils.py
retryutils.py
rlimit.py
stringutils.py
threepids.py
versionstring.py
wheel_timer.py