280 likes | 455 Views
TPTP. optymalizacja kodu. Agenda. TPTP architektura TPTP projekty TPTP – optymalizacja TPTP – wstrzykiwanie kodu TPTP – analiza statyczna. Optymalizacja ?. Architektura. Agent Controller. Klient. Agent. AC. Agent Controller. Agent wydajnościowy JVMPI Agent JVMTI Agent (>= 1.5)
E N D
TPTP optymalizacja kodu
Agenda TPTP architektura TPTP projekty TPTP – optymalizacja TPTP – wstrzykiwanie kodu TPTP – analiza statyczna
Agent Controller Klient Agent AC
Agent Controller Agent wydajnościowy • JVMPI Agent • JVMTI Agent (>= 1.5) Agent zbierający logi w czasie rzeczywistym • Jakarta Apache Commons • Java Logging (JSR-047) • Jakarta Apache Log4J Agent zbierający dane statystyczne • Windows • JBoss • JOnAS Agent umożliwiający wykonywanie testów • JUnit Runner • URL Runner
Projekty Platform Testing Monitoring Trace and profiling
Platform Typy danych Punkty rozszerzeń Komponenty GUI
Test testy JUnit testy obciążeniowe URL automatyczne testy GUI (tylko w Eclipse) nagrywanie API testy manualne
Monitoring Windows Linux JBoss (JMX) JOnAS (JMX) Apache (status) MySQL
Monitoring zbieranie logów (CBE) adaptery do wspólnego formatu korelacja logów filtrowanie i przeglądanie baza symptomów
Trace and profiling profilowanie pamięci profilowanie wykorzystania czasu procesora profilowanie wątków (JVM 5.0) wstrzykiwanie kodu analiza statyczna kodu
AC konfiguracja Agent Controller vs. Integrated Agent Controller
Zaczynamy Menadżer aktualizacji Twoim przyjacielem !!!
Profilowanie JVMTI
Wstrzykiwanie kodu AspectJ lub ProbeKit wstrzykiwanie dynamicze lub statyczne w kodzie wywoływanym lub wywołującym elastyczne filtry kiepski edytor
Wstrzykiwanie (Probes) Przepis: Stwórz nową próbkę
Wstrzykiwanie (Probes) Przepis: Stwórz nową próbkę Wybierz typ
Wstrzykiwanie (Probes) Przepis: Stwórz nową próbkę Wybierz typ Określ cel
Wstrzykiwanie (Probes) Przepis: Stwórz nową próbkę Wybierz typ Określ cel Zaprogramuj
Wstrzykiwanie (Probes) Przepis: Stwórz nową próbkę Wybierz typ Określ cel Zaprogramuj Uruchom
Analiza kodu sprawdzenie kodu pod kątem zgodności z dobrymi praktykami tworzenie własnych reguł zaznaczenie miejsc naruszających reguły jako adnotacje edytora szybkie poprawki dla naruszeń