[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 3/9] simpletrace: changed naming of edict and idtoname to improve
From: |
Mads Ynddal |
Subject: |
[PATCH 3/9] simpletrace: changed naming of edict and idtoname to improve readability |
Date: |
Tue, 21 Feb 2023 10:00:58 +0100 |
From: Mads Ynddal <m.ynddal@samsung.com>
Readability is subjective, but I've expanded the naming of the variables
and arguments, to help with understanding for new eyes on the code.
Signed-off-by: Mads Ynddal <m.ynddal@samsung.com>
---
scripts/simpletrace.py | 34 +++++++++++++++++-----------------
1 file changed, 17 insertions(+), 17 deletions(-)
diff --git a/scripts/simpletrace.py b/scripts/simpletrace.py
index 7ba805443d..9981699630 100755
--- a/scripts/simpletrace.py
+++ b/scripts/simpletrace.py
@@ -33,17 +33,17 @@ def read_header(fobj, hfmt):
return None
return struct.unpack(hfmt, hdr)
-def get_record(edict, idtoname, rechdr, fobj):
+def get_record(event_mapping, event_id_to_name, rechdr, fobj):
"""Deserialize a trace record from a file into a tuple
(name, timestamp, pid, arg1, ..., arg6)."""
if rechdr is None:
return None
if rechdr[0] != dropped_event_id:
event_id = rechdr[0]
- name = idtoname[event_id]
+ name = event_id_to_name[event_id]
rec = (name, rechdr[1], rechdr[3])
try:
- event = edict[name]
+ event = event_mapping[name]
except KeyError as e:
sys.stderr.write('%s event is logged but is not declared ' \
'in the trace events file, try using ' \
@@ -72,10 +72,10 @@ def get_mapping(fobj):
return (event_id, name)
-def read_record(edict, idtoname, fobj):
+def read_record(event_mapping, event_id_to_name, fobj):
"""Deserialize a trace record from a file into a tuple (event_num,
timestamp, pid, arg1, ..., arg6)."""
rechdr = read_header(fobj, rec_header_fmt)
- return get_record(edict, idtoname, rechdr, fobj)
+ return get_record(event_mapping, event_id_to_name, rechdr, fobj)
def read_trace_header(fobj):
"""Read and verify trace file header"""
@@ -96,14 +96,14 @@ def read_trace_header(fobj):
raise ValueError('Log format %d not supported with this QEMU release!'
% log_version)
-def read_trace_records(edict, idtoname, fobj):
+def read_trace_records(event_mapping, event_id_to_name, fobj):
"""Deserialize trace records from a file, yielding record tuples
(event_num, timestamp, pid, arg1, ..., arg6).
- Note that `idtoname` is modified if the file contains mapping records.
+ Note that `event_id_to_name` is modified if the file contains mapping
records.
Args:
- edict (str -> Event): events dict, indexed by name
- idtoname (int -> str): event names dict, indexed by event ID
+ event_mapping (str -> Event): events dict, indexed by name
+ event_id_to_name (int -> str): event names dict, indexed by event ID
fobj (file): input file
"""
@@ -115,9 +115,9 @@ def read_trace_records(edict, idtoname, fobj):
(rectype, ) = struct.unpack('=Q', t)
if rectype == record_type_mapping:
event_id, name = get_mapping(fobj)
- idtoname[event_id] = name
+ event_id_to_name[event_id] = name
else:
- rec = read_record(edict, idtoname, fobj)
+ rec = read_record(event_mapping, event_id_to_name, fobj)
yield rec
@@ -172,16 +172,16 @@ def process(events, log, analyzer, read_header=True):
frameinfo = inspect.getframeinfo(inspect.currentframe())
dropped_event = Event.build("Dropped_Event(uint64_t num_events_dropped)",
frameinfo.lineno + 1, frameinfo.filename)
- edict = {"dropped": dropped_event}
- idtoname = {dropped_event_id: "dropped"}
+ event_mapping = {"dropped": dropped_event}
+ event_id_to_name = {dropped_event_id: "dropped"}
for event in events:
- edict[event.name] = event
+ event_mapping[event.name] = event
# If there is no header assume event ID mapping matches events list
if not read_header:
for event_id, event in enumerate(events):
- idtoname[event_id] = event.name
+ event_id_to_name[event_id] = event.name
def build_fn(analyzer, event):
if isinstance(event, str):
@@ -205,9 +205,9 @@ def build_fn(analyzer, event):
analyzer.begin()
fn_cache = {}
- for rec in read_trace_records(edict, idtoname, log):
+ for rec in read_trace_records(event_mapping, event_id_to_name, log):
event_num = rec[0]
- event = edict[event_num]
+ event = event_mapping[event_num]
if event_num not in fn_cache:
fn_cache[event_num] = build_fn(analyzer, event)
fn_cache[event_num](event, rec)
--
2.38.1
- [PATCH 0/9] simpletrace: refactor and general improvements, Mads Ynddal, 2023/02/21
- [PATCH 1/9] simpletrace: Improve parsing of sys.argv; fix files never closed., Mads Ynddal, 2023/02/21
- [PATCH 2/9] simpletrace: Annotate magic constants from QEMU code, Mads Ynddal, 2023/02/21
- [PATCH 3/9] simpletrace: changed naming of edict and idtoname to improve readability,
Mads Ynddal <=
- [PATCH 4/9] simpletrace: update code for Python 3.11, Mads Ynddal, 2023/02/21
- [PATCH 5/9] simpletrace: Changed Analyzer class to become context-manager, Mads Ynddal, 2023/02/21
- [PATCH 6/9] simpletrace: Simplify construction of tracing methods, Mads Ynddal, 2023/02/21
- [PATCH 7/9] simpletrace: Improved error handling on struct unpack, Mads Ynddal, 2023/02/21
- [PATCH 8/9] simpletrace: define exception and add handling, Mads Ynddal, 2023/02/21
- [PATCH 9/9] simpletrace: Refactor to separate responsibilities, Mads Ynddal, 2023/02/21