Commit 867fc5ea authored by Dimitris Lampridis's avatar Dimitris Lampridis

[sw][tools] merge wrtd-logging into wrtd-tool

parent 831ce86a
"""
@file wrtd-logging.py
@copyright: Copyright (c) 2019 CERN (home.cern)
SPDX-License-Identifier: LGPL-3.0-or-later
"""
import sys
import signal
import argparse
from PyWrtd import *
def signal_handler(sig, frame):
sys.exit(0)
def print_logging(wrtd, count):
n_read = 0
while ((count == 0) or (n_read < count)):
log_entry = wrtd.get_next_event_log_entry()
if len(log_entry):
print(log_entry)
n_read += 1
def main():
signal.signal(signal.SIGINT, signal_handler)
parser = argparse.ArgumentParser(description='WRTD node log monitoring tool')
parser.add_argument('-D', '--dev-id', dest='dev', required=True, type=lambda x: int(x,0),
help='MockTurtle device ID (integer) to open')
parser.add_argument('-c', '--count', dest='count', type=int, default=0,
help='Number of entries to read (0 = infinite)')
parser.add_argument('-e', '--enable', action='store_true',
help='Enable event logging on the Node if not already enabled.')
args = parser.parse_args()
dev = 'MT' + str(args.dev)
wrtd = PyWrtd(dev)
if (args.enable):
wrtd.set_attr_bool(PyWrtd.WRTD_GLOBAL_REP_CAP_ID,
PyWrtd.WRTD_ATTR_EVENT_LOG_ENABLED,
True)
print_logging(wrtd, args.count)
if __name__ == "__main__":
main()
......@@ -5,12 +5,17 @@
SPDX-License-Identifier: LGPL-3.0-or-later
"""
import sys
import signal
import time
import argparse
import re
from PyWrtd import *
def signal_handler(sig, frame):
sys.exit(0)
def __tstamp_normalise(tstamp):
ret = tstamp
while (ret['ns'] >= 1000000000):
......@@ -94,6 +99,19 @@ def cmd_set_log(wrtd, args):
wrtd.WRTD_ATTR_EVENT_LOG_ENABLED,
args.set_log == True)
def cmd_show_log(wrtd, args):
if (args.set_log):
cmd_set_log(wrtd, args)
n_read = 0
while ((args.count == 0) or (n_read < args.count)):
log_entry = wrtd.get_next_event_log_entry()
if len(log_entry):
print(log_entry)
n_read += 1
def cmd_clear_log(wrtd, args):
wrtd.clear_event_log_entries()
......@@ -339,6 +357,15 @@ def main():
parents=[devid_parse])
cmd_parser.set_defaults(func=cmd_set_log, set_log=False)
# show-log
cmd_parser = subparsers.add_parser('show-log', help='Show log entries',
parents=[devid_parse])
cmd_parser.add_argument('-c', '--count', dest='count', type=int, default=0,
help='Number of entries to read (0 = infinite, the default)')
cmd_parser.add_argument('-e', '--enable', dest='set_log', action='store_true',
help='Enable event logging on the Node if not already enabled')
cmd_parser.set_defaults(func=cmd_show_log)
# clear-log
cmd_parser = subparsers.add_parser('clear-log', help='Clear pending log entries',
parents=[devid_parse])
......@@ -462,4 +489,5 @@ def main():
args.func(args)
if __name__ == "__main__":
signal.signal(signal.SIGINT, signal_handler)
main()
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