| Index: tools/telemetry/telemetry/core/platform/linux_based_platform_backend.py | 
| diff --git a/tools/telemetry/telemetry/core/platform/linux_based_platform_backend.py b/tools/telemetry/telemetry/core/platform/linux_based_platform_backend.py | 
| index 6da162849aaa3303454f26d01023acba61c4f451..7e84dde15aee9f76bffaec36ea7ab56e51dd2a97 100644 | 
| --- a/tools/telemetry/telemetry/core/platform/linux_based_platform_backend.py | 
| +++ b/tools/telemetry/telemetry/core/platform/linux_based_platform_backend.py | 
| @@ -7,6 +7,8 @@ try: | 
| except ImportError: | 
| resource = None  # Not available on all platforms | 
|  | 
| +import re | 
| + | 
| from telemetry.core import exceptions | 
| from telemetry.core.platform import platform_backend | 
| from telemetry import decorators | 
| @@ -53,8 +55,7 @@ class LinuxBasedPlatformBackend(platform_backend.PlatformBackend): | 
| return results | 
|  | 
| def GetCpuTimestamp(self): | 
| -    timer_list = self.GetFileContents('/proc/timer_list') | 
| -    total_jiffies = float(self._GetProcJiffies(timer_list)) | 
| +    total_jiffies = self._GetProcJiffies() | 
| clock_ticks = self.GetClockTicks() | 
| return {'TotalTime': total_jiffies / clock_ticks} | 
|  | 
| @@ -146,15 +147,22 @@ class LinuxBasedPlatformBackend(platform_backend.PlatformBackend): | 
| retval[key.strip()] = value.strip() | 
| return retval | 
|  | 
| -  def _GetProcJiffies(self, timer_list): | 
| +  def _GetProcJiffies(self): | 
| """Parse '/proc/timer_list' output and returns the first jiffies attribute. | 
|  | 
| Multi-CPU machines will have multiple 'jiffies:' lines, all of which will be | 
| essentially the same.  Return the first one.""" | 
| -    if isinstance(timer_list, str): | 
| -      timer_list = timer_list.splitlines() | 
| -    for line in timer_list: | 
| -      if line.startswith('jiffies:'): | 
| -        _, value = line.split(':') | 
| -        return value | 
| -    raise Exception('Unable to find jiffies from /proc/timer_list') | 
| +    jiffies_timer_lines = self.RunCommand( | 
| +        ['grep', 'jiffies','/proc/timer_list']) | 
| +    if not jiffies_timer_lines: | 
| +      raise Exception('Unable to find jiffies from /proc/timer_list') | 
| +    jiffies_timer_list = jiffies_timer_lines.splitlines() | 
| +    # Each line should look something like 'jiffies: 4315883489'. | 
| +    for line in jiffies_timer_list: | 
| +      print repr(line) | 
| +      match = re.match('\s*jiffies\s*:\s*(\d+)', line) | 
| +      if match: | 
| +        value = match.group(1) | 
| +        return float(value) | 
| +    raise Exception('Unable to parse jiffies attribute: %s' % | 
| +                    repr(jiffies_timer_lines)) | 
|  |