Dùng Batterystats và Battery Historian để xem mức sử dụng pin của hồ sơ

Hướng dẫn này trình bày các bước và quy trình thiết lập cơ bản cho công cụ Batterystats và tập lệnh Battery Historian. Để tìm hiểu cách sử dụng Battery Historian để kiểm tra quy trình tiêu thụ pin, vui lòng đọc bài viết Phân tích mức sử dụng năng lượng bằng Battery Historian.

Batterystats là một công cụ có trong khung Android thu thập dữ liệu pin trên thiết bị của bạn. Bạn có thể sử dụng adb để kết xuất dữ liệu pin đã thu thập vào máy phát triển và tạo một báo cáo mà bạn có thể phân tích bằng cách sử dụng Battery Historian. Battery Historian chuyển đổi báo cáo từ Batterystats thành hình ảnh HTML mà bạn có thể xem trong trình duyệt của mình.

Điều này là để:

  • Cho bạn biết vị trí và cách các quy trình đang lấy nguồn điện từ pin.
  • Xác định những việc cần làm trong ứng dụng của bạn có thể bị trì hoãn hoặc thậm chí là xóa để cải thiện thời lượng pin.

Cài đặt Battery Historian

Cách dễ nhất để cài đặt Battery Historian là sử dụng Docker. Để biết các phương thức cài đặt thay thế, bao gồm cả tạo từ nguồn, hãy xem phần Đọc tôi trên trang GitHub của dự án . Để cài đặt bằng Docker, hãy làm như sau:

  1. Cài đặt Docker Community Edition theo các hướng dẫn trên trang web Docker.

  2. Để xác nhận là Docker được cài đặt chính xác, hãy mở dòng lệnh và nhập lệnh sau:

    docker run hello-world
    

    Nếu Docker được cài đặt chính xác, bạn sẽ thấy kết quả như sau:

    Unable to find image 'hello-world:latest' locally
    latest: Pulling from library/hello-world
    78445dd45222: Pull complete
    Digest:
    sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7
    Status: Downloaded newer image for hello-world:latest
    
    Hello from Docker!
    This message shows that your installation appears to be working correctly.
    
    To generate this message, Docker took the following steps:
    1. The Docker client contacted the Docker daemon.
    2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
    4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal
    
  3. Chạy hình ảnh Battery Historian bằng cách dùng lệnh sau:

    docker run -p port_number:9999 gcr.io/android-battery-historian/stable:3.0 --port 9999
    

    Battery Historian sẽ sử dụng cổng mà bạn chọn, như đã chỉ định bằng port_number.

  4. Chuyển đến trang Battery Historian trong trình duyệt để xác nhận trình duyệt này đang chạy. Địa chỉ khác nhau tùy thuộc vào hệ điều hành của bạn:

    Dành cho Linux và Mac

    Battery Historian của
    có tại http://localhost:port_number.

    Dành cho Windows:

    Khi khởi động Docker, bạn sẽ biết được địa chỉ IP của máy mà công cụ đó đang sử dụng. Ví dụ: nếu địa chỉ IP là 123.456.78.90, thì Battery Historian có sẵn tại http://123.456.78.90:port_number
    . Bạn sẽ thấy trang chủ Battery Historian, nơi bạn có thể tải lên và xem số liệu thống kê về pin.

    Trang chủ của Battery Historian
    Hình 1. Trang chủ Battery Historian

Thu thập dữ liệu bằng Batterystats

Để thu thập dữ liệu từ thiết bị bằng Batterystats và mở thiết bị trong Battery Historian, hãy làm như sau:

  1. Kết nối thiết bị di động với máy tính của bạn.

  2. Từ cửa sổ Thiết bị đầu cuối, hãy tắt máy chủ adb đang chạy.

    adb kill-server
    
  3. Khởi động lại adb và kiểm tra các thiết bị đã kết nối.

    adb devices
    

    Bạn sẽ thấy thiết bị của mình được liệt kê, tương tự như kết quả mẫu bên dưới.

    Đầu ra của thiết bị adb
    Hình 2. Đầu ra của adb devices, hiển thị một thiết bị đã kết nối

    Nếu bạn không thấy thiết bị nào, hãy đảm bảo điện thoại của bạn đã được kết nối và bật Gỡ lỗi USB, sau đó tắt và khởi động lại adb.

  4. Đặt lại việc thu thập dữ liệu pin.

    adb shell dumpsys batterystats --reset
    

    Thiết bị luôn thu thập batterystats và các thông tin gỡ lỗi khác ở chế độ nền. Việc đặt lại sẽ xóa dữ liệu thu thập pin cũ. Nếu bạn không đặt lại, kết quả sẽ rất lớn.

  5. Ngắt kết nối thiết bị khỏi máy tính để bạn chỉ vẽ dòng điện từ pin của thiết bị.

  6. Hãy thỏa thích biến tấu với ứng dụng của bạn và thực hiện thao tác mà bạn muốn áp dụng dữ liệu; ví dụ như ngắt kết nối khỏi Wi-Fi và gửi dữ liệu lên đám mây.

  7. Kết nối lại điện thoại.

  8. Đảm bảo điện thoại của bạn được nhận dạng:

    adb devices
    
  9. Kết xuất tất cả dữ liệu pin. Quá trình này sẽ mất một chút thời gian

    adb shell dumpsys batterystats > [path/]batterystats.txt
    

    Tệp batterystats.txt được tạo trong thư mục bạn chỉ định bằng cách sử dụng đối số đường dẫn không bắt buộc. Nếu bạn không chỉ định đường dẫn, tệp sẽ được tạo trong thư mục gốc của bạn.

  10. Tạo báo cáo từ dữ liệu thô.

    Đối với các thiết bị chạy Android 7.0 trở lên:

    adb bugreport [path/]bugreport.zip

    Đối với các thiết bị chạy Android 6.0 trở xuống:

    adb bugreport [path/]bugreport.txt

    Có thể mất vài phút để hoàn tất quá trình này. Đừng ngắt kết nối thiết bị hoặc hủy quá trình này cho đến khi hoàn tất.

    Cũng giống như với batterystats.txt, các tệp này được tạo trong thư mục mà bạn chỉ định bằng cách sử dụng đối số path không bắt buộc. Nếu bạn không chỉ định đường dẫn, các đường dẫn đó sẽ được tạo trong thư mục gốc của bạn.

    Nếu nó chưa chạy, hãy chạy công cụ Battery Historian bằng cách sử dụng lệnh sau:

    docker run -p port_number:9999 gcr.io/android-battery-historian/stable:3.0 --port 9999
    
  11. Để xem dữ liệu của bạn trong Battery Historian, hãy mở công cụ này trong trình duyệt. (Đối với Mac và Linux, Battery Historian chạy tại http://localhost:port_number. Đối với Windows, Battery Historian chạy tại http://your_IP_address:port_number.)

  12. Nhấp vào Duyệt qua rồi chọn tệp báo cáo lỗi mà bạn đã tạo ở trên.

  13. Nhấp vào Gửi. Battery Historian sẽ mở một biểu đồ được tạo từ dữ liệu Batterystats của bạn.

Xem dữ liệu bằng biểu đồ Battery Historian

Biểu đồ Battery Historian vẽ đồ thị các sự kiện liên quan đến nguồn điện theo thời gian.

Mỗi hàng hiển thị một phân đoạn thanh màu khi một thành phần hệ thống đang hoạt động và theo đó vẽ dòng điện từ pin. Biểu đồ không hiển thị lượng do các thành phần sử dụng mà chỉ cho biết ứng dụng đang hoạt động. Các biểu đồ được sắp xếp theo danh mục, hiển thị thanh cho từng danh mục theo thời gian, như hiển thị trên trục X của biểu đồ.

Ví dụ về biểu đồ Battery Historian
Hình 3. Ví dụ về biểu đồ Battery Historian

  1. Thêm các chỉ số khác trong danh sách thả xuống.
  2. Hãy di chuột qua biểu tượng thông tin để xem thêm thông tin về từng chỉ số, bao gồm khóa về các màu được sử dụng trong biểu đồ.
  3. Hãy di chuột qua một thanh để xem thông tin chi tiết hơn về chỉ số đó và số liệu thống kê về pin tại một thời điểm cụ thể trên dòng thời gian.

Thông tin đầu ra bổ sung về pin

Bạn có thể xem thêm thông tin từ tệp batterystats.txt trong phần thống kê bên dưới biểu đồ Battery Historian.

Phần số liệu thống kê của Battery Historian
Hình 4. Phần số liệu thống kê trong Battery Historian

Thẻ 1 Thống kê hệ thống bao gồm số liệu thống kê trên toàn hệ thống, chẳng hạn như mức tín hiệu di động và độ sáng màn hình. Thông tin này cung cấp thông tin tổng quan về những gì đang xảy ra với thiết bị. Điều này đặc biệt hữu ích khi đảm bảo không có sự kiện bên ngoài nào đang ảnh hưởng đến thử nghiệm của bạn.

Thẻ 2 Thống kê ứng dụng bao gồm thông tin về các ứng dụng cụ thể. Sắp xếp danh sách ứng dụng bằng danh sách thả xuống 3 được sắp xếp theo ứng dụng trong ngăn Lựa chọn ứng dụng ở bên trái. Bạn có thể chọn một ứng dụng cụ thể để xem số liệu thống kê bằng cách dùng danh sách thả xuống 4 của ứng dụng bên dưới.