基于SPRD平台,根据关键字检查开机耗时

#coding=utf-8

__author__="ao.deng"

import ctypes, sys,os

import re

STD_INPUT_HANDLE = -10

STD_OUTPUT_HANDLE = -11

STD_ERROR_HANDLE = -12

# 字体颜色定义 text colors

FOREGROUND_BLUE = 0x09 # blue.

FOREGROUND_GREEN = 0x0a # green.

FOREGROUND_RED = 0x0c # red.

FOREGROUND_YELLOW = 0x0e # yellow.

# 背景颜色定义 background colors

BACKGROUND_YELLOW = 0xe0 # yellow.

# get handle

std_out_handle = ctypes.windll.kernel32.GetStdHandle(STD_OUTPUT_HANDLE)

def set_cmd_text_color(color, handle=std_out_handle):

Bool = ctypes.windll.kernel32.SetConsoleTextAttribute(handle, color)

return Bool

# reset white

def resetColor():

set_cmd_text_color(FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE)

# green

def printGreen(mess):

set_cmd_text_color(FOREGROUND_GREEN)

sys.stdout.write(mess + '\n')

resetColor()

# red

def printRed(mess):

set_cmd_text_color(FOREGROUND_RED)

sys.stdout.write(mess + '\n')

resetColor()

# yellow

def printYellow(mess):

set_cmd_text_color(FOREGROUND_YELLOW)

sys.stdout.write(mess + '\n')

resetColor()

# white bkground and black text

def printYellowRed(mess):

set_cmd_text_color(BACKGROUND_YELLOW | FOREGROUND_RED)

sys.stdout.write(mess + '\n')

resetColor()

BOOT_PROGRESS_KEYWORD =r".*? (\d{2}:\d{2}:\d{2}.\d{3}).*?(boot_progress_\S+): (\d+)"

AM_ON_RESUME_CALLED=r".*? (\d{2}:\d{2}:\d{2}.\d{3}).*?am_on_resume_called:.*?Launcher,LAUNCH_ACTIVITY]"

DESC_DICT={

"boot_progress_start":u"进入zygote",

"boot_progress_preload_start":u"开始preload class&resource",

"boot_progress_preload_end":u"preload结束",

"boot_progress_system_run":u"systemserver起来了",

"boot_progress_pms_start":u"pms服务起来",

"boot_progress_pms_system_scan_start":u"开始扫描system分区",

"boot_progress_pms_data_scan_start":u"开始扫描data分区",

"boot_progress_pms_scan_end":u"pms扫描结束",

"boot_progress_pms_ready":u"pms ready",

"boot_progress_ams_ready":u"pms到ams间会起一堆服务,然后ams 服务ready",

"boot_progress_enable_screen":u"进入屏幕",

"FallbackHome":u"进入fallback界面,等待user_unlocked广播",

"Launcher":u"进入桌面"

}

CONSUME_TIME_STANDARD={

"boot_progress_start":10512,

"boot_progress_preload_start":2294,

"boot_progress_preload_end":2570,

"boot_progress_system_run":453,

"boot_progress_pms_start":1082,

"boot_progress_pms_system_scan_start":535,

"boot_progress_pms_data_scan_start":779,

"boot_progress_pms_scan_end":335,

"boot_progress_pms_ready":759,

"boot_progress_ams_ready":2995,

"boot_progress_enable_screen":4848,

"boot_up":56091

}

def read_log_file(logFile):

with open(logFile,"r") as f:

content =f.read()

f.close()

return content

def filter_keyword_time(keyword,logFile):

boot_progress_keyword_time_array = re.findall(keyword,logFile)

#print (boot_progress_keyword_time_array)

return boot_progress_keyword_time_array

def format_time(stacktime):

t =stacktime.split(":")

s=t[-1].split(".")

return int(s[1])/1000.0+int(s[0])+int(t[-2])*60+int(t[-3])*3600

def analysisData(boot_progress_keyword_time_array,launcher_array):

timeStart=boot_progress_keyword_time_array[0][2]

printYellow(DESC_DICT['boot_progress_start'])

if int(timeStart)

Android开机时间统计,android 开机时间检测相关推荐

  1. android 双卡流量统计,android流量统计

    android流量统计 (2012-07-31 12:28:34) 标签: 杂谈 研究过一段时间的android流量统计 发个自己的总结帖 1 android有一个TrafficStats类可以直接获 ...

  2. android tun0 流量统计,Android应用流量统计——NetworkStatsManager使用-Go语言中文社区...

    在没有Root的情况下,Android应用流量统计在6.0之前一直没有太好的办法,官方虽然提供了TrafficStats,但其主要功能是设备启动以来流量的统计信息,和时间信息无法很好的配合.最近再看T ...

  3. 统计通话次数和时间的软件_通话时间统计软件-通话时间统计app下载 v2.3-都去下载...

    通话时间统计是一款可以帮助用户记录通话时长的手机应用,通话时间统计可以准确记录用户在某一时间段和某人的通话时长,有需要的快来下载吧! 软件介绍 本程序用于通话记录时间.时长.周几.农历.大字等显示,并 ...

  4. android tun0 流量统计,Android应用流量统计——NetworkStatsManager使用(示例代码)

    在没有Root的情况下,Android应用流量统计在6.0之前一直没有太好的办法,官方虽然提供了TrafficStats,但其主要功能是设备启动以来流量的统计信息,和时间信息无法很好的配合.最近再看T ...

  5. android取流量统计,Android 统计应用流量的使用情况

    Android 获取应用流量的使用情况有两种方法 TrafficStats NetworkStatsManager 是Android 6.0(API23)中新增加的类 这次我们使用的是第二种方法,记录 ...

  6. android ion内存统计,android ion 内存泄漏排查

    1.查看各个进程的ION :/sys/kernel/debug/ion/heaps # cat system-heap cat system-heap client              pid ...

  7. Android设备开机时间统计

    现在有一个需求:Android设备在开机的时候统计开机时间,然后上报至服务器.一般来说我们都是这样做的: 在开机广播里,调用System.currentTimeMillis()获取开机时的时间戳,然后 ...

  8. android 屏幕统计,OffScreen - 屏幕时间统计

    编辑点评 你康康你今天又玩了多少次手机! OffScreen - 屏幕时间统计 介绍 OffScreen - 屏幕时间统计 日常生活中,大多数人有轻微甚至严重的「手机依赖症」,我们无时无刻盯着手机,不 ...

  9. android 打卡统计日历表,GitHub - lw1243925457/clickApp: 一个日常事务打卡和统计的APP,用于日常任务记录、任务所需时间记录、任务花费时间统计显示...

    目标打卡APP 时间管理类型APP,目前功能较少,有基本的目标清单.目标花费时间记录.花费时间统计展示 右侧release已发布编译好的安装包,可进行下载 有需要的小伙伴,可以自行拉取进行自己的特定需 ...

最新文章

  1. 正视自己的所想所求,活出真实的自己
  2. AI 版 Nature Index 排名,两种结果折射中国 AI 实力软肋
  3. Linux网络编程之select
  4. Apollo本地jar包启动方法
  5. xmanager 使用
  6. zsh配置其显示当前文件路径
  7. python 相关系数_python如何计算相关系数与协方差
  8. 卷积神经网络——各种网络的简洁介绍和实现
  9. 傅里叶滤波音频文件(笔记05)
  10. [IDEA插件] - 一个不错的插件
  11. 9000多篇投稿,接收率只有15%,今年的AAAI你中了吗?
  12. java quartz job_java quartz job 执行时间配置
  13. 视频教程-物联网嵌入式技术应用-物联网技术
  14. java实现多媒体播放器_JAVA播放器设计
  15. linux 下载ftp 命令,在Linux命令行中安装及使用FTP客户端的方法
  16. 树莓派接入阿里云IOT平台1(Python模拟数据上传)
  17. Android加密篇 MD5
  18. 使用openstack搭建私有云
  19. sql 如果不存在则插入,存在则不操作或修改
  20. 第6章第23节:文字视觉化:使用图片来诠释文字的涵义 [PowerPoint精美幻灯片实战教程]

热门文章

  1. 外设驱动库开发笔记4:AD9833函数发生器驱动
  2. 砥志研思SVM(一) 最优间隔分类器问题(上):硬间隔SVM
  3. Xcode中的-ObjC和-all_load
  4. linux7端口聚合,centos7配置链路聚合
  5. python实现关联算法_python使用Apriori算法进行关联性解析
  6. Linux的实际操作:权限管理(chmod)
  7. HTML的块级元素和行级元素的标签列表
  8. 一组数字中算出最相近的组合_据说在金字塔里发现的这组数字,貌似是通往宇宙的密码...
  9. php中文本设置随机颜色,php 产生随机整数,随机字符串,随机颜色等类用法
  10. html4基础,HTML 基础 4