本文实例为大家分享了python可视化动态CPU性能监控的具体代码,供大家参考,具体内容如下
打算开发web性能监控,以后会去学js,现在用matp来补救下,在官网有此类模板,花了一点时间修改了下,有兴趣的可以去官网看看。
基于matplotoilb和psutil,matplotoilb是有名的数据数据可视化工具,psutil是性能监控工具,所以你需要这两个环境,本文不多说环境的安装。
以下是代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
#!/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() |
下面是效果图,还有很多地方不完善,以后会花点时间完成。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/qq_33083319/article/details/53672278