Commit 54fc4be9 authored by wanli's avatar wanli

update

parent b6e96ac4
''' '''
Author: your name Author: your name
Date: 2021-06-28 16:56:59 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 LastEditors: Please set LastEditors
Description: In User Settings Edit Description: In User Settings Edit
FilePath: \ewebengine\tools\evm_monitor\controller.py 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): class SystemResource(object):
def get(self): def get(self):
...@@ -107,6 +107,13 @@ def insert_data(msg): ...@@ -107,6 +107,13 @@ def insert_data(msg):
if result: if result:
watch_id = result.id 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"): if msg.get("system"):
msg.get("system").update({ "watch": watch_id }) msg.get("system").update({ "watch": watch_id })
res = systemResource.post(msg.get("system")) res = systemResource.post(msg.get("system"))
......
''' '''
Author: your name Author: your name
Date: 2021-06-28 16:43:12 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 LastEditors: Please set LastEditors
Description: In User Settings Edit Description: In User Settings Edit
FilePath: \ewebengine\tools\evm_monitor\database.py FilePath: \ewebengine\tools\evm_monitor\database.py
''' '''
from datetime import datetime from datetime import datetime
from typing import Protocol
from sqlalchemy import create_engine from sqlalchemy import create_engine
from sqlalchemy import Column, Integer, String, Float from sqlalchemy import Column, Integer, String, Float
from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.ext.declarative import declarative_base
...@@ -25,6 +26,15 @@ class Watch(Base): ...@@ -25,6 +26,15 @@ class Watch(Base):
imei = Column(String) imei = Column(String)
create_at = Column(String, default=get_current_datetime) 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): class System(Base):
__tablename__ = 'monitor_system' __tablename__ = 'monitor_system'
......
''' '''
Author: your name Author: your name
Date: 2021-06-28 14:39:58 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 LastEditors: Please set LastEditors
Description: In User Settings Edit Description: In User Settings Edit
FilePath: \ewebengine\tools\evm_monitor\running_monitor.py FilePath: \ewebengine\tools\evm_monitor\running_monitor.py
...@@ -14,6 +14,7 @@ import json ...@@ -14,6 +14,7 @@ import json
import signal import signal
import logging import logging
import pprint import pprint
from datetime import datetime
from controller import insert_data from controller import insert_data
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
...@@ -150,8 +151,17 @@ class DeviceMessageHandler(BaseHandler): ...@@ -150,8 +151,17 @@ class DeviceMessageHandler(BaseHandler):
data = tornado.escape.json_decode(self.request.body) data = tornado.escape.json_decode(self.request.body)
print("=====>", data, type(data)) print("=====>", data, type(data))
request = {
'host': self.request.host,
'path': self.request.path,
'protocol': self.request.protocol
}
data.update({ 'request': request })
insert_data(data) insert_data(data)
data['request'].update({ 'timestamp': datetime.now().strftime("%Y-%m-%d %H:%M:%S") })
NotifyHandler.broadcastMessage(data) NotifyHandler.broadcastMessage(data)
self.write(json.dumps({ 'code': 100, 'message': 'success' })) self.write(json.dumps({ 'code': 100, 'message': 'success' }))
......
<template> <template>
<div class="app-container"> <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> <h2>SYSTEM</h2>
<el-table <el-table
element-loading-text="Loading" element-loading-text="Loading"
...@@ -74,10 +108,11 @@ ...@@ -74,10 +108,11 @@
<template slot-scope="scope">{{ scope.row.used_pct }}(%)</template> <template slot-scope="scope">{{ scope.row.used_pct }}(%)</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="frag_pct"
label="frag_pct" label="frag_pct"
min-width="180" min-width="180"
></el-table-column> >
<template slot-scope="scope">{{ scope.row.frag_pct }}(%)</template>
</el-table-column>
</el-table> </el-table>
<h2>EVM</h2> <h2>EVM</h2>
<el-table <el-table
...@@ -186,20 +221,18 @@ ...@@ -186,20 +221,18 @@
</div> </div>
</template> </template>
<script> <script>
import { getAppLogsList } from "@/api/app-store";
export default { export default {
name: "AppIndex", name: "AppIndex",
data() { data() {
return { return {
total: 0, device: null,
list: [], devices: {},
deviceList: [],
system: [], system: [],
lvgl: [], lvgl: [],
evm: [], evm: [],
image: [], image: [],
isLoading: false, request: [],
selectList: [],
socket: null, socket: null,
form: { form: {
system: ['free_size'], system: ['free_size'],
...@@ -244,6 +277,16 @@ export default { ...@@ -244,6 +277,16 @@ export default {
this.socket.send(message); this.socket.send(message);
}, },
handleMessage(msg) { 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 => { Object.keys(msg).forEach(item => {
if (this.form[item]) { if (this.form[item]) {
var keys = this.form[item] var keys = this.form[item]
...@@ -263,26 +306,13 @@ export default { ...@@ -263,26 +306,13 @@ export default {
this.system = [{ imei: msg.imei, ...msg.system }]; this.system = [{ imei: msg.imei, ...msg.system }];
this.lvgl = [{ ...msg.lvgl }]; this.lvgl = [{ ...msg.lvgl }];
this.evm = [{ ...msg.evm }]; this.evm = [{ ...msg.evm }];
this.request = [{ ...msg.request }];
this.image = msg.image; this.image = msg.image;
}, },
fetchData(params) { onSelectChange(res) {
this.isLoading = true; this.device = res
getAppLogsList(params) this.processData(this.devices[this.device])
.then((res) => { console.log(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;
});
}, },
}, },
mounted() {}, 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