Автор | SHA1 | Повідомлення | Дата |
---|---|---|---|
Patrick Cloke |
cc4fe68adf
|
Support reactor timing metric on more reactors. (#16532)
Previously only Twisted's EPollReactor was compatible with the reactor timing metric, notably not working when asyncio was used. After this change, the following configurations support the reactor timing metric: * poll, epoll, or select reactors * asyncio reactor with a poll, epoll, select, /dev/poll, or kqueue event loop. |
6 місяці тому |
Richard van der Hoff |
ae01a7edd3
|
Update type annotations for compatiblity with prometheus_client 0.14 (#12389)
Principally, `prometheus_client.REGISTRY.register` now requires its argument to extend `prometheus_client.Collector`. Additionally, `Gauge.set` is now annotated so that passing `Optional[int]` causes an error. |
2 роки тому |
Patrick Cloke |
c072c0b829
|
Fix mypy for platforms without epoll support. (#11771) | 2 роки тому |
Richard van der Hoff |
6a78ede569
|
Improve `reactor_tick_time` metric (#11724)
The existing implementation of the `python_twisted_reactor_tick_time` metric is pretty useless, because it *only* measures the time taken to execute timed calls and callbacks from threads. That neglects everything that happens off the back of I/O, which is obviously quite a lot for us. To improve this, I've hooked into a different place in the reactor - in particular, where it calls `epoll`. That call is the only place it should wait for something to happen - the rest of the loop *should* be quick. I've also removed `python_twisted_reactor_pending_calls`, because I don't believe anyone ever looks at it, and it's a nuisance to populate. |
2 роки тому |