Python視覺化動態CPU效能監控
阿新 • • 發佈:2019-02-06
打算開發web效能監控,以後會去學js,現在用matp來補救下,在官網有此類模板,花了一點時間修改了下,有興趣的可以去官網看看
基於matplotoilb和psutil,matplotoilb是有名的資料資料視覺化工具,psutil是效能監控工具,所以你需要這兩個環境,本文不多說環境的安裝。
以下是程式碼:
#!/usr/bin/env python
#-*-coding:utf-8 -*-
import matplotlib.pyplot as plt
import matplotlib.animation as animation
import psutil
def data_gen(t=0 ): #設定xy變數
x = 0
y = 1
while True:
y = psutil.cpu_percent(interval=1) #獲取cpu數值,1s獲取一次。
x += 1
yield x,y
def init():
ax.set_xlim(0, 10) #起始x 1-10
ax.set_ylim(0, 100) #設定y相當於0%-100%
del xdata[:]
del ydata[:]
line.set_data(xdata, ydata)
return line,
fig, ax = plt.subplots()
line, = ax.plot([], [], lw=2) #線畫素比
ax.grid()
xdata, ydata = [], []
def run(data):
# update the data
t, y = data
xdata.append(t)
ydata.append(y)
xmin, xmax = ax.get_xlim()
if t >= xmax: #表格隨資料移動
ax.set_xlim(xmin+10, xmax+10)
ax.figure.canvas.draw()
line.set_data(xdata, ydata)
return line,
ani = animation.FuncAnimation(fig, run, data_gen, blit=False, interval=10,
repeat=False, init_func=init)
plt.show()
下面是效果圖,還有很多地方不完善,以後會花點時間完成。