Commit 54fc4be9 authored by wanli's avatar wanli

update

parent b6e96ac4
'''
Author: your name
Date: 2021-06-28 16:56:59
LastEditTime: 2021-06-29 17:38:25
LastEditTime: 2021-06-29 18:36:23
LastEditors: Please set LastEditors
Description: In User Settings Edit
FilePath: \ewebengine\tools\evm_monitor\controller.py
'''
from database import session, System, Lvgl, Evm, Image, Watch
from database import session, System, Lvgl, Evm, Image, Watch, Request
class SystemResource(object):
def get(self):
......@@ -107,6 +107,13 @@ def insert_data(msg):
if result:
watch_id = result.id
if msg.get("request"):
msg.get("request").update({ "watch": watch_id })
result = Request(**msg.get("request"))
session.add(result)
session.flush()
session.commit()
if msg.get("system"):
msg.get("system").update({ "watch": watch_id })
res = systemResource.post(msg.get("system"))
......
'''
Author: your name
Date: 2021-06-28 16:43:12
LastEditTime: 2021-06-29 18:06:41
LastEditTime: 2021-06-29 18:38:32
LastEditors: Please set LastEditors
Description: In User Settings Edit
FilePath: \ewebengine\tools\evm_monitor\database.py
'''
from datetime import datetime
from typing import Protocol
from sqlalchemy import create_engine
from sqlalchemy import Column, Integer, String, Float
from sqlalchemy.ext.declarative import declarative_base
......@@ -25,6 +26,15 @@ class Watch(Base):
imei = Column(String)
create_at = Column(String, default=get_current_datetime)
class Request(Base):
__tablename__ = 'monitor_request'
id = Column(Integer, primary_key=True, autoincrement=True)
watch = Column(Integer) # 手表ID
host = Column(String)
path = Column(String)
protocol = Column(String)
create_at = Column(String, default=get_current_datetime)
class System(Base):
__tablename__ = 'monitor_system'
......
'''
Author: your name
Date: 2021-06-28 14:39:58
LastEditTime: 2021-06-29 17:59:28
LastEditTime: 2021-06-29 19:01:40
LastEditors: Please set LastEditors
Description: In User Settings Edit
FilePath: \ewebengine\tools\evm_monitor\running_monitor.py
......@@ -14,6 +14,7 @@ import json
import signal
import logging
import pprint
from datetime import datetime
from controller import insert_data
logger = logging.getLogger(__name__)
......@@ -150,8 +151,17 @@ class DeviceMessageHandler(BaseHandler):
data = tornado.escape.json_decode(self.request.body)
print("=====>", data, type(data))
request = {
'host': self.request.host,
'path': self.request.path,
'protocol': self.request.protocol
}
data.update({ 'request': request })
insert_data(data)
data['request'].update({ 'timestamp': datetime.now().strftime("%Y-%m-%d %H:%M:%S") })
NotifyHandler.broadcastMessage(data)
self.write(json.dumps({ 'code': 100, 'message': 'success' }))
......
<template>
<div class="app-container">
<div>
<el-select size="mini" v-model="device" @change="onSelectChange" placeholder="请选择设备">
<el-option v-for="(item, index) in deviceList" :key="index" :label="item" :value="item"></el-option>
</el-select>
</div>
<h2>REQUEST</h2>
<el-table
element-loading-text="Loading"
:data="request"
size="mini"
border
stripe
fit
highlight-current-row
>
<el-table-column
prop="host"
label="host"
min-width="180"
show-overflow-tooltip
></el-table-column>
<el-table-column
prop="path"
label="path"
min-width="180"
show-overflow-tooltip
></el-table-column>
<el-table-column
prop="timestamp"
label="timestamp"
min-width="180"
show-overflow-tooltip
></el-table-column>
</el-table>
<h2>SYSTEM</h2>
<el-table
element-loading-text="Loading"
......@@ -74,10 +108,11 @@
<template slot-scope="scope">{{ scope.row.used_pct }}(%)</template>
</el-table-column>
<el-table-column
prop="frag_pct"
label="frag_pct"
min-width="180"
></el-table-column>
>
<template slot-scope="scope">{{ scope.row.frag_pct }}(%)</template>
</el-table-column>
</el-table>
<h2>EVM</h2>
<el-table
......@@ -186,20 +221,18 @@
</div>
</template>
<script>
import { getAppLogsList } from "@/api/app-store";
export default {
name: "AppIndex",
data() {
return {
total: 0,
list: [],
device: null,
devices: {},
deviceList: [],
system: [],
lvgl: [],
evm: [],
image: [],
isLoading: false,
selectList: [],
request: [],
socket: null,
form: {
system: ['free_size'],
......@@ -244,6 +277,16 @@ export default {
this.socket.send(message);
},
handleMessage(msg) {
if (!this.deviceList.includes(msg.imei)) {
this.deviceList.push(msg.imei)
}
if (!this.device) {
this.device = this.deviceList[0]
}
this.devices[msg.imei] = msg
this.processData(this.devices[this.device])
},
processData(msg) {
Object.keys(msg).forEach(item => {
if (this.form[item]) {
var keys = this.form[item]
......@@ -263,26 +306,13 @@ export default {
this.system = [{ imei: msg.imei, ...msg.system }];
this.lvgl = [{ ...msg.lvgl }];
this.evm = [{ ...msg.evm }];
this.request = [{ ...msg.request }];
this.image = msg.image;
},
fetchData(params) {
this.isLoading = true;
getAppLogsList(params)
.then((res) => {
this.total = res.count;
this.list = res.data.map((item) => {
if (item.source == 1) item.source_text = "后台";
else if (item.source == 2) item.source_text = "接口";
return item;
});
})
.catch((err) => {
// this.$message.error(err.message)
console.log(err.message);
})
.finally(() => {
this.isLoading = false;
});
onSelectChange(res) {
this.device = res
this.processData(this.devices[this.device])
console.log(res)
},
},
mounted() {},
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment