Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
蜕变的菜鸟
glances
提交
c3ef20c3
G
glances
项目概览
蜕变的菜鸟
/
glances
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
glances
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
c3ef20c3
编写于
1月 17, 2021
作者:
N
nicolargo
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
First try. Have to be optimized
上级
f22c3d4f
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
30 addition
and
7 deletion
+30
-7
glances/plugins/glances_network.py
glances/plugins/glances_network.py
+17
-1
glances/plugins/glances_plugin.py
glances/plugins/glances_plugin.py
+13
-6
未找到文件。
glances/plugins/glances_network.py
浏览文件 @
c3ef20c3
...
...
@@ -227,9 +227,21 @@ class Plugin(GlancesPlugin):
# Alert
for
i
in
self
.
stats
:
ifrealname
=
i
[
'interface_name'
].
split
(
':'
)[
0
]
# Convert rate in bps (
to be able to compare to interface speed)
# Convert rate in bps (to be able to compare to interface speed)
bps_rx
=
int
(
i
[
'rx'
]
//
i
[
'time_since_update'
]
*
8
)
bps_tx
=
int
(
i
[
'tx'
]
//
i
[
'time_since_update'
]
*
8
)
# Check if the stats should be hidden
if
bps_rx
!=
0
or
bps_tx
!=
0
:
self
.
views
[
i
[
self
.
get_key
(
)]][
'rx'
][
'_zero'
]
=
self
.
views
[
i
[
self
.
get_key
()]][
'rx'
][
'hidden'
]
self
.
views
[
i
[
self
.
get_key
(
)]][
'tx'
][
'_zero'
]
=
self
.
views
[
i
[
self
.
get_key
()]][
'rx'
][
'hidden'
]
self
.
views
[
i
[
self
.
get_key
(
)]][
'rx'
][
'hidden'
]
=
self
.
views
[
i
[
self
.
get_key
()]][
'rx'
][
'_zero'
]
and
bps_rx
==
0
self
.
views
[
i
[
self
.
get_key
(
)]][
'tx'
][
'hidden'
]
=
self
.
views
[
i
[
self
.
get_key
()]][
'tx'
][
'_zero'
]
and
bps_tx
==
0
# Decorate the bitrate with the configuration file thresolds
alert_rx
=
self
.
get_alert
(
bps_rx
,
header
=
ifrealname
+
'_rx'
)
alert_tx
=
self
.
get_alert
(
bps_tx
,
header
=
ifrealname
+
'_tx'
)
...
...
@@ -290,6 +302,10 @@ class Plugin(GlancesPlugin):
# Do not display interface in down state (issue #765)
if
(
'is_up'
in
i
)
and
(
i
[
'is_up'
]
is
False
):
continue
# Hide 0 value (issue #1787)
if
self
.
get_views
(
item
=
i
[
self
.
get_key
()],
key
=
'rx'
,
option
=
'hidden'
)
and
\
self
.
get_views
(
item
=
i
[
self
.
get_key
()],
key
=
'tx'
,
option
=
'hidden'
):
continue
# Format stats
# Is there an alias for the interface name ?
ifrealname
=
i
[
'interface_name'
].
split
(
':'
)[
0
]
...
...
glances/plugins/glances_plugin.py
浏览文件 @
c3ef20c3
...
...
@@ -428,10 +428,12 @@ class GlancesPlugin(object):
The V of MVC
A dict of dict with the needed information to display the stats.
Example for the stat xxx:
'xxx': {'decoration': 'DEFAULT',
'optional': False,
'additional': False,
'splittable': False}
'xxx': {'decoration': 'DEFAULT', >>> The decoration of the stats
'optional': False, >>> Is the stat optional
'additional': False, >>> Is the stat provide additional information
'splittable': False, >>> Is the stat can be cut (like process lon name)
'hidden': False, >>> Is the stats should be hidden in the UI
'_zero': True} >>> For internal purpose only
"""
ret
=
{}
...
...
@@ -440,12 +442,15 @@ class GlancesPlugin(object):
self
.
get_key
()
is
not
None
):
# Stats are stored in a list of dict (ex: NETWORK, FS...)
for
i
in
self
.
get_raw
():
# i[self.get_key()] is the interface name (example for NETWORK)
ret
[
i
[
self
.
get_key
()]]
=
{}
for
key
in
listkeys
(
i
):
value
=
{
'decoration'
:
'DEFAULT'
,
'optional'
:
False
,
'additional'
:
False
,
'splittable'
:
False
}
'splittable'
:
False
,
'hidden'
:
False
,
'_zero'
:
self
.
views
[
i
[
self
.
get_key
()]][
key
][
'_zero'
]
if
i
[
self
.
get_key
()]
in
self
.
views
and
key
in
self
.
views
[
i
[
self
.
get_key
()]]
else
True
}
ret
[
i
[
self
.
get_key
()]][
key
]
=
value
elif
isinstance
(
self
.
get_raw
(),
dict
)
and
self
.
get_raw
()
is
not
None
:
# Stats are stored in a dict (ex: CPU, LOAD...)
...
...
@@ -453,7 +458,9 @@ class GlancesPlugin(object):
value
=
{
'decoration'
:
'DEFAULT'
,
'optional'
:
False
,
'additional'
:
False
,
'splittable'
:
False
}
'splittable'
:
False
,
'hidden'
:
False
,
'_zero'
:
self
.
views
[
key
][
'_zero'
]
if
key
in
self
.
views
and
'_zero'
in
self
.
views
[
key
]
else
True
}
ret
[
key
]
=
value
self
.
views
=
ret
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录