zoukankan      html  css  js  c++  java
  • 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()
    

      

  • 相关阅读:
    HDU 4578
    Luogu 3373
    HDU 6343
    2018牛客网暑期ACM多校训练营(第五场) F
    2018牛客网暑期ACM多校训练营(第五场) E
    2018牛客网暑期ACM多校训练营(第四场) A
    POJ 3580
    HDU 1890
    ZOJ 4029
    2018牛客网暑期ACM多校训练营(第三场) H
  • 原文地址:https://www.cnblogs.com/nerdlerss/p/7215930.html
Copyright © 2011-2022 走看看