Określanie kryteriów profilowania

Profilowanie aplikacji wymaga wybrania jednego lub kilku typów analizy w ramach kolektora danych Profilowanie Java. Kolektory danych definiują sposób zbierania danych, a typy analizy określają rodzaj zbieranych danych. Filtry pozwalają się upewnić, że do widoków kierowane są wyłącznie informacje pożądane. Korzystanie z filtrów jest szczególnie przydatne, gdy istotna jest szybkość i wydajność: im mniej danych, tym mniejszy jest wpływ na system i tym szybciej mogą być zbierane.

Wymagania wstępne:

Konfigurowanie kryteriów profilowania aplikacji rozbito na następujące sekcje:

Wybieranie odpowiednich kolektorów danych i typów analizy

  1. W konfiguracji profilowania wybierz kartę Monitor.
  2. Kolektory danych są na panelu drzewa wyświetlane na poziomie podstawowym, a typy analizy są widoczne jako elementy potomne poszczególnych kolektorów. Rozwiń kolektor "Profilowanie Java" i przyjrzyj się typom analizy, które on obejmuje (na przykład "Podstawowa analiza pamięci", "Analiza czasu wykonania" i tak dalej).
    W ramach kolektora danych "Profilowanie Java" zaznacz typy analizy, z których zamierzasz korzystać. Należy uważać na liczbę zaznaczanych typów analizy. Wybranie zbyt wielu zbędnych typów analizy spowoduje znaczne obniżenie wydajności aplikacji. Poniższa tabela zawiera informacje o tym, jakie typy profilowania powinny zostać włączone na potrzeby generowania różnych widoków, oraz informacje o możliwych zastosowaniach każdego typu profilowania. Ustawianie opcji zostanie opisane wnastępnej sekcji.
    Typ analizy Wybrane opcje Dostępne widoki Zastosowanie
    Analiza pamięci Nie dotyczy Widok statystyki pamięci (pakiet, klasa, metoda), Widok odwołań do obiektów* Analiza wycieków pamięci, Identyfikacja klas pamięciochłonnych
    Analiza pamięci Zaawansowane >> Zaznaczone pole wyboru Informacje na poziomie instancji Widok statystyki pamięci (pakiet, klasa, metoda, instancja) Widok odwołań do obiektów* Analiza wycieków pamięci, Badanie czyszczenia pamięci
    Analiza czasu Pokaż statystykę wykonania (dane skompresowane) Widok statystyki wykonania (pakiet, klasa, metoda), Widok wykorzystania kodu Wyświetlanie wywołań metody
    Analiza czasu Pokaż statystykę wykonania (dane skompresowane), Zaawansowane >> Zbieraj informacje na poziomie instancji Widok statystyki wykonania (pakiet, klasa, metoda, instancja), Widok statystyki wykorzystanie kodu Wyświetlanie statystyki na poziomie pakietu, klasy i metody dla każdej instancji, Wyświetlanie wywołań metody
    Analiza czasu Pokaż szczegółowo przepływ wykonania w formie graficznej Widok statystyki wykonania (pakiet, klasa, metoda), Widok statystyki wykorzystania kodu, Widok przepływu wykonania, Widoki diagramów sekwencji UML2 (obiekt, klasa, wątek) Identyfikacja aktywnych wątków, Identyfikacja faz wykonania programu
    Analiza czasu Pokaż graficzne szczegóły wykonania, Zaawansowane >> Zbieraj informacje na poziomie instancji Widok statystyki wykonania (pakiet, klasa, metoda, instancja), Widok wykorzystania kodu, Widok odwołań do obiektów*, Widok przepływu wykonania, Widoki diagramów sekwencji UML2 (obiekt, klasa, wątek) Identyfikacja aktywnych wątków, Identyfikacja faz wykonania programu
    Wykorzystanie kodu Nie dotyczy Widok statystyki wykonania (pakiet, klasa, metoda) Wyświetlanie informacji o wykorzystaniu kodu

    * Uwaga: aby przeglądać dane profilowania w widoku Odwołania do obiektów, odwołania do obiektów należy zbierać poprzez wywoływanie akcji Zbieraj odwołania do obiektów. Akcję Zbieraj odwołania do obiektów można wywołać z poziomu paska narzędzi w widoku Monitor profilowania lub klikając prawym przyciskiem myszy agenta w widoku Monitor profilowania.

Ustawianie opcji profilowania

Opcje profilowania można ustawiać albo dla kolektora danych Profilowanie Java, albo dla zaznaczonych typów analizy. Zaznacz odpowiedni element (lub elementy) i kliknij przycisk Edytuj opcję.

Wykonaj następujące czynności, aby ustawić opcje profilowania dla kolektora danych Profilowanie Java:

  1. Zaznacz pozycję Profilowanie Java i kliknij przycisk Edytuj opcję.
  2. Na stronie Zestaw filtrów określ zestaw filtrów, który ma zostać zastosowany, wybierając go z listy Wybierz zestaw filtrów. Można użyć zestawu o nazwie Domyślny.
  3. W obszarze Treść wybranego zestawu filtrów kliknij przycisk Dodaj, aby dodać pakiety, dla których mają być zbierane dane. Zostanie otwarte okno dialogowe Dodawanie filtru. Podając nazwy pakietów i metod można wpisywać wzorce zawierające gwiazdkę (*) jako znak zastępczy.
    Uwaga 1. Wzorzec nazwy pakietu lub metody musi być wprowadzany w jeden z poniższych sposobów:
    Uwaga 2. Niektóre klasy będą zawsze widoczne w widokach profilowania, niezależnie od ustawień filtrów. Zbierając dane dotyczące konkretnej czynności, agent profilowania zawsze będzie zbierał dane dla obiektów lub klas powiązanych z badaną czynnością. Na przykład można określić jeden filtr umożliwiający zbieranie danych dla klasy MyUserClass oraz drugi filtr powodujący wykluczenie klas java.lang.*. Po załadowaniu instancji klasy MyUserClass zostanie również załadowana powiązana z nią definicja klasy. Z tą definicją klasy powiązany jest z kolei obiekt klasy typu java.lang.Class. Dzięki temu oprócz danych klasy MyUserClass zbierane będą również dane dla klasy java.lang.Class.
    Zachowanie to dotyczy również wątków. Klasa java.lang.Thread będzie zawsze wyświetlana w widokach profilowania, ponieważ agent profilowania śledzi wszystkie działające wątki, a tym samym zbiera dane dotyczące obiektów lub klas powiązanych z tymi wątkami.

    Zachowanie to dotyczy również wątków. Klasa java.lang.Thread będzie zawsze wyświetlana w widokach profilowania, ponieważ agent profilowania śledzi wszystkie działające wątki, a tym samym zbiera dane dotyczące obiektów lub klas powiązanych z tymi wątkami.
  4. Wypełnij pola Pakiet lub klasa i Nazwa metody, a następnie z listy rozwijanej Reguła wybierz opcję Dołącz.
  5. Kliknij przycisk OK.Kryterium filtru zostanie dodane do listy treści.
  6. Aby wykluczyć z listy treści filtru inne istniejące pakiety, kliknij pozycję Uwzględnij w kolumnie Reguła danego pakietu i zmień jej wartość na Wyklucz.
  7. Kliknij przycisk Dalej.
  8. Aby ograniczyć ilość zbieranych danych na podstawie wywołań metod, zaznacz pole wyboru Zatrzymaj profilowanie po określonej liczbie wywołań metody. W udostępnionym polu wejściowym określ liczbę wywołań metod.
  9. Aby ograniczyć ilość zbieranych danych na podstawie czasu, zaznacz pole wyboru Zatrzymaj profilowanie po upływie określonego czasu. W udostępnionym polu wejściowym określ czas w sekundach.
  10. Aby uruchomić agenta profilowania w trybie pauzy w celu uniknięcia zbierania danych podczas inicjalizacji aplikacji, usuń zaznaczenie pola wyboru Automatycznie rozpoczynaj monitorowanie w chwili uruchomienia aplikacji. Wprowadzenie tego ustawienia jest wysoce wskazane w przypadku dużych aplikacji, których nie trzeba monitorować na etapie inicjalizacji (co dotyczy na przykład uruchamiania instancji środowiska roboczego).
  11. Kliknij przycisk Zakończ.
  12. Kliknij przycisk Zastosuj, aby zapisać zmiany.

W analogiczny sposób można ustawić opcje typu analizy poprzez zaznaczenie wybranego typu i kliknięcie przycisku Edytuj opcję.

Konfigurowanie miejsca docelowego danych profilowania

Istnieje możliwość określenia projektu i monitora, które będą używane podczas sesji profilowania. Dane profilowania można również zapisać do pliku.

  1. W konfiguracji profilowania wybierz kartę Cel.
  2. Określ Projekt profilowania, który będzie używany podczas sesji profilowania.
  3. Określ Monitor, która ma być używany.
  4. Jeśli dane profilowania mają zostać zapisane do pliku, wybierz opcję Wyślij dane profilowania do pliku i w polu wejściowym Plik profilowania określ nazwę pliku.
  5. Kliknij przycisk Zastosuj, aby zapisać zmiany.
  6. Kliknij przycisk Profiluj, aby rozpocząć profilowanie aplikacji.
Wskazówka: Podczas filtrowania stosowany jest tylko pierwszy dostępny filtr. Określając filtry, należy upewnić się, że jako pierwsze zostały ustawione najbardziej charakterystyczne kryteria filtrów.

Pojęcia pokrewne
Narzędzie profilujące - przegląd

Czynności pokrewne
Profilowanie aplikacji
Ustawianie preferencji profilowania