Narzędzie profilujące - przegląd

Narzędzie profilujące składa się z perspektywy Profilowanie i rejestrowanie oraz kilku widoków.   Umożliwia ono profilowanie aplikacji, pracę z zasobami profilowania, interakcję z profilowanymi aplikacjami oraz sprawdzanie aplikacji pod względem problemów z wydajnością i wykorzystaniem pamięci.   Narzędzie profilujące zbiera dane dotyczące zachowania środowiska wykonawczego programu Java i prezentuje je w widoku graficznym i tabelarycznym.   Wszystkie te narzędzia ułatwiają wizualizację i zrozumienie procesu wykonywania programu, a także badanie wzorców zachowań programu. 

Narzędzie profilujące umożliwia także znajdowanie operacji, których wykonanie zajmuje najwięcej czasu, a także ułatwia identyfikację powtarzających się zachowań związanych z wykonaniem aplikacji oraz usuwanie zachowań nadmiarowych. Krótko mówiąc, narzędzie profilujące ma wiele zastosowań w procesie analizy wydajności, ułatwia także lepsze zrozumienie programu Java.

Profilowanie umożliwia przetestowanie wydajności tworzonej aplikacji na wystarczająco wczesnym etapie cyklu programowania, aby wystarczyło czasu na wprowadzenie i przetestowanie ulepszeń.

Architektura profilowania

Agent profilowania Java to instancja agenta wdrażana za pomocą komponentu Agent Controller. Na przedstawionym poniżej diagramie wdrażania Agent (2) może być agentem profilowania Java. Proces aplikacji (1) oznacza wirtualną maszynę języka Java, która wykonuje aplikację Java. Co istotne, diagram dotyczy zdalnego, a nie zintegrowanego komponentu Agent Controller.

Diagram wdrażania
Hosty wdrażania Hosty wdrażania Hosty wdrażania Hosty wdrażania Agent Agent Proces aplikacji Proces aplikacji Mechanizm gromadzenia danych Usługa Hosty programistów Hosty programistów Hosty programistów Hosty programistów Hosty programistów Hosty programistów Hosty programistów JDK Klient testowy Wtyczki produktu WebSphere

Rysunek 1:
A Hosty wdrażania
1 Proces aplikacji
2 Agent
3 Mechanizm gromadzenia danych
4 Usługa
B Hosty programistów
5 Wtyczki produktu WebSphere
6 Klient testowy
7 JDK

Z każdym profilowanym procesem aplikacji może działać agent profilowania. Dzięki temu narzędzie profilujące umożliwia interaktywne profilowanie tych aplikacji w pojedynczym środowisku roboczym.

Składniki

Oto kilka funkcji narzędzia profilującego:

Wizualne przedstawianie informacji

Informacje wizualne wyświetlane w związku z działaniem narzędzia profilującego są zorganizowane w poziomy według pakietów, klas i metod. Dzięki temu narzędzie profilujące umożliwia modelowanie i prezentowanie informacji programu użytkownika w sposób zgodny z hierarchią programowania w języku Java.

Wyodrębnianie wzorców

Funkcja wyodrębniania wzorców pobiera dużą ilość informacji o wykonywaniu programu, które następnie zawęża do najbardziej istotnych, zapewniając ogólny przegląd procesu wykonywania programu oraz możliwość wyświetlenia bardziej szczegółowych informacji o obiektach i wywołaniach metod. Wyodrębnianie wzorców znacznie upraszcza analizę w czasie wykonywania.  Narzędzie profilujące ma szerokie możliwości w dziedzinie wyodrębniania wzorców.

Monitorowanie rozproszone  

Omawiane narzędzia umożliwiają współbieżne monitorowanie wielu procesów na wielu komputerach, a tym samym profilowanie aplikacji rozproszonej. Korzystając z komponentu Agent Controller, narzędzie profilujące umożliwia uruchamianie aplikacji na zdalnych komputerach, a następnie ich interaktywne profilowanie. Funkcja ta jest przydatna podczas próby określenia parametrów wydajności aplikacji działających na docelowych platformach wdrażania.

 

Pojęcia pokrewne
Model Common Base Event
Zintegrowany komponent Agent Controller
Zasoby profilowania
Baza danych objawów

Czynności pokrewne
Ustawianie preferencji profilowania
Określanie kryteriów profilowania
Profilowanie aplikacji
Zapisywanie zasobów profilowania
Importowanie zasobów profilowania

Informacje pokrewne

Widoki diagramu sekwencji
Widok statystyki pamięci
Widok statystyki wykonania