Skip to content

Commit 5aae8f0

Browse files
tools/stats-viewer: Update chromium stats table layout.
[email protected] Review URL: http://codereview.chromium.org/6992068 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@8064 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
1 parent 5d4a012 commit 5aae8f0

File tree

1 file changed

+15
-11
lines changed

1 file changed

+15
-11
lines changed

tools/stats-viewer.py

+15-11
Original file line numberDiff line numberDiff line change
@@ -104,10 +104,12 @@ def MountSharedData(self):
104104
sys.exit(1)
105105
maps_file = open(maps_name, "r")
106106
try:
107-
m = re.search(r"/dev/shm/\S*", maps_file.read())
108-
if m is not None and os.path.exists(m.group(0)):
109-
self.data_name = m.group(0)
110-
else:
107+
self.data_name = None
108+
for m in re.finditer(r"/dev/shm/\S*", maps_file.read()):
109+
if os.path.exists(m.group(0)):
110+
self.data_name = m.group(0)
111+
break
112+
if self.data_name is None:
111113
print "Can't find counter file in maps for PID %s." % self.data_name
112114
sys.exit(1)
113115
finally:
@@ -414,7 +416,8 @@ class ChromeCounterCollection(object):
414416
individual counters contained in the file."""
415417

416418
_HEADER_SIZE = 4 * 4
417-
_NAME_SIZE = 32
419+
_COUNTER_NAME_SIZE = 64
420+
_THREAD_NAME_SIZE = 32
418421

419422
def __init__(self, data):
420423
"""Create a new instance.
@@ -426,22 +429,23 @@ def __init__(self, data):
426429
self.max_counters = data.IntAt(8)
427430
self.max_threads = data.IntAt(12)
428431
self.counter_names_offset = \
429-
self._HEADER_SIZE + self.max_threads * (self._NAME_SIZE + 2 * 4)
432+
self._HEADER_SIZE + self.max_threads * (self._THREAD_NAME_SIZE + 2 * 4)
430433
self.counter_values_offset = \
431-
self.counter_names_offset + self.max_counters * self._NAME_SIZE
434+
self.counter_names_offset + self.max_counters * self._COUNTER_NAME_SIZE
432435

433436
def CountersInUse(self):
434437
"""Return the number of counters in active use."""
435438
for i in xrange(self.max_counters):
436-
if self.data.ByteAt(self.counter_names_offset + i * self._NAME_SIZE) == 0:
439+
name_offset = self.counter_names_offset + i * self._COUNTER_NAME_SIZE
440+
if self.data.ByteAt(name_offset) == 0:
437441
return i
438442
return self.max_counters
439443

440444
def Counter(self, i):
441445
"""Return the i'th counter."""
442-
return ChromeCounter(self.data,
443-
self.counter_names_offset + i * self._NAME_SIZE,
444-
self.counter_values_offset + i * self.max_threads * 4)
446+
name_offset = self.counter_names_offset + i * self._COUNTER_NAME_SIZE
447+
value_offset = self.counter_values_offset + i * self.max_threads * 4
448+
return ChromeCounter(self.data, name_offset, value_offset)
445449

446450

447451
def Main(data_file, name_filter):

0 commit comments

Comments
 (0)