获取Dask分布式客户端的Dask诊断值

时间:2019-07-03 10:24:50

标签: dask dask-distributed

有什么方法可以获取Dask诊断数据,而不是Dask.distributed client的仪表板?

Dask已经提供了一个不错的Bokeh dashboard,在其中可以绘制很多诊断信息。但是,我要的不是情节而是它们的值。诸如此类,以及时间戳,进度值,cpu和内存使用情况。我想将这些值存储在数据库中以用于自己的监视目的。

到目前为止,我已经尝试使用函数Dask.distributed.get_task_stream(),它提供列表中有关工作程序的信息,但是我想以一种流的方式获得 Task Stream 图显示在仪表板上。

注意:这里有一个名为dask.diagnostics的软件包,您可以从其中导入ProgressBarProfiler()ResourceProfiler()等。但是,根据我目前的理解,它们仅适用于single machine scheduler,不适用于distributed scheduler。我对吗?或者,我可以将它们用于分布式环境吗?

1 个答案:

答案 0 :(得分:1)

在大多数情况下,我们建议您使用已经发现的get_task_stream函数。

如果您想在每次转换时触发某些内容,可以考虑使用Scheduler插件。特别是,提供该仪表板的任务流插件位于此处:

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