bootchart记录

Bootchart记录

  1. adb shell touch /data/bootchart/enabled
    (首先使能 bootchart,bootchart 操作的前提是存在 enable 标记,不需要收集数据的时候删除此标记)
  2. 手机执行adb reboot重启后,adb shell进入/data/bootchar后,有以下几个文件:header proc_diskstats.log proc_ps.log proc_stat.log(以及上一步生成的enable)
  3. tar -zcf boochart.tgz * 生成bootchart.tgz
  4. adb pull data/bootchar/bootchart.tgz 到本地PC端
  5. sudo apt-get install bootchart
    sudo apt-get install pybootchartgui
    sudo apt install xdg-utils( linux PC机安装bootchart工具)
  6. 拷贝 bootchart.tgz 到 PC 中,并执行下面的命令生成图表:bootchart bootchart.tgz
    报错信息如下:
    ubuntu@ubuntu-users:/mnt/work/Tool/Bootchart$ bootchart boochart.tgz
    parsing ‘boochart.tgz’
    parsing ‘header’
    parsing ‘proc_diskstats.log’
    parsing ‘proc_ps.log’
    warning: no parent for pid ‘2’ with ppid ‘0’
    parsing ‘proc_stat.log’
    merged 0 logger processes
    pruned 143 process, 0 exploders, 5 threads, and 2 runs
    False
    Traceback (most recent call last):
    File “/usr/bin/bootchart”, line 23, in
    sys.exit(main())
    File “/usr/lib/python2.7/dist-packages/pybootchartgui/main.py”, line 137, in main
    render()
    File “/usr/lib/python2.7/dist-packages/pybootchartgui/main.py”, line 128, in render
    batch.render(writer, res, options, filename)
    File “/usr/lib/python2.7/dist-packages/pybootchartgui/batch.py”, line 41, in render
    draw.render(ctx, options, *res)
    File “/usr/lib/python2.7/dist-packages/pybootchartgui/draw.py”, line 256, in render
    curr_y = draw_header(ctx, headers, off_x, duration)
    File “/usr/lib/python2.7/dist-packages/pybootchartgui/draw.py”, line 341, in draw_header
    draw_text(ctx, txt, TEXT_COLOR, off_x, header_y)
    File “/usr/lib/python2.7/dist-packages/pybootchartgui/draw.py”, line 111, in draw_text
    ctx.show_text(text)
    cairo.Error: input string not valid UTF-8

解决方案如下:
在这里插入图片描述
报错信息如下:
ubuntu@ubuntu-users:/mnt/work/Tool/Bootchart$ bootchart boochart.tgz
parsing ‘boochart.tgz’
parsing ‘enabled’
parsing ‘header’
parsing ‘proc_diskstats.log’
parsing ‘proc_ps.log’
warning: no parent for pid ‘2’ with ppid ‘0’
parsing ‘proc_stat.log’
merged 0 logger processes
pruned 184 process, 0 exploders, 11 threads, and 1 runs
False
Traceback (most recent call last):
File “/usr/bin/bootchart”, line 23, in
sys.exit(main())
File “/usr/lib/python2.7/dist-packages/pybootchartgui/main.py”, line 137, in main
render()
File “/usr/lib/python2.7/dist-packages/pybootchartgui/main.py”, line 128, in render
batch.render(writer, res, options, filename)
File “/usr/lib/python2.7/dist-packages/pybootchartgui/batch.py”, line 41, in render
draw.render(ctx, options, *res)
File “/usr/lib/python2.7/dist-packages/pybootchartgui/draw.py”, line 282, in render
draw_chart(ctx, IO_COLOR, True, chart_rect, [(sample.time, sample.util) for sample in disk_stats], proc_tree)
File “/usr/lib/python2.7/dist-packages/pybootchartgui/draw.py”, line 201, in draw_chart
yscale = float(chart_bounds[3]) / max(y for (x,y) in data)
ZeroDivisionError: float division by zero

修改如下:
#xscale = float(chart_bounds[2]) / max(x for (x,y) in data)
#yscale = float(chart_bounds[3]) / max(y for (x,y) in data)
xscale = float(chart_bounds[2]) / max(0.00001, max(x for (x,y) in data))
yscale = float(chart_bounds[3]) / max(0.00001, max(y for (x,y) in data))

再执行bootchart bootchart.tgz生成png图片
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值