summaryrefslogtreecommitdiffstats
path: root/media/webrtc/trunk/build/android/pylib/io_stats_parser.py
blob: 89097abbc608aff3a3e2ec439215e96e8cc5bd93 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# Copyright (c) 2012 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

"""Provides an interface to communicate with the device via the adb command.

Assumes adb binary is currently on system path.
"""


import collections


def ParseIoStatsLine(line):
  """Parses a line of io stats into a IoStats named tuple."""
  # Field definitions: http://www.kernel.org/doc/Documentation/iostats.txt
  IoStats = collections.namedtuple('IoStats',
                                   ['device',
                                    'num_reads_issued',
                                    'num_reads_merged',
                                    'num_sectors_read',
                                    'ms_spent_reading',
                                    'num_writes_completed',
                                    'num_writes_merged',
                                    'num_sectors_written',
                                    'ms_spent_writing',
                                    'num_ios_in_progress',
                                    'ms_spent_doing_io',
                                    'ms_spent_doing_io_weighted',
                                    ])
  fields = line.split()
  return IoStats._make([fields[2]] + [int(f) for f in fields[3:]])