monitoring.py 1.7 KB
from app.models import *
from app.util.component.ApiTemplate import ApiTemplate
import json
import os

class Api(ApiTemplate):
    api_name = "远程监控"

    def process(self):

        # 返回结果
        res = {}
        res["data"] = {}
        try:
            base_dir = os.getcwd()
            
            # 监控文件
            monitor_filepath = os.path.join(base_dir, 'file', 'monitor_log.txt')
            monitor_file = open(monitor_filepath, "r")
            log = monitor_file.read()
            monitor_file.close()
            res["data"]=json.loads(log)
            res["result"] = True
        except Exception as e:
            raise e
        return res

    api_doc = {

        "tags": ["监控接口"],
        "parameters": [
        ],
        "responses": {
            200: {
                "schema": {
                    "properties": {
                    }
                }
            }
        }
    }

    def format_value(self, value):
        # 1024*1024*1024
        if value > 1_073_741_824:
            value = "{}GB".format(format(value/1_073_741_824, '.1f'))
        elif value > 1024**2:
            value = "{}MB".format(format(value / 1_048_576, '.1f'))
        elif value > 1024:
            # 1024*1024
            value = "{}KB".format(format(value / 1024.0, '.1f'))
        else:
            value = "{}B".format(format(value, '.1f'))
        return value
    
    
    def Mb_format_value(self,value):
        if value > 1024:
            value = "{}GB".format(format(value/1024, '.1f'))
        else:
            value = "{}MB".format(format(value, '.1f'))
        return value