diff options
| author | Qiuwen Lu <[email protected]> | 2017-09-21 20:59:24 +0800 |
|---|---|---|
| committer | Qiuwen Lu <[email protected]> | 2017-09-21 20:59:24 +0800 |
| commit | 89c45d87014cf7f5659dcc894f8582e9c357c0eb (patch) | |
| tree | 66abf47e2fe2743c38d1c77521ab2f6d61dabdb4 /tools/monit_stream | |
| parent | 4f23b34d4b53d8e7086954e8656f6a8e913b5cda (diff) | |
应用状态统计工具支持一次性输出所有应用的统计状态
- 应用状态统计工具支持一次性输出所有应用的统计状态;
- 修正原实现计算比特数时,没有乘以8的Bug。
Diffstat (limited to 'tools/monit_stream')
| -rw-r--r-- | tools/monit_stream/monit_stream.py | 41 |
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) |
