aboutsummaryrefslogtreecommitdiff
path: root/catapult/devil/devil/android/tools/device_monitor.py
diff options
context:
space:
mode:
Diffstat (limited to 'catapult/devil/devil/android/tools/device_monitor.py')
-rwxr-xr-xcatapult/devil/devil/android/tools/device_monitor.py19
1 files changed, 17 insertions, 2 deletions
diff --git a/catapult/devil/devil/android/tools/device_monitor.py b/catapult/devil/devil/android/tools/device_monitor.py
index 86a84dd7..6139c770 100755
--- a/catapult/devil/devil/android/tools/device_monitor.py
+++ b/catapult/devil/devil/android/tools/device_monitor.py
@@ -13,6 +13,7 @@ import argparse
import collections
import json
import logging
+import logging.handlers
import os
import re
import sys
@@ -133,9 +134,9 @@ def get_device_status(device):
for f in files:
try:
sensor_name = device.ReadFile(f).strip()
- temp = device.ReadFile(f[:-4] + 'temp').strip() # s/type^/temp
+ temp = float(device.ReadFile(f[:-4] + 'temp').strip()) # s/type^/temp
status['temp'][sensor_name] = temp
- except device_errors.AdbShellCommandFailedError:
+ except (device_errors.AdbShellCommandFailedError, ValueError):
logging.exception('Unable to read thermal sensor %s', f)
# Uptime
@@ -185,6 +186,15 @@ def main(argv):
parser.add_argument('--blacklist-file', help='Path to device blacklist file.')
args = parser.parse_args(argv)
+ logger = logging.getLogger()
+ logger.setLevel(logging.DEBUG)
+ handler = logging.handlers.RotatingFileHandler(
+ '/tmp/device_monitor.log', maxBytes=10 * 1024 * 1024, backupCount=5)
+ fmt = logging.Formatter('%(asctime)s %(levelname)s %(message)s',
+ datefmt='%y%m%d %H:%M:%S')
+ handler.setFormatter(fmt)
+ logger.addHandler(handler)
+
devil_dynamic_config = devil_env.EmptyConfig()
if args.adb_path:
devil_dynamic_config['dependencies'].update(
@@ -195,10 +205,15 @@ def main(argv):
blacklist = (device_blacklist.Blacklist(args.blacklist_file)
if args.blacklist_file else None)
+
+ logging.info('Device monitor running with pid %d, adb: %s, blacklist: %s',
+ os.getpid(), args.adb_path, args.blacklist_file)
while True:
+ start = time.time()
status_dict = get_all_status(blacklist)
with open(DEVICE_FILE, 'wb') as f:
json.dump(status_dict, f, indent=2, sort_keys=True)
+ logging.info('Got status of all devices in %.2fs.', time.time() - start)
time.sleep(60)