W trybie autonomicznym opcje profilowania określa się w pliku. Poniżej opisano format takiego pliku
oraz poprawne opcje profilowania, których można w nim użyć.
Klucz opcji |
Wartość opcji |
- MONITOR_MODE
- Ta opcja steruje wyświetlaniem zdarzeń monitora w zapisie śledzenia. Istnieją dwa rodzaje zdarzeń
monitora: rywalizujące zdarzenia monitora i oczekujące zdarzenia monitora. Rywalizujące zdarzenia monitora występują wtedy, gdy wątek próbuje uzyskać dostęp do monitora, który jest już używany przez inny wątek.
Oczekujące zdarzenia monitora występują wtedy, gdy wątek czeka na monitor, na przykład wykonując metodę wait().
|
- all
- W zapisie śledzenia wyświetlane są wszystkie zdarzenia monitora.
- none
- W zapisie śledzenia nie są wyświetlane żadne zdarzenia monitora.
|
- FILTERS
- Służy do określania, czy na początku zapisu śledzenia mają być wyświetlane używane filtry.
|
- true
- Filtry są wyświetlane na początku zapisu śledzenia.
- false
- Filtry nie są wyświetlane na początku zapisu śledzenia.
|
- TRACK_GC_EVENT_TYPES
- Umożliwia wskazanie, jakiego typu zdarzenia czyszczenia pamięci (GC) powinny być wyświetlane w zapisie śledzenia.
Istnieją dwa typy zdarzeń czyszczenia pamięci: zdarzenia usuwania obiektów i zdarzenia przenoszenia obiektów.
|
- none
- Nie są wyświetlane żadne zdarzenia czyszczenia pamięci.
- deletes
- frees
- Wyświetlane są tylko zdarzenia usuwania obiektów.
- moves
- Wyświetlane są tylko zdarzenia przenoszenia obiektów.
- deletesAndMoves
- movesAndFrees
- Wyświetlane są zarówno zdarzenia usuwania obiektów, jak i przenoszenia obiektów.
|
- ID_STYLE
- Służy do określania typu wyświetlanych identyfikatorów obiektów. Możliwe typy to: identyfikator statyczny (static) i identyfikator przemieszczalny (relocatable). Identyfikator statyczny to zasadniczo identyfikator jednorazowego użytku, przypisany do obiektu napotkanego po raz pierwszy w czasie śledzenia. Ponadto identyfikator ten nie zmienia się podczas wykonywania (nawet jeśli obiekt zostanie przeniesiony wewnętrznie przez wirtualną maszynę języka Java). Identyfikator statyczny jest typem używanym zazwyczaj przez funkcję profilowania.
Identyfikator przemieszczalny to identyfikator powiązany z obiektem przez wirtualną maszynę języka Java, który może
się zmieniać w czasie wykonywania (jeśli na przykład podczas czyszczenia pamięci wystąpi zdarzenie przeniesienia obiektu).
|
- static
- Wyświetlane są tylko identyfikatory statyczne.
- relocatable
- Wyświetlane są tylko identyfikatory przemieszczalne.
- staticAndRelocatable
- Wyświetlane są zarówno identyfikatory statyczne, jak i przemieszczalne.
|
- OPTIONS
- Służy do określania, czy w zapisie śledzenia powinny być wyświetlane opcje profilowania.
|
- true
- Opcje profilowania są wyświetlane w zapisie śledzenia.
- false
- Opcje profilowania nie są wyświetlane w zapisie śledzenia.
|
- TIMESTAMPS
- Służy do określania, czy w zapisie śledzenia powinny być wyświetlane znaczniki czasu.
|
- true
- Znaczniki czasu są wyświetlane.
- false
- Znaczniki czasu nie są wyświetlane.
|
- METHOD_COUNTS
- Służy do określania, czy na zakończenie zapisu śledzenia powinny być wyświetlane liczniki metod.
|
- true
- W przypadku śledzonych metod na zakończenie zapisu śledzenia, tuż przed zamknięciem wirtualnej maszyny języka Java,
wyświetlana jest łączna liczba ich wywołań.
- false
- Liczniki metod nie są wyświetlane.
|
- OBJ_ALLOC_IS_ARRAY
- Służy do określania, czy dla alokacji obiektów ma być wyświetlany atrybut isArray (przydzielony
obiekt jest tablicą lub nie; informacje na ten temat zawiera atrybut isArray).
|
- true
- Atrybut isArray jest wyświetlany.
- false
- Atrybut isArray nie jest wyświetlany.
|
- STACK_INFORMATION
- Ta opcja służy do określania używanego typu śledzenia metod.
|
- none
- Nie jest wykonywane żadnego rodzaju śledzenie metod. Odpowiada to pozostawieniu niewybranej opcji Analiza czasu wykonania w oknie konfiguracji profilu w środowisku roboczym.
- normal
- Śledzone są wszystkie metody niefiltrowane.
- boundary
- Śledzone są wszystkie metody niefiltrowane oraz wszystkie metody brzegowe. Odpowiada to wybraniu w środowisku roboczym opcji
Konfiguracja profilu > Analiza czasu wykonania > Zbieraj informacje o klasach brzegowych wykluczonych przez filtry.
- contiguous
- Śledzone są wszystkie metody niefiltrowane oraz wszystkie metody filtrowane, które występują na stosie wywołań
metod między dwiema metodami niefiltrowanymi. Na przykład załóżmy, że metoda A wywołuje metodę B, która wywołuje metodę C,
która z kolei wywołuje metodę D. Następnie załóżmy, że metody A i D są niefiltrowane, ale metody B i C są filtrowane.
Ponieważ metody B i C znajdują się między dwiema metodami niefiltrowanymi, one również będą śledzone.
- boundaryAndContiguous
- Zachowanie w tym przypadku jest takie samo jak dla wartości contiguous i boundary ustawionych razem dla opcji STACK_INFORMATION.
|
- BOUNDARY_DEPTH
- Służy do określania głębokości śledzenia brzegowego, gdy opcja STACK_INFORMATION ma wartość boundary lub boundaryAndContiguous.
|
- Liczba całkowita
- Wartość wyrażona liczbą całkowitą określająca głębokość śledzenia brzegowego.
|
- TICKET
- Służy do określania, czy w zapisie śledzenia powinien być wyświetlany atrybut ticket.
|
- true
- Atrybut ticket powinien być wyświetlany w zapisie śledzenia.
- false
- Atrybut ticket nie powinien być wyświetlany w zapisie śledzenia.
|
- TRACE_MODE
- Służy do określania trybu śledzenia. Zasadniczo tryb śledzenia określa, czy informacje o obiekcie (stercie) są śledzone, czy też nie (wartość none ma specjalne znaczenie).
|
- full
- Śledzone są wszystkie możliwe informacje o obiekcie. Oznacza to śledzenie alokacji obiektów oraz śledzenie obiektów powiązanych z wywołaniami metod (jeśli opcja STACK_INFORMATION została ustawiona do śledzenia metod).
- none
- Nie jest wykonywane żadne śledzenie (w przypadku ustawienia tej wartości opcja STACK_INFORMATION jest przesłaniana, nawet jeśli zostało dla niej ustawione śledzenie wywołań metod).
- noObjectCorrelation
- Nie są śledzone informacje o obiektach. Wartość ta różni się od wartości none. Śledzenie wywołań metod może w dalszym ciągu
być realizowane (jeśli opcja STACK_INFORMATION jest odpowiednio ustawiona), ale nie są śledzone obiekty powiązane z wywołaniami metod
ani żadne informacje o przydziałach obiektów.
|
- TRACE_ID_REFS
- Służy do określania, czy ma być wyświetlany atrybut odwołania identyfikatora śledzenia. Identyfikator odwołania
śledzenia jest unikalny dla procesu śledzenia.
|
- true
- Atrybut odwołania identyfikatora śledzenia jest wyświetlany.
- false
- Atrybut odwołania identyfikatora śledzenia nie jest wyświetlany.
|
(C) Copyright IBM Corporation 2000, 2006. Wszelkie prawa zastrzeżone.