summaryrefslogtreecommitdiff
path: root/tools/monit_stream
diff options
context:
space:
mode:
authorQiuwen Lu <[email protected]>2017-09-21 20:59:24 +0800
committerQiuwen Lu <[email protected]>2017-09-21 20:59:24 +0800
commit89c45d87014cf7f5659dcc894f8582e9c357c0eb (patch)
tree66abf47e2fe2743c38d1c77521ab2f6d61dabdb4 /tools/monit_stream
parent4f23b34d4b53d8e7086954e8656f6a8e913b5cda (diff)
应用状态统计工具支持一次性输出所有应用的统计状态
- 应用状态统计工具支持一次性输出所有应用的统计状态; - 修正原实现计算比特数时,没有乘以8的Bug。
Diffstat (limited to 'tools/monit_stream')
-rw-r--r--tools/monit_stream/monit_stream.py41
1 files changed, 28 insertions, 13 deletions
diff --git a/tools/monit_stream/monit_stream.py b/tools/monit_stream/monit_stream.py
index 7d343d8..5663b7d 100644
--- a/tools/monit_stream/monit_stream.py
+++ b/tools/monit_stream/monit_stream.py
@@ -16,21 +16,25 @@ KBPS = (1 * 1000)
G_JSON_PATH = '/var/run/mrzcpd/mrmonit.daemon'
G_APP_JSON_PATH = '/var/run/mrzcpd/mrmonit.app.%s'
-TITLE_VECTOR_RX = ['RxOnline', 'RxDeliver', 'RxMissed', 'RxBits']
-TITLE_VECTOR_TX = ['TxOnline', 'TxDeliver', 'TxMissed', 'TxBits']
-TITLE_VECTOR_FTX = ['FTXOnline', 'FTXDeliver', 'FTXMissed', 'FTXBits']
+#TITLE_VECTOR_RX = ['RxOnline', 'RxDeliver', 'RxMissed', 'RxBits']
+#TITLE_VECTOR_TX = ['TxOnline', 'TxDeliver', 'TxMissed', 'TxBits']
+#TITLE_VECTOR_FTX = ['FTXOnline', 'FTXDeliver', 'FTXMissed', 'FTXBits']
+
+TITLE_VECTOR_RX = ['RxPkts', 'RxBits', 'RxDrops']
+TITLE_VECTOR_TX = ['TxPkts', 'TxBits', 'TxDrops']
+TITLE_VECTOR_FTX = ['FTxPkts', 'FTxBits', 'FTxDrops']
TITLE_MAP = { 'RxOnline' : 'rx_on_line',
- 'RxDeliver' : 'rx_deliver',
- 'RxMissed' : 'rx_missed',
+ 'RxPkts' : 'rx_deliver',
+ 'RxDrops' : 'rx_missed',
'RxBits' : 'rx_total_len',
'TxOnline' : 'tx_on_line',
- 'TxDeliver' : 'tx_deliver',
- 'TxMissed' : 'tx_missed',
+ 'TxPkts' : 'tx_deliver',
+ 'TxDrops' : 'tx_missed',
'TxBits' : 'tx_total_len',
'FTXOnline' : 'ftx_on_line',
- 'FTXDeliver' : 'ftx_deliver',
- 'FTXMissed' : 'ftx_missed',
+ 'FTxPkts' : 'ftx_deliver',
+ 'FTxDrops' : 'ftx_missed',
'FTXBits' : 'ftx_total_len'
}
@@ -176,7 +180,7 @@ def dump_human_table(json_fp, appsym, devsym, title_vector_rx, title_vector_tx,
print(table_phydev)
-def setup_argv_parser():
+def setup_argv_parser(applist):
parser = argparse.ArgumentParser(description='Marsio ZeroCopy Tools -- Monitor stream information',
version = 'Marsio ZeroCopy Tools Suite 4.1')
@@ -197,7 +201,8 @@ def setup_argv_parser():
action='store_true', default = 0)
parser.add_argument('--per-stream', help = 'print per thread/stream value',
action='store_true', default = 0)
- parser.add_argument('app', metavar='APP', help = 'the name of slave application', nargs ='+')
+ parser.add_argument('app', metavar='APP', help = 'the name of slave application', nargs = '*',
+ default=applist)
return parser.parse_args()
@@ -207,7 +212,11 @@ def global_json_load():
def app_json_load(appsym):
with open(G_APP_JSON_PATH % appsym) as json_fp:
- return json.load(json_fp)
+ return json.load(json_fp)
+
+def app_symbol_load():
+ j_global = global_json_load()
+ return [s["symbol"] for s in j_global["app"] if s["registed"] == 1]
def sigint_handler(handler, frame):
sys.exit(0)
@@ -225,10 +234,16 @@ def check_vdev_options(json_fp, r_option):
def main():
signal.signal(signal.SIGINT, sigint_handler)
- r_option = setup_argv_parser()
# Check Parameters
try:
+ applist = app_symbol_load()
+ if len(applist) == 0:
+ print("monit_stream: error: no running application.")
+ sys.exit(1)
+
+ r_option = setup_argv_parser(applist)
+
for appsym in r_option.app:
__json_fp = app_json_load(appsym)