[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 19/34] scripts/kvm/kvm_stat: Cleanup of TracepointPr
From: |
Janosch Frank |
Subject: |
[Qemu-devel] [PATCH 19/34] scripts/kvm/kvm_stat: Cleanup of TracepointProvider |
Date: |
Thu, 10 Dec 2015 13:12:49 +0100 |
Variables with bad names like f and m were renamed to their full name,
so it is clearer which data they contain.
Unneeded variables were removed and the field generating code was
moved in an own function.
dict.iteritems() was removed as directly iterating over a dictionary
also yields the needed keys.
---
scripts/kvm/kvm_stat | 40 +++++++++++++++++++++-------------------
1 file changed, 21 insertions(+), 19 deletions(-)
diff --git a/scripts/kvm/kvm_stat b/scripts/kvm/kvm_stat
index 8414b53..7bd76b3 100755
--- a/scripts/kvm/kvm_stat
+++ b/scripts/kvm/kvm_stat
@@ -375,45 +375,47 @@ class Event(object):
class TracepointProvider(object):
def __init__(self):
+ self.group_leaders = []
+ self._fields = self.get_available_fields()
+ self.setup_traces()
+ self.fields = self._fields
+
+ def get_available_fields(self):
path = os.path.join(PATH_TRACING, 'events', 'kvm')
fields = walkdir(path)[1]
extra = []
- for f in fields:
- if f in filters:
- subfield, values = filters[f]
- for name, number in values.iteritems():
- extra.append(f + '(' + name + ')')
+ for field in fields:
+ if field in filters:
+ filter_name_, filter_dicts = filters[field]
+ for name in filter_dicts:
+ extra.append(field + '(' + name + ')')
fields += extra
- self._setup(fields)
- self.fields = fields
+ return fields
- def _setup(self, _fields):
- self._fields = _fields
+ def setup_traces(self):
cpus = get_online_cpus()
# The constant is needed as a buffer for python libs, std
# streams and other files that the script opens.
- rlimit = len(cpus) * len(_fields) + 50
+ rlimit = len(cpus) * len(self._fields) + 50
try:
resource.setrlimit(resource.RLIMIT_NOFILE, (rlimit, rlimit))
except ValueError:
sys.exit("NOFILE rlimit could not be raised to {0}".format(rlimit))
- events = []
- self.group_leaders = []
for cpu in cpus:
group = Group(cpu)
- for name in _fields:
+ for name in self._fields:
tracepoint = name
tracefilter = None
- m = re.match(r'(.*)\((.*)\)', name)
- if m:
- tracepoint, sub = m.groups()
+ match = re.match(r'(.*)\((.*)\)', name)
+ if match:
+ tracepoint, sub = match.groups()
tracefilter = '%s==%d\0' % (filters[tracepoint][0],
filters[tracepoint][1][sub])
- event = group.add_event(name, event_set='kvm',
- tracepoint=tracepoint,
- tracefilter=tracefilter)
+ group.add_event(name, event_set='kvm',
+ tracepoint=tracepoint,
+ tracefilter=tracefilter)
self.group_leaders.append(group)
@property
--
2.3.0
- [Qemu-devel] [PATCH 22/34] scripts/kvm/kvm_stat: Cleanup of Stats class, (continued)
- [Qemu-devel] [PATCH 22/34] scripts/kvm/kvm_stat: Cleanup of Stats class, Janosch Frank, 2015/12/10
- [Qemu-devel] [PATCH 26/34] scripts/kvm/kvm_stat: Remove unneeded X86_EXIT_REASONS, Janosch Frank, 2015/12/10
- [Qemu-devel] [PATCH 10/34] scripts/kvm/kvm_stat: Fix spaces around keyword assignments, Janosch Frank, 2015/12/10
- [Qemu-devel] [PATCH 29/34] scripts/kvm/kvm_stat: Move to argparse and add description, Janosch Frank, 2015/12/10
- [Qemu-devel] [PATCH 27/34] scripts/kvm/kvm_stat: Make tui function a class, Janosch Frank, 2015/12/10
- [Qemu-devel] [PATCH 24/34] scripts/kvm/kvm_stat: Cleanup of Event class, Janosch Frank, 2015/12/10
- [Qemu-devel] [PATCH 33/34] scripts/kvm/kvm_stat: Fixup filtering, Janosch Frank, 2015/12/10
- [Qemu-devel] [PATCH 11/34] scripts/kvm/kvm_stat: Rename variables that redefine globals, Janosch Frank, 2015/12/10
- [Qemu-devel] [PATCH 06/34] scripts/kvm/kvm_stat: Invert dictionaries, Janosch Frank, 2015/12/10
- [Qemu-devel] [PATCH 15/34] scripts/kvm/kvm_stat: Cleanup of platform detection, Janosch Frank, 2015/12/10
- [Qemu-devel] [PATCH 19/34] scripts/kvm/kvm_stat: Cleanup of TracepointProvider,
Janosch Frank <=
- [Qemu-devel] [PATCH 31/34] scripts/kvm/kvm_stat: Read event values as u64, Janosch Frank, 2015/12/10
- [Qemu-devel] [PATCH 30/34] scripts/kvm/kvm_stat: Cleanup and pre-init perf_event_attr, Janosch Frank, 2015/12/10
- [Qemu-devel] [PATCH 28/34] scripts/kvm/kvm_stat: Fix output formatting, Janosch Frank, 2015/12/10
- [Qemu-devel] [PATCH 08/34] scripts/kvm/kvm_stat: Improve debugfs access checking, Janosch Frank, 2015/12/10
- [Qemu-devel] [PATCH 20/34] scripts/kvm/kvm_stat: Cleanup cpu list retrieval, Janosch Frank, 2015/12/10
- [Qemu-devel] [PATCH 09/34] scripts/kvm/kvm_stat: Introduce main function, Janosch Frank, 2015/12/10
- [Qemu-devel] [PATCH 07/34] scripts/kvm/kvm_stat: Cleanup of path variables, Janosch Frank, 2015/12/10
- [Qemu-devel] [PATCH 25/34] scripts/kvm/kvm_stat: Group arch specific data, Janosch Frank, 2015/12/10
- [Qemu-devel] [PATCH 04/34] scripts/kvm/kvm_stat: Removed unneeded PERF constants, Janosch Frank, 2015/12/10
- Re: [Qemu-devel] [PATCH 00/34] kvm_stat: Cleanup and fixup, Cornelia Huck, 2015/12/15