[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 19/34] scripts/kvm/kvm_stat: Cleanup of Tracepoin
From: |
Janosch Frank |
Subject: |
[Qemu-devel] [PATCH v2 19/34] scripts/kvm/kvm_stat: Cleanup of TracepointProvider |
Date: |
Mon, 11 Jan 2016 16:17: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.
Signed-off-by: Janosch Frank <address@hidden>
---
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 c4e22d0..032e491 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_DEBUGFS_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 v2 00/34] kvm_stat: Cleanup and fixup, Janosch Frank, 2016/01/11
- [Qemu-devel] [PATCH v2 07/34] scripts/kvm/kvm_stat: Cleanup of path variables, Janosch Frank, 2016/01/11
- [Qemu-devel] [PATCH v2 17/34] scripts/kvm/kvm_stat: Rename _perf_event_open, Janosch Frank, 2016/01/11
- [Qemu-devel] [PATCH v2 23/34] scripts/kvm/kvm_stat: Cleanup of Groups class, Janosch Frank, 2016/01/11
- [Qemu-devel] [PATCH v2 11/34] scripts/kvm/kvm_stat: Rename variables that redefine globals, Janosch Frank, 2016/01/11
- [Qemu-devel] [PATCH v2 19/34] scripts/kvm/kvm_stat: Cleanup of TracepointProvider,
Janosch Frank <=
- [Qemu-devel] [PATCH v2 15/34] scripts/kvm/kvm_stat: Cleanup of platform detection, Janosch Frank, 2016/01/11
- [Qemu-devel] [PATCH v2 18/34] scripts/kvm/kvm_stat: Introduce properties for providers, Janosch Frank, 2016/01/11
- [Qemu-devel] [PATCH v2 01/34] scripts/kvm/kvm_stat: Cleanup of multiple imports, Janosch Frank, 2016/01/11
- [Qemu-devel] [PATCH v2 16/34] scripts/kvm/kvm_stat: Make cpu detection a function, Janosch Frank, 2016/01/11
- [Qemu-devel] [PATCH v2 12/34] scripts/kvm/kvm_stat: Moved DebugfsProvider, Janosch Frank, 2016/01/11
- [Qemu-devel] [PATCH v2 25/34] scripts/kvm/kvm_stat: Group arch specific data, Janosch Frank, 2016/01/11
- [Qemu-devel] [PATCH v2 04/34] scripts/kvm/kvm_stat: Removed unneeded PERF constants, Janosch Frank, 2016/01/11
- [Qemu-devel] [PATCH v2 02/34] scripts/kvm/kvm_stat: Replaced os.listdir with os.walk, Janosch Frank, 2016/01/11
- [Qemu-devel] [PATCH v2 08/34] scripts/kvm/kvm_stat: Improve debugfs access checking, Janosch Frank, 2016/01/11
- [Qemu-devel] [PATCH v2 29/34] scripts/kvm/kvm_stat: Cleanup and pre-init perf_event_attr, Janosch Frank, 2016/01/11