Моя цель - создать скрипт bokeh, который показывает использование процессора и памяти несколькими машинами в моей сети.Первый скрипт извлекает использование процессора и памяти, а скрипт bokeh показывает график этих статистических данных за последние несколько секунд.
Я скопировал и вставил некоторый код bokeh (спасибо Интернет), который обновляет два графика встрока, основанная на случайных числах каждые 500 секунд:
import numpy as np
from bokeh.plotting import figure, curdoc
from bokeh.driving import linear
from bokeh.layouts import layout
import random
tools = 'pan'
@linear()
def update(step):
# Instead of random numbers, fetch stats from another script
ds1.data['x'].append(step)
ds1.data['y'].append(random.randint(0,100))
ds2.data['x'].append(step)
ds2.data['y'].append(random.randint(0,100))
ds1.trigger('data', ds1.data, ds1.data)
ds2.trigger('data', ds2.data, ds2.data)
# don't get this yet, but @linear is a decorator. Instead of having @linear(), we could also have
# update = linear(update)
p = figure(plot_width=400, plot_height=400)
r1 = p.line([], [], color="firebrick", line_width=2, legend='line1')
r2 = p.line([], [], color="navy", line_width=2, legend='line2')
ds1 = r1.data_source
ds2 = r2.data_source
curdoc().add_root( p )
# Add a periodic callback to be run every 500 milliseconds
curdoc().add_periodic_callback(update, 500)
Давайте предположим, что первый скрипт тянет кортежи использования памяти / процессора каждые 500 мс, как мне заставить скрипт bokeh извлекать эту информацию?Как только я получу эту информацию, меня установят.
Единственная идея, которая у меня есть сейчас, - записать вывод первого скрипта в файл dict / json / h5 и прочитать его с помощью скрипта bokeh.и добавить эти данные к сюжету.Мне интересно, есть ли лучший способ.