Esempio n. 1
0
    def data(cls):
        # 如果这些变量可以放到类方法里尽量放到类方法里 不然每次文件被导入或者被继承 类变量都会执行一遍
        cpumax = cpumin = CpuOperat.cpu_rate(waittime=1)
        cpu_writerow = 3
        cpucount = 0
        cpucountnum = 1
        while True:
            try:
                cpu = cls.cpu_rate(waittime=1)
                if cpu > cpumax:
                    cpumax = cpu
                if cpu < cpumin:
                    cpumin = cpu
                cpucount += cpu
                # cpulist.append(cpu)
                cpuaverg = cpucount / cpucountnum
                cls.log.info('当前CPU使用率 = %f' % cpu)
                cls.log.info('当前CPU使用率平均值 = %s' % cpuaverg)
                cls.log.info('当前CPU最大使用值 = %f' % cpumax)
                cls.log.info('当前CPU最小使用值 = %f' % cpumin)

                currenttime = SystemInfo.systime()
                currentactivity = SystemInfo.currentactivity()
                sys_cure = SystemInfo.cpuinfo()['cpucure']
                cpudata = [currenttime, currentactivity, cpu, sys_cure]
                ExcleDataSave.write_cpudata(row=cpu_writerow, cpudata=cpudata)

                cpucountnum += 1
                cpu_writerow += 1
            except Exception as err:
                if err is KeyboardInterrupt:
                    cls.log.error("手动暂停")
                else:
                    cls.log.error("CPU 数据抓取出错 重新运行")
Esempio n. 2
0
 def memdata_write(row=3):
     process_memory = (int(MemoryInfo.get_processmem()[0]) // 2014)
     sys_memory = MemoryInfo.get_sysmem()[0]
     currenttime = time.strftime('%H%:%M:%S', time.localtime(time.time()))
     currentactivity = SystemInfo.currentactivity()
     memdata = [currenttime, currentactivity, process_memory, sys_memory]
     ExcleDataSave.write_memdata(row=row, memdata=memdata)
     return process_memory
Esempio n. 3
0
 def monitor(cls):
     row = 3
     while True:
         try:
             framesdata = FramesTime.timecount()
             ExcleDataSave.write_fpsdata(row=row, framesdata=framesdata)
             time.sleep(3)
             row += 1
         except Exception as err:
             if err is KeyboardInterrupt:
                 cls.log.info('手动暂停')
             else:
                 cls.log.error("帧率测试运行出错 重新开始运行")
Esempio n. 4
0
 def run(self, waittime=2):
     self.log.info("开始线程:%s" % self.name)
     fps_writerow = 3
     while self.stopflag:
         try:
             framesdata = FramesTime.timecount()
             ExcleDataSave.write_fpsdata(row=fps_writerow,
                                         framesdata=framesdata)
             fps_writerow += 1
             time.sleep(waittime)
         except Exception as err:
             if err is KeyboardInterrupt:
                 self.log.info('手动暂停')
             else:
                 self.log.error("帧率测试运行出错 重新开始运行")
     self.log.info("结束线程:%s" % self.name)
Esempio n. 5
0
 def datawrite(cls, writeexcle_row=3, waittime=2):
     old_txnetdata = PackNetData.dataread()[0]
     old_rxnetdata = PackNetData.dataread()[1]
     time.sleep(waittime)
     currenttime = time.strftime('%H%:%M:%S', time.localtime(time.time()))
     new_txnetdata = PackNetData.dataread()[0]
     new_rxnetdata = PackNetData.dataread()[1]
     # tx_sec_data 上行数据 rx_sec_data 下行数据
     tx_sec_data = '{:.2f}'.format((new_txnetdata - old_txnetdata) / 1024)
     cls.log.info("平均上行流量: %skb" % tx_sec_data)
     rx_sec_data = '{:.2f}'.format((new_rxnetdata - old_rxnetdata) / 1024)
     cls.log.info("平均下行流量: %skb" % rx_sec_data)
     txnetdata = [currenttime, new_txnetdata, tx_sec_data]
     rxnetdata = [currenttime, new_rxnetdata, rx_sec_data]
     ExcleDataSave.write_netdata(row=writeexcle_row,
                                 txnetdata=txnetdata,
                                 rxnetdata=rxnetdata)
Esempio n. 6
0
    def battery_writedata(cls, row, waittime=10):
        battery_detaildata = BatteryStats.batterystatsdata()
        current_power = battery_detaildata['totalbattery']

        time.sleep(waittime)
        battery_sysdata = BatteryStats.batterydata()
        temperature = int(battery_sysdata[1]) // 10
        currenttime = SystemInfo.systime()
        currentactivity = SystemInfo.currentactivity()
        batterycapacity = battery_detaildata['batterycapacity']
        new_power = battery_detaildata['totalbattery']
        power_persecond = new_power - current_power
        batterydata = [
            currenttime, batterycapacity, currentactivity, temperature,
            new_power, power_persecond
        ]
        ExcleDataSave.write_batterydata(row=row, batterydata=batterydata)
Esempio n. 7
0
 def run(self, waittime=1):
     """
     :param waittime: cpu_rate 数据抓取时长间隔
     :return:
     """
     self.log.info("开始线程:%s" % self.name)
     cpu_writerow = 3
     while self.stopflag:
         try:
             cpu = CpuOperat.cpu_rate(waittime=waittime)
             currenttime = SystemInfo.systime()
             currentactivity = SystemInfo.currentactivity()
             sys_cure = SystemInfo.cpuinfo()['cpucure']
             cpudata = [currenttime, currentactivity, cpu, sys_cure]
             self.log.info('当前CPU使用率 = %f' % cpu)
             ExcleDataSave.write_cpudata(row=cpu_writerow, cpudata=cpudata)
             cpu_writerow += 1
         except Exception as err:
             if err is KeyboardInterrupt:
                 self.log.error("手动暂停")
             else:
                 self.log.error("CPU 数据抓取出错 重新运行")
     self.log.info("退出线程:%s" % self.name)
    def run(self):
        print("开始线程:" + self.name)
        try:
            test = PackNetData().datawrite()
        except IOError:
            print('excle must be save')
        print("退出线程:" + self.name)


threadcpu = CpuThread(1, "threadcpu")
threadfps = FpsThread(2, "threadfps")
threadbattery = BatteryThread(3, "threadbattery")
threadnet = NetThread(4, "thrednet")
threadmem = MemThread(5, 'threadmem')


if __name__ == "__main__":
    ExcleDataSave.createxcle()
    ExcleDataSave.creat_cputable()
    ExcleDataSave.creat_memtable()
    ExcleDataSave.creat_nettable()
    ExcleDataSave.creat_batterytable()
    ExcleDataSave.creat_fpstable()
    time.sleep(2)

    threadbattery.start()  # 电量数据采集时间较长 所以放在最先运行
    threadmem.start()  # 内存数据同理 放在第二位执行
    threadcpu.start()  # Cpu 数据采集实时 可以放在任何位置
    threadnet.start()
    threadfps.start()