Получить диагностические значения Dask для распределенного клиента Dask - PullRequest
1 голос
/ 03 июля 2019

Есть ли способ получить диагностические данные Dask, кроме приборной панели для Dask.distributed client?

Dask уже предоставляет хороший Bokeh dashboard, где он отображает довольно много диагностической информации. Однако я хочу не графики, а их значения. Нечто подобное, наряду с отметкой времени, значением прогресса, использованием процессора и памяти. Я хотел бы сохранить эти значения в базе данных для моих собственных целей мониторинга.

До сих пор я пытался использовать функцию Dask.distributed.get_task_stream(), она предоставляет информацию о работниках в списке, но я хотел бы получить в потоковом режиме, что именно показывает график Task Stream на приборная доска.

Примечание: существует пакет с именем dask.diagnostics, и оттуда вы можете импортировать ProgressBar, Profiler(), ResourceProfiler() и т. Д. Однако, насколько я понимаю, они предназначены только для single machine scheduler и не для distributed scheduler. Я прав? Или я могу использовать их для распределенной среды?

1 Ответ

1 голос
/ 03 июля 2019

В большинстве случаев мы рекомендуем функцию get_task_stream, которую вы уже нашли.

Если вы хотите запускать что-то при каждом переходе, вы можете рассмотреть плагины планировщика. В частности, плагин потока задач, который передает эту панель мониторинга, живет здесь:

https://github.com/dask/distributed/blob/master/distributed/diagnostics/task_stream.py

...