ทำโปรไฟล์การใช้งานแบตเตอรี่ด้วย Chargestats และ Battery Historian

เอกสารนี้แสดงขั้นตอนการตั้งค่าพื้นฐานและเวิร์กโฟลว์สำหรับเครื่องมือแบตเตอรี และสคริปต์ประหยัดแบตเตอรี่ ดูวิธีใช้ Charge Historian เพื่อ ตรวจสอบรูปแบบการใช้แบตเตอรี่ โปรดดูวิเคราะห์การใช้พลังงานด้วยแบตเตอรี่ นักประวัติศาสตร์

Chargestats เป็นเครื่องมือที่รวมอยู่ในเฟรมเวิร์กของ Android ที่รวบรวมแบตเตอรี่ ข้อมูลบนอุปกรณ์ของคุณ คุณสามารถใช้ adb เพื่อถ่ายโอน ข้อมูลแบตเตอรี่ที่เก็บรวบรวมไปยังเครื่องสำหรับการพัฒนา และสร้างรายงานที่คุณสามารถ วิเคราะห์โดยใช้แอปพลิเคชัน Charge Historian Charge Historian แปลงรายงานจาก แบตเตอรี่สถิติในการแสดงภาพ HTML ที่คุณสามารถดูในเบราว์เซอร์ได้

Chargestats และ Battery Historian มีประโยชน์สำหรับรายการต่อไปนี้

  • แสดงให้คุณเห็นว่ากระบวนการใช้พลังงานจากแบตเตอรี่ที่ไหนและอย่างไร
  • ระบุงานในแอปที่สามารถเลื่อนหรือนำออกเพื่อปรับปรุง อายุการใช้งานแบตเตอรี่

ติดตั้ง Charge Historian

คุณใช้ Docker เพื่อติดตั้ง Charge Historian ได้ สำหรับการติดตั้งแบบอื่น ซึ่งรวมถึงการสร้างจากแหล่งข้อมูล ให้ดู README ใน หน้า GitHub ของโปรเจ็กต์ หากต้องการติดตั้งโดยใช้ Docker ให้ทำดังนี้

  1. ติดตั้ง Docker โดยปฏิบัติตามคำแนะนำใน เว็บไซต์ Docker ช่วง การสมัครใช้บริการประเภท รวมถึงการสมัครใช้บริการส่วนบุคคลฟรี

  2. หากต้องการยืนยันว่าได้ติดตั้ง Docker อย่างถูกต้อง ให้เปิดบรรทัดคำสั่งและ ป้อนคำสั่งต่อไปนี้

    docker run hello-world
    

    หากติดตั้ง Docker อย่างถูกต้อง ระบบจะแสดงเอาต์พุตดังนี้

    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. เปิดแอป Docker Desktop ซึ่งเป็นฟรอนท์เอนด์ GUI สำหรับ Docker ที่เรียกใช้อิมเมจ Camera Historian การเรียกใช้นี้จะเริ่มต้น Docker และเครื่องมือการประมาณที่กำหนดได้เอง Charge Historian จะไม่ทำงานจนกว่าคุณจะดำเนินการนี้อย่างน้อย 1 ครั้ง

  4. เรียกใช้ Charge Historian จากบรรทัดคำสั่งเมื่อเรียกใช้โหมดแรก แอป Docker Desktop ไม่อนุญาตให้คุณระบุพอร์ตเพื่อเรียกใช้เว็บ เซิร์ฟเวอร์เปิดอยู่ ซึ่งทำได้จากบรรทัดคำสั่งเท่านั้น แต่หลังจากที่คุณ เรียกใช้คอนเทนเนอร์จากบรรทัดคำสั่งได้ จะมีการสร้างรายการใน Docker Desktop แล้วคุณจะเปิดขึ้นโดยใช้พอร์ต Listener เดิม จาก Docker Desktop

  5. เรียกใช้อิมเมจประหยัดแบตเตอรี่โดยใช้คำสั่งต่อไปนี้

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

    แบตเตอรี่ Historian ใช้พอร์ตที่คุณเลือก ตามที่ระบุโดยใช้ port_number

  6. ไปที่ Server Historian ในเบราว์เซอร์เพื่อตรวจสอบว่าทำงานอยู่ จะแตกต่างกันไปตามระบบปฏิบัติการของคุณ

    สำหรับ Linux และ Mac

    Charge Historian หาซื้อได้ที่ http://localhost:port_number

    สำหรับ Windows

    หลังจากเริ่มใช้งาน Docker ระบบจะแจ้งที่อยู่ IP ของเครื่อง กำลังใช้ เช่น หากที่อยู่ IP คือ 123.456.78.90 แบตเตอรี่ นักประวัติศาสตร์ มีจำหน่ายที่ http://123.456.78.90:port_number

    จากนั้นจะแสดงหน้าเริ่มต้นแบตเตอรี่ ซึ่งคุณสามารถอัปโหลด ดูสถิติแบตเตอรี่

    วันที่ หน้าเริ่มต้นของ Charge Historian
    รูปที่ 1 หน้าเริ่มต้นของแบตเตอรี่ นักประวัติศาสตร์

รวบรวมข้อมูลด้วย Chargestats

วิธีเก็บรวบรวมข้อมูลจากอุปกรณ์โดยใช้ที่สามารถแบตเตอรี่สถิติและเปิดใน "แบตเตอรี่" นักประวัติศาสตร์ทำสิ่งต่อไปนี้ได้

  1. เชื่อมต่ออุปกรณ์เคลื่อนที่กับคอมพิวเตอร์

  2. จากหน้าต่างเทอร์มินัล ให้ปิดเซิร์ฟเวอร์ adb ที่ใช้งานอยู่โดยเรียกใช้ คำสั่งต่อไปนี้

    adb kill-server
    
  3. รีสตาร์ท adb และตรวจสอบอุปกรณ์ที่เชื่อมต่อโดยเรียกใช้รายการต่อไปนี้ คำสั่ง

    adb devices
    

    ระบบจะแสดงอุปกรณ์ของคุณ ซึ่งคล้ายกับเอาต์พุตตัวอย่างต่อไปนี้

    วันที่ เอาต์พุตของอุปกรณ์ adb
    รูปที่ 2 เอาต์พุตของ adb devices แสดงอุปกรณ์ที่เชื่อมต่อ 1 เครื่อง

    หากไม่มีรายการอุปกรณ์ ให้ตรวจสอบว่าโทรศัพท์เชื่อมต่ออยู่และเสียบ USB ระบบจะเปิดใช้การแก้ไขข้อบกพร่อง จากนั้น หยุดและเริ่ม adb ใหม่

  4. รีเซ็ตการรวบรวมข้อมูลแบตเตอรี่โดยเรียกใช้คำสั่งต่อไปนี้

    adb shell dumpsys batterystats --reset
    

    อุปกรณ์จะรวบรวม Chargestats และข้อมูลการแก้ไขข้อบกพร่องอื่นๆ เสมอ ในเบื้องหลัง การรีเซ็ตจะลบข้อมูลการเก็บรวบรวมแบตเตอรี่ก่อนหน้านี้ หากคุณ ไม่ต้องรีเซ็ต เอาต์พุตอาจมีขนาดใหญ่มาก

  5. ยกเลิกการเชื่อมต่ออุปกรณ์จากคอมพิวเตอร์ เพื่อให้คุณวาดเท่านั้น กระแสไฟฟ้าจากแบตเตอรี่ของอุปกรณ์

  6. ใช้แอปและดําเนินการที่คุณต้องการรวบรวมข้อมูล สำหรับ เช่น ยกเลิกการเชื่อมต่อ Wi-Fi และส่งข้อมูลไปยังระบบคลาวด์

  7. เชื่อมต่อโทรศัพท์อีกครั้ง

  8. ตรวจสอบว่าระบบรู้จักโทรศัพท์ของคุณและเรียกใช้คำสั่งต่อไปนี้

    adb devices
    
  9. ถ่ายโอนข้อมูลแบตเตอรี่ทั้งหมดโดยเรียกใช้คำสั่งต่อไปนี้ การดำเนินการนี้อาจใช้เวลา ในขณะที่

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

    ระบบจะสร้างไฟล์ batterystats.txt ในไดเรกทอรีที่คุณระบุโดยใช้ อาร์กิวเมนต์เส้นทางที่ไม่บังคับ หากคุณไม่ระบุเส้นทาง ไฟล์จะเป็น ที่สร้างในไดเรกทอรีหน้าแรก

  10. สร้างรายงานจากข้อมูลดิบ

    สำหรับอุปกรณ์ที่ใช้ Android 7.0 ขึ้นไป

    adb bugreport [path/]bugreport.zip

    สำหรับอุปกรณ์ที่ใช้ Android 6.0 และต่ำกว่า

    adb bugreport [path/]bugreport.txt

    รายงานข้อบกพร่องอาจใช้เวลาหลายนาทีจึงจะเสร็จสมบูรณ์ อย่ายกเลิกการเชื่อมต่อ หรือยกเลิกกระบวนการจนกว่าจะเสร็จสมบูรณ์

    เช่นเดียวกับ batterystats.txt ระบบจะสร้างไฟล์เหล่านี้ในไดเรกทอรีที่คุณ ระบุโดยใช้อาร์กิวเมนต์ path ซึ่งไม่บังคับ หากคุณ ไม่ระบุเส้นทาง แต่จะสร้างไว้ในไดเรกทอรีหน้าแรก

    หากยังไม่ได้ทำงานอยู่ ให้เรียกใช้ Charge Historian โดยใช้คำสั่งต่อไปนี้ คำสั่ง:

    docker run -p port_number:9999 gcr.io/android-battery-historian/stable:3.1 --port 9999
    
  11. หากต้องการดูข้อมูลใน Charge Historian ให้เปิด Balance Historian ใน เบราว์เซอร์ สำหรับ Mac และ Linux นั้นแบตเตอรี่ประวัติศาสตร์ทำงานที่ http://localhost:port_number สำหรับ Windows, แบตเตอรี่ ประวัติศาสตร์ประวัติศาสตร์ http://your_IP_address:port_number

  12. คลิก Browse แล้วเลือกไฟล์รายงานข้อบกพร่องที่คุณสร้างขึ้น

  13. คลิกส่ง แบตเตอรี่ Historian จะเปิดแผนภูมิที่สร้างจาก ข้อมูลสถิติแบตเตอรี่

ดูข้อมูลด้วยแผนภูมิ Charge Historian

แผนภูมิของ Charge Historian แสดงกราฟเหตุการณ์ที่เกี่ยวข้องกับพลังในช่วงเวลาที่ผ่านมา

แต่ละแถวแสดงส่วนของแถบสีเมื่อคอมโพเนนต์ของระบบทำงานอยู่ กำลังดึงกระแสจากแบตเตอรี่ แผนภูมิไม่แสดงปริมาณแบตเตอรี่ ที่คอมโพเนนต์ใช้ ซึ่งก็คือการที่แอปทำงานอยู่เท่านั้น แผนภูมิจัดเรียงตาม หมวดหมู่ แสดงแถบสำหรับแต่ละหมวดหมู่เมื่อเวลาผ่านไป ตามที่แสดงบน แกน x ของแผนภูมิ

วันที่ ตัวอย่างแผนภูมิประหยัดแบตเตอรี่
รูปที่ 3 ตัวอย่างนักประวัติศาสตร์แบตเตอรี่
  1. เพิ่มเมตริกเพิ่มเติมจากรายการแบบเลื่อนลง
  2. วางเมาส์ไว้เหนือชื่อเมตริกเพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับ แต่ละเมตริก รวมถึงคีย์สำหรับสีที่ใช้ในแผนภูมิ
  3. วางตัวชี้เมาส์ไว้เหนือแถบเพื่อดูข้อมูลโดยละเอียดเพิ่มเติมเกี่ยวกับแถบดังกล่าว และสถิติแบตเตอรี่ ณ เวลาที่เจาะจงบนไทม์ไลน์

เอาต์พุตแบตเตอรี่เพิ่มเติม

คุณดูข้อมูลเพิ่มเติมจากไฟล์ batterystats.txt ได้ใน สถิติหลังแผนภูมิแบตเตอรี่ประวัติศาสตร์

วันที่ ส่วนสถิติของ Charge Historian
รูปที่ 4 ส่วนสถิติของแบตเตอรี่ นักประวัติศาสตร์

แท็บ 1 สถิติของระบบ จะมีทั้งระบบ ข้อมูลสถิติ เช่น ระดับสัญญาณมือถือและความสว่างของหน้าจอ ข้อมูลนี้ จะให้ภาพรวมของสิ่งที่เกิดขึ้นกับอุปกรณ์ นี่คือ ซึ่งมีประโยชน์มากในการตรวจสอบว่าไม่มีเหตุการณ์ภายนอกใดที่ส่งผลกระทบต่อการทดสอบของคุณ

แท็บ2 สถิติของแอปมีข้อมูลเกี่ยวกับ บางแอปเท่านั้น จัดเรียงรายการแอปโดยใช้ 3 รายการแบบเลื่อนลงจัดเรียงแอปตามในแผงการเลือกแอป คุณ สามารถเลือกแอปที่ต้องการเพื่อดูสถิติในการใช้ รายการแบบเลื่อนลง 4 แอป