分析监控数据用

'''
Created on 2015-1-31
tsar -l -i 1 >/var/log.txt &
@author: 文字
'''
import matplotlib.pyplot as plt
import numpy as np


def readLog(fileName):
    dict = {}
    timeList = []
    cpuUtilList = []
    memUtilList = []
    tcpRetranList = []
    trafficPktinList = []
    trafficPktoutList = []
    sdaUtilList = []
    loadLoad1List = []
    
    
    data = open(fileName)
    for x in data:
        if "---cpu" in x:
            pass
        elif 'Time          ' in x:
            pass
        else:
            
            time = removeSpace(x.split(' '))[0]
            cpuUtil = removeSpace(x.split(' '))[1]
            memUtil = removeSpace(x.split(' '))[2]
            tcpRetran = removeSpace(x.split(' '))[3]
            trafficPktin = removeSpace(x.split(' '))[4]
            trafficPktout = removeSpace(x.split(' '))[5]
            sdaUtil = removeSpace(x.split(' '))[6]
            loadLoad1 = removeSpace(x.split(' '))[7]
            
            timeList.append(time)
            cpuUtilList.append(cpuUtil)
            memUtilList.append(memUtil)
            tcpRetranList.append(tcpRetran)
            trafficPktinList.append(trafficPktin)
            trafficPktoutList.append(trafficPktout)
            sdaUtilList.append(sdaUtil)
            loadLoad1List.append(loadLoad1)
    dict['Time'] = timeList
    dict['PpuUtil'] = cpuUtilList
    
    dict['MemUtil'] = memUtilList
    dict['TcpRetran'] = tcpRetranList
    
    dict['TrafficPktin'] = trafficPktinList
    dict['TrafficPktout'] = trafficPktoutList
    
    dict['SdaUtil'] = sdaUtilList
    dict['LoadLoad1'] = loadLoad1List
    
    return dict
            
            
def removeSpace(list):
    newList = []
#    list = ['02/02-11:56', '', '', '', '1.0', '', '', '', '', '73.2', '', '', '', '', '', '0.0', '', '', '', '', '', '6.0', '', '', '', '', '0.0', '', '', '', '', '', '0.0', '', '', '', '', '', '0.1', '', '', '\n']
    for x in list:
        if x == '':
            pass
        elif x == '\n':
            pass
        else:
            newList.append(x)
    return newList


def show(dict):          
    timeList = dict['Time']
    cpuUtilList = dict['PpuUtil']
    
    memUtilList = dict['MemUtil']
    tcpRetranList = dict['TcpRetran']
    
    trafficPktinList = dict['TrafficPktin'] 
    trafficPktoutList = dict['TrafficPktout']
    
    sdaUtilList = dict['SdaUtil']
    loadLoad1List = dict['LoadLoad1'] 
    
   
    fig = plt.figure(7)
    
#    plt.plot(timeList)
    plt.plot(cpuUtilList)
    
    plt.plot(memUtilList)
    plt.plot(tcpRetranList)
    
    plt.plot(trafficPktinList)
    plt.plot(trafficPktoutList)
    
    plt.plot(sdaUtilList)
    plt.plot(loadLoad1List)
    
    plt.title('tsar: cpu-util  mem-util  tcp-retran  traffic-pktin  traffic-pktout  sda-util load-load1')
    
    plt.xticks(range(len(timeList)), timeList)
    plt.show()




fileName = "C:\\Users\\Administrator\\Desktop\\eclipse\\log.txt"
show(readLog(fileName))
随着信息技术的不断发展,数字图像处理技术越来越多地被应用在航空航天、生物医学工程、工业检测、机器人视觉、军事制导和文化艺术等各个领域。图像处理日益成为一门引人注目、前景远大的学科,而MATLAB语言以强大的科学运算、灵活程序设计流程、高质量的图形可视化与界面设计、与其他程序和语言便捷的接口功能,成为当今国际上科学界最具影响力、最有活力的软件。MATLAB又称矩阵实验室,其强大的矩阵运算能力是其它语言无法比拟的,而矩阵运算正是图像处理的根本所在。因此,本文以MATLAB提供的图形用户界面(GUI)为平台对图像处理系统进行设计。依据软件开发的设计原则,确定了设计的一般步骤,具体如下: (1)明确系统所要实现的主要功能,应该具有哪些模块。 (2)绘出基本的用户界面草图,并对其进行修改,最终确定一个方案。 (3)根据最终确定的方案,利用MATLAB GUI制作用户操作界面以及其他菜单项目。 (4)编写界面及其菜单里的每个功能的回调程序,并且逐项进行功能检测。根据以上的步骤,首先利用MATLAB图形用户界面设计了该系统的静态界面。当静态界面设计完成之后,GUI将自动生成.FIG和.M文件。其中.FIG文件保存了关于静态窗口界面的所有对象的属性值,.M文件包括GUI设计、控制函数以及为子函数的用户控件回调函数,主要用于控制GUI展开时的各种特征。这个.M文件可以分为GUI初始化和回调函数两个部分,用户控件的回调函数根据用户与GUI的具体交互方式分别调用。回调函数就是在调用对象时,该对象所要回应的动作。 因此,如何编写对象的回调函数是该系统的一大难点。在为编写回调函数时,获得该函数的句柄是实现对象动作功能的关键所在。句柄实际上就是分配给每个对象的数字标识,每次创建对象时,MATLAB就会自动为它创建一个唯一的句柄,这样只要我们能找到该句柄,就能对该对象进行操作。本文首先简单的介绍了MATLAB GUI的基本知识,为系统的界面的设计提供了理论基础;接着系统的介绍了数字图像的一些基础,主要包括图像文件格式,图像的类型以及颜色空间模型,在系统中这些都有所体现;然后详细的介绍了数字图像处理的一些常用技术,这些技术和方法在系统中大都很好的实现了。 本系统实现了图像处理技术中比较实用的若干功能,而且操作简单,容易上手。该系统支持索引图像、灰度图像、二值图像、RGB图像等图像类型;支持BMP、GIF、JPEG、TIFF、PNG等图像文件格式的读,写和显示。并具有很多图像处理功能,例如图像类型转换功能实现了色彩图像、索引图像和二值图像之间的相互转换;编辑功能实现了对图像的旋转和添加噪声操作;图像滤波部分包括中值滤波、巴特沃斯滤波器、邻域平均滤波;图像变换模块主要是傅里叶变换、离散余弦变换、Hough变换和Radon变换;在边缘检测功能中,主要用到了Roberts算子、Sobel算子、Prewitt算子、LoG算子、Canny算子和零交叉法。 其他的模块主要是颜色空间的转换和显示当前的时间和日期。以上这些功能的实现都是在MATLAB语言的基础上,编写M文件程序代码实现的。QPSK调制全称Quadrature Phase Shift Keying,http://blog.sina.com.cn/s/blog_a5b5b79e0101rwlf.html,意为正交相移键控,是一种数字调制方式。它的频带利用率高,且抗干扰性能强,已经成为现代通信技术中一种十分重要的调制解调方式。之所以选择这些功能,是因为这些技术在我们日常的生活中有很强的的应用价值,并且对于一些算法运算量大、算术复杂、处理速度低的技术,可以利用MATLAB简单快捷的得到数据结果,又能够得到直观的图示。 提出了基于普通PC机声卡的LabVIEW和MATLAB的虚拟式语音信号采集与分析处理的设计方案。MATLAB http://blog.sina.com.cn/s/blog_a5b5b79e0101rtqj.html具有很强大的数学计算和图形绘制功能,但它在界面开发能力、数据输入、网络通信、硬件控制方面都比较繁琐,在信号和图像处理等领域具有无可比拟的优势;而LabVIEW刚好是标准的数据采集和仪器控制软件,以其强大的数据采集、数据分析和仪器控制功能在现代测控领域中得到了广泛的应用,但在数值处理分析和算法工具等方面效率低,功能简单,不能满足工程上多方面的要求。将两者结合起来,取长补短,是快速高效开发语音信号和分析系统的一种有效的方法。通过收集资料、整理、归纳出对于语音信号采集与分析的技术手段,综合成本低,便于实现,发挥软件优势的这些因素,选择了该种方案。首先,本课题从学生研究角度的实际情况出发,在分析了语音信号采集的理论知识基础上,基于PC机的集成声卡,运用LabVIEW操作声卡录制一段自己说话的语音信号。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

那美那美

失业了,写文章求吃碗炒面

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值