mirror of https://github.com/watcha-fr/synapse
Avoid incrementing bg process utime/stime counters by negative durations (#14323)
parent
7911e2835d
commit
2bb2c32e8e
@ -0,0 +1 @@ |
||||
Fix a bug introduced in Synapse 0.34.0rc2 where logs could include error spam when background processes are measured as taking a negative amount of time. |
@ -0,0 +1,19 @@ |
||||
from unittest import TestCase as StdlibTestCase |
||||
from unittest.mock import Mock |
||||
|
||||
from synapse.logging.context import ContextResourceUsage, LoggingContext |
||||
from synapse.metrics.background_process_metrics import _BackgroundProcess |
||||
|
||||
|
||||
class TestBackgroundProcessMetrics(StdlibTestCase): |
||||
def test_update_metrics_with_negative_time_diff(self) -> None: |
||||
"""We should ignore negative reported utime and stime differences""" |
||||
usage = ContextResourceUsage() |
||||
usage.ru_stime = usage.ru_utime = -1.0 |
||||
|
||||
mock_logging_context = Mock(spec=LoggingContext) |
||||
mock_logging_context.get_resource_usage.return_value = usage |
||||
|
||||
process = _BackgroundProcess("test process", mock_logging_context) |
||||
# Should not raise |
||||
process.update_metrics() |
Loading…
Reference in new issue