Статистика потока данных TPL - PullRequest
0 голосов
/ 27 марта 2019

Итак, я недавно начал работать с библиотекой потока данных TPL.Я хотел запустить задачу, которая бы периодически выводила статистику, связанную с одним или несколькими блоками в моем потоке данных.В блоке пропагатора я хотел бы вывести, сколько элементов ожидает обработки, сколько элементов ожидает передачи в следующий блок и сколько элементов было обработано блоком с момента его запуска.

Я был удивлен, обнаружив, что, по-видимому, нет свойств счетчика буфера, предоставляемых любым из интерфейсов dataFlow.Например, класс TransformManyBlock реализует свойства InputCount и OutputCound, но эти свойства не определены ни одним из интерфейсов, которые реализует TransformManyBlock.Это затрудняет создание общего метода, который принимает любой IPropagatorBlock и продолжает вести статистику о потоке данных через этот блок.

В любом случае можно ли вообще подключиться к блоку dataFlow, чтобы получить информацию о том, какмного сообщений ставятся в очередь и / или обрабатываются этим блоком?

...