JRockit Mission Control
JRMC je sada nástrojů, které umožňují monitorovat a profilovat aplikace. Přitom zatěžuje sledovanou infrastrukturu jen minimálně (méně jak cca 1%), a je tedy možné ji využít i pro sledování a diagnostiku provozního prostředí. JRMC může běžet buď jako samostatná aplikace, nebo v Eclipse. Sestává ze tří modulů: konzole pro správu, runtime analyzeru a detektoru memory leaků.
Při vývoji může být JRMC využitá k ladění a optimalizaci kódu i k hledání memory leaků, které v praxi patří mezi nejobtížněji dohledatelné typy problémů.
V provozu je používána ke sledování stavu systému, včetně možnosti nastavení a generování alertů pro případy, kdy zátěž dosáhne limitní úrovně nebo hodnot, které lze nastavit.
Z pohledu technické podpory to také může být zajímavý tool, použitelný pro hledání defektů buď v reálném provozu, nebo ex post na základě průběžně ukládáných nahrávek provozu. Ty je pak možné kdykoli později diagnostikovat.
Jiný produkt pro WebLogic s takovým záběrem zatím na trhu asi není. Blízko mu bude asi Sun GC viewer, ale ten poskytuje o dost menší subset možností jak diagnostiky, tak ladění. O něco méně blízko budou Optimizeit od Borlandu, Wiley a Yourkit, které jsou zaměřené trochu jinak a k JRMC by se spíše hodily jako doplněk.
No a co tedy vlastně umí JRMC monitorovat? Je to především využití CPU, alokace paměti a heapu, GC, běžící thready a jejich stack tracy a MBeany. Např. sledování threadu vypadá takto:
JRockit Flight Recorder
JRFR je obdobou černé skříňky umístěné v letadlech, umí zaznamenat všechny události, ke kterým během provozu systému došlo. Když se pak objeví nějaký problém nebo výpadek systému, je možné se vrátit zpět v čase a podívat se, co k problému vedlo.Zapisování událostí je prováděno na principu kruhového bufferu, který je stále dokola plněn. Stejně jako u JRMC je přitom overhead s ním spojený jen minimální. Samozřejmě je prointegrován s JRMC a nahrazuje JRA modul. JRFR ukládá nejen data z JRockit VM (od R28), ale i z WLDF a FMW Dynamic Monitoring systému, a umí tedy získávat eventy i z ADF, Web Center a SOA Suity.
K čemu se JRFR hodí
- k provádění diagnostiky na běžících produkčních systémech
- trasování zpátky v čase
- snímání a vyhodnocování aktivit/kroků vedoucích k nasimulování určitého problému
- snímání dat na všech vrstvách (JVM, WLS, DMS...)
- post mortem analýza pomocí JRMC GUI
- dumpování JRockitu a crash analýza
...a k čemu se nehodí
- ke snímání eventů spojených s extrémním payloadem (množstvím nesených dat) nebo obrovských počtů (řádově milionů a víc/sec) eventů
- ukládání dlouhé historie - není tedy náhradou Debug logování nebo server logů.
Tož to jsou hlavní vlastnosti těchto dvou užitečných toolů. Pokud byste si je chtěli vyzkoušet, celkem dobrý návod je tady.
