Wybór odpowiedniej metody profilowania

Profile możesz zbierać za pomocą 2 głównych metod: ręcznego zbierania profili i interfejsu API ProfilingManager.

Zalecamy używanie interfejsu ProfilingManager do zbierania i analizowania danych od wielu użytkowników lub do debugowania rzadkich problemów. W przypadku problemów, które łatwiej jest odtworzyć, lepszym rozwiązaniem może być jednak ręczne profilowanie.

W tabeli poniżej przedstawiamy różnice między tymi 2 metodami rejestrowania profili:

ProfilingManager Ręczne zbieranie profili
Kontrola czasu profilu Więcej Mniej
Źródło profilu Urządzenie lokalne i użytkownicy publiczni Tylko urządzenie lokalne
Dane wyjściowe profilu Usunięto Nieusunięto
Profilowanie na podstawie zdarzeń Tak Nie
Możliwość dostosowywania profilu Mniej Więcej
Skalowalność Wysoki Niski

W sekcjach poniżej krótko opisujemy różnice między metodami rejestrowania profili.

Kontrola czasu profilu

Interfejs API ProfilingManager zapewnia większą kontrolę nad tym, kiedy aplikacja rozpoczyna lub zatrzymuje profil, w porównaniu z profilowaniem ręcznym, w którym inicjowanie profilu czasowego może być trudne. Interfejs ProfilingManager ułatwia też profilowanie nieoczekiwanych zachowań, ponieważ możesz zbierać profile nawet wtedy, gdy nie możesz odtworzyć zachowania lokalnie.

Źródło profilu

Za pomocą interfejsu ProfilingManager możesz zbierać dane od użytkowników publicznych, aby znajdować i rozwiązywać problemy z wydajnością. Z kolei profilowanie ręczne umożliwia odtwarzanie problemów tylko na własnym urządzeniu.

Dane wyjściowe profilu

Interfejs ProfilingManager i ręczne zbieranie danych generują różne typy danych wyjściowych profilu:

  • Interfejs ProfilingManager generuje usunięte ślady. Usunięte ślady zawierają informacje o procesie aplikacji, ale ukrywają dane z innych aplikacji w systemie. Ponieważ interfejs ProfilingManager zbiera i usuwa dane przed ich zwróceniem, możesz zbierać ślady od użytkowników publicznych, chroniąc ich prywatność, ponieważ nie będą widoczne dane z innych aplikacji.

  • Ręczne zbieranie profili generuje nieusunięte ślady. Gdy ręcznie rejestrujesz ślad systemowy, dane wyjściowe mogą obejmować wszystkie procesy działające w systemie. Chociaż te nieusunięte ślady zawierają pełniejsze dane do debugowania, ze względu na kwestie dotyczące prywatności możesz uzyskać do nich dostęp tylko lokalnie.

Profilowanie na podstawie zdarzeń

Interfejs ProfilingManager może też zbierać profile, gdy wystąpią określone zdarzenia, np. błąd „Aplikacja nie odpowiada” lub uruchomienie aplikacji. Interfejs ProfilingManager będzie obsługiwać uruchamianie i zatrzymywanie profili w przypadku zbierania danych na podstawie zdarzeń.

Możliwość dostosowywania profilu

Profilowanie ręczne zapewnia największe możliwości dostosowywania, a interfejs ProfilingManager – mniejsze.

Skalowalność

Interfejs ProfilingManager to najlepszy sposób na skalowanie śledzenia, ponieważ jest to jedyna opcja, która umożliwia deweloperom aplikacji rejestrowanie profili użytkowników publicznych. Za pomocą interfejsu ProfilingManager możesz skonfigurować zbieranie i analizowanie śladów na dużą skalę. Profilowanie ręczne jest ograniczone do użytku lokalnego.