Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
E
evm-store
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wanli
evm-store
Commits
54fc4be9
Commit
54fc4be9
authored
Jun 29, 2021
by
wanli
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update
parent
b6e96ac4
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
87 additions
and
30 deletions
+87
-30
evm_monitor/controller.py
evm_monitor/controller.py
+9
-2
evm_monitor/database.py
evm_monitor/database.py
+11
-1
evm_monitor/running_monit.py
evm_monitor/running_monit.py
+11
-1
evm_monitor/src/views/system/index.vue
evm_monitor/src/views/system/index.vue
+56
-26
No files found.
evm_monitor/controller.py
View file @
54fc4be9
'''
Author: your name
Date: 2021-06-28 16:56:59
LastEditTime: 2021-06-29 1
7:38:25
LastEditTime: 2021-06-29 1
8:36:23
LastEditors: Please set LastEditors
Description: In User Settings Edit
FilePath:
\
ewebengine
\t
ools
\
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"
))
...
...
evm_monitor/database.py
View file @
54fc4be9
'''
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
\t
ools
\
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'
...
...
evm_monitor/running_monit.py
View file @
54fc4be9
'''
Author: your name
Date: 2021-06-28 14:39:58
LastEditTime: 2021-06-29 1
7:59:28
LastEditTime: 2021-06-29 1
9:01:40
LastEditors: Please set LastEditors
Description: In User Settings Edit
FilePath:
\
ewebengine
\t
ools
\
evm_monitor
\r
unning_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'
}))
...
...
evm_monitor/src/views/system/index.vue
View file @
54fc4be9
<
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
()
{},
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment