有什么方法可以获取Dask诊断数据,而不是Dask.distributed client
的仪表板?
Dask已经提供了一个不错的Bokeh dashboard
,在其中可以绘制很多诊断信息。但是,我要的不是情节而是它们的值。诸如此类,以及时间戳,进度值,cpu和内存使用情况。我想将这些值存储在数据库中以用于自己的监视目的。
到目前为止,我已经尝试使用函数Dask.distributed.get_task_stream()
,它提供列表中有关工作程序的信息,但是我想以一种流的方式获得 Task Stream 图显示在仪表板上。
注意:这里有一个名为dask.diagnostics
的软件包,您可以从其中导入ProgressBar
,Profiler()
,ResourceProfiler()
等。但是,根据我目前的理解,它们仅适用于single machine scheduler
,不适用于distributed scheduler
。我对吗?或者,我可以将它们用于分布式环境吗?
答案 0 :(得分:1)
在大多数情况下,我们建议您使用已经发现的get_task_stream
函数。
如果您想在每次转换时触发某些内容,可以考虑使用Scheduler插件。特别是,提供该仪表板的任务流插件位于此处:
https://github.com/dask/distributed/blob/master/distributed/diagnostics/task_stream.py