Измерьте время, которое событие асинхронного ввода-вывода было проведено в очереди событий завершения io_service - PullRequest
0 голосов
/ 19 ноября 2018

Мне интересно, есть ли способ измерить время, которое событие асинхронного ввода-вывода, такое как async_read или async_write, потратило в очереди событий завершения io_service до того, как был вызван его обработчик завершения.

Проблема здесь в том, что вы не можете на самом деле пометить время, когда событие было вставлено в очередь io_service, что вы можете сделать, когда сами публикуете работу в io_service - boost :: asio :: io_service длина занятой очереди для таймеров и сообщений

Идея состоит в том, чтобы проверить, оставалось ли событие в состоянии готовности слишком долго. Затем вы можете со временем реагировать на это и динамически увеличивать рабочие потоки.

...