05-python进阶-简单监控程序开发

#!/usr/bin/env python
#coding:utf-8
'''
监控监控程序
'''
import json
import urllib
import inspect

import os,time,socket
'''conf'''
userDefine_check_time = 0

userDefine_json = []



class mon(object):
    def __init__(self):
        #初始化一个字典,讲下面获取到的数据放在地点里面
        self.data = {}

    def gettime(self):
        '''
            tips:我们在监控系统中,获取系统数据的时候,千万不能调取系统命令,
            这样进程开销会非常大
            我们通常优先考虑的的是有没有系统调用能获取到的值 比如我这里的 time.time()这样不会有开进程的开销
            如果没有 我们则退而求其次 通过获取proc的值 proc的系统里面也会有非常多的性能指标
            如果proc里面没有,我们在开启进程去获取
        '''
        return time.time()


    def Run_All_Get(self):
        for fun in inspect.getmembers(self,predicate=inspect.ismethod):


        # 通过这个方法获取类里面所有的方法

            #print(fun[0][:3])
            if fun[0] == 'userDefineMon':
                self.data.update(fun[1]())
            elif  fun[0][:3] == 'get':
                #把方法前缀为get的函数执行并且存到字典里,key为方法名
                print 'start task :', fun[0]
                self.data[fun[0][3:]] = fun[1]()

        return self.data



if __name__ == '__main__':
    print mon().Run_All_Get()

  

posted @ 2017-07-21 09:06  nerdlerss  阅读(163)  评论(0编辑  收藏  举报