Profiluj wykorzystanie baterii za pomocą narzędzi Batterystats i Historycznego baterii

Ten dokument przedstawia podstawowe etapy konfiguracji i przepływ pracy w przypadku narzędzia Batterystats i skryptu Historia baterii. Aby dowiedzieć się, jak za pomocą usługi Battery Historyn badać wzorce zużycia baterii, zapoznaj się z artykułem Analizowanie zużycia energii w narzędziu Battery Historyn (w języku angielskim).

Batterystats to narzędzie zawarte w platformie Androida, które zbiera dane o bateriach na Twoim urządzeniu. Możesz użyć narzędzia adb, aby przesłać zebrane dane o baterii do maszyny programistycznej i utworzyć raport do analizy w narzędziu Battery Historyn. Usługa Battery Historyn konwertuje raport z baterii baterii na wizualizację HTML, którą możesz wyświetlić w przeglądarce.

Programy Batterystats i Battery Historyn przydają się w następujących przypadkach:

  • Pokazuję, gdzie i w jaki sposób procesy pobierają prąd z baterii.
  • Identyfikowanie zadań w aplikacji, które można odroczyć lub usunąć, aby wydłużyć czas pracy na baterii.

Zainstaluj historyczny akumulator

Możesz zainstalować aplikację Battery Historyn za pomocą Dockera. Informacje o alternatywnych metodach instalacji, w tym kompilacjach ze źródła, znajdziesz w README na stronie projektu w GitHubie. Aby zainstalować za pomocą Dockera, wykonaj te czynności:

  1. Zainstaluj Dockera, postępując zgodnie z instrukcjami na stronie Dockera. Działa każdy typ subskrypcji, w tym bezpłatna subskrypcja osobista.

  2. Aby sprawdzić, czy Docker jest prawidłowo zainstalowany, otwórz wiersz poleceń i wpisz to polecenie:

    docker run hello-world
    

    Jeśli Docker jest prawidłowo zainstalowany, wyświetli wynik podobny do tego:

    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. Przed uruchomieniem obrazu Battery Historyn uruchom aplikację Docker Desktop, która jest frontendem GUI dla Dockera. Spowoduje to zainicjowanie narzędzi Dockera. Historia baterii nie będzie działać, dopóki nie zrobisz tego chociaż raz.

  4. Uruchom usługę Historia baterii z poziomu wiersza poleceń przy pierwszym uruchomieniu. Aplikacja Docker Desktop nie pozwala określić portu, na którym zostanie uruchomiony serwer WWW. Możesz to zrobić tylko z poziomu wiersza poleceń. Gdy jednak uruchomisz kontener z poziomu wiersza poleceń, w Docker Desktop zostanie utworzony wpis, który będzie można uruchomić za pomocą tego samego portu nasłuchującego z Docker Desktop.

  5. Uruchom obraz historyczny baterii za pomocą tego polecenia:

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

    Usługa Historia baterii korzysta z wybranego portu, określonego w polu port_number.

  6. Przejdź do usługi Historia baterii w przeglądarce, aby sprawdzić, czy urządzenie działa. Adres ten różni się w zależności od systemu operacyjnego:

    Systemy Linux i Mac

    Historyk baterii jest dostępny na stronie http://localhost:port_number.

    Do systemu Windows

    Po uruchomieniu Dockera wyświetli Ci się adres IP maszyny, której używa. Jeśli na przykład adres IP to 123.456.78.90, usługa Historyk baterii jest dostępna pod adresem http://123.456.78.90:port_number.

    Następnie wyświetli się strona startowa usługi Historyn baterii, na której możesz przesyłać i wyświetlać statystyki dotyczące baterii.

    Strona startowa Historii baterii
    Rysunek 1. Strona startowa narzędzia Battery Historyn.

Zbieranie danych za pomocą statystyk baterii

Aby zebrać dane z urządzenia za pomocą aplikacji Batterystats i otworzyć je w narzędziu Historia baterii, wykonaj te czynności:

  1. Podłącz urządzenie mobilne do komputera.

  2. W oknie terminala zamknij działający serwer adb, uruchamiając to polecenie:

    adb kill-server
    
  3. Uruchom ponownie aplikację adb i sprawdź, czy są połączone urządzenia, uruchamiając to polecenie.

    adb devices
    

    Zawiera ona listę urządzeń, podobnie jak w przykładowych danych wyjściowych poniżej.

    Dane wyjściowe urządzeń adb
    Rysunek 2. Dane wyjściowe funkcji adb devices, pokazujące 1 połączone urządzenie

    Jeśli nie pojawi się na liście żadnych urządzeń, sprawdź, czy telefon jest połączony i włączone jest debugowanie USB, a następnie zatrzymaj urządzenie adb i uruchom je ponownie.

  4. Zresetuj gromadzenie danych o baterii, uruchamiając to polecenie:

    adb shell dumpsys batterystats --reset
    

    Urządzenie zawsze gromadzi w tle statystyki baterii i inne dane debugowania. Zresetowanie spowoduje usunięcie danych, które wcześniej zbierały baterię. Jeśli tego nie zrobisz, dane wyjściowe mogą być bardzo duże.

  5. Odłącz urządzenie od komputera, aby pobierać tylko prąd z baterii urządzenia.

  6. Używaj aplikacji i wykonuj działania, o których chcesz gromadzić dane. Na przykład odłącz się od Wi-Fi i wyślij dane do chmury.

  7. Podłącz telefon ponownie.

  8. Upewnij się, że telefon został rozpoznany, i uruchom to polecenie:

    adb devices
    
  9. Zrzuć wszystkie dane dotyczące baterii, uruchamiając to polecenie. To może chwilę potrwać.

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

    Plik batterystats.txt zostanie utworzony w katalogu, który wskażesz za pomocą opcjonalnego argumentu ścieżki. Jeśli nie określisz ścieżki, plik zostanie utworzony w katalogu głównym.

  10. Tworzenie raportu na podstawie nieprzetworzonych danych.

    Na urządzeniach z Androidem 7.0 lub nowszym:

    adb bugreport [path/]bugreport.zip

    Na urządzeniach z Androidem 6.0 lub starszym:

    adb bugreport [path/]bugreport.txt

    Utworzenie raportu o błędzie może potrwać kilka minut. Nie odłączaj urządzenia ani nie anuluj, dopóki się nie zakończy.

    Podobnie jak w przypadku batterystats.txt pliki te są tworzone w katalogu, który wskażesz przy użyciu opcjonalnego argumentu path. Jeśli nie określisz ścieżki, zostaną one utworzone w katalogu głównym.

    Jeśli aplikacja Battery Historyn nie jest jeszcze uruchomiona, uruchom to polecenie:

    docker run -p port_number:9999 gcr.io/android-battery-historian/stable:3.1 --port 9999
    
  11. Aby wyświetlić swoje dane w usłudze Battery Historyn, otwórz tę usługę w przeglądarce. W systemach macOS i Linux Battery Historyn działa na stronie http://localhost:port_number. W przypadku systemu Windows historia baterii działa pod adresem http://your_IP_address:port_number.

  12. Kliknij Przeglądaj, a potem wybierz utworzony przez siebie plik raportu o błędzie.

  13. Kliknij Prześlij. Serwis historyczny baterii otworzy wykres utworzony na podstawie danych statystyk baterii.

Wyświetlaj dane dzięki wykresom historycznym baterii

Wykres historyczny baterii przedstawia zdarzenia związane z zasilaniem w czasie.

Każdy wiersz zawiera kolorowy segment słupka, gdy komponent systemu jest aktywny i pobiera prąd z baterii. Nie pokazuje on wykorzystania baterii przez komponent, a jedynie to, czy aplikacja jest aktywna. Wykresy są uporządkowane według kategorii. Na osi x wykresu widoczny jest słupek dla każdej kategorii w czasie.

Przykład wykresu historycznego baterii
Rysunek 3. Przykład wykresu historycznego baterii.
  1. Dodaj więcej danych z listy.
  2. Najedź kursorem na nazwę danych, aby wyświetlić więcej informacji o każdym z nich, w tym klucz do kolorów używanych na wykresie.
  3. Najedź kursorem na słupek, aby wyświetlić bardziej szczegółowe informacje o danym wskaźniku oraz statystyki baterii w wybranym punkcie osi czasu.

Dodatkowe dane wyjściowe statystyk baterii

Dodatkowe informacje z pliku batterystats.txt znajdziesz w sekcji statystyk po wykresie historycznym baterii.

Sekcja statystyk w historycznym baterii
Rysunek 4. Sekcja statystyk w serwisie Bateria historyk.

Karta 1 Statystyki systemu zawiera dane z całego systemu, takie jak poziom sygnału sieci komórkowej i jasność ekranu. Te informacje dają ogólny obraz tego, co dzieje się z urządzeniem. Dzięki temu możesz mieć pewność, że na test nie mają wpływu żadne zdarzenia zewnętrzne.

Karta 2 Statystyki aplikacji zawiera informacje o konkretnych aplikacjach. Posortuj listę aplikacji, korzystając z listy 3 Sortuj aplikacje według w panelu Wybór aplikacji. Możesz wybrać konkretną aplikację, aby wyświetlić jej statystyki na liście 4 aplikacji.