JDK Flight Recorder - JDK Flight Recorder

JDK Flight Recorder ішіне орнатылған оқиғаларды тіркеуші болып табылады Java виртуалды машинасы. Мұны коммерциялық әуе кемесіндегі деректер рейстерінің (қара жәшіктің) бағдарламалық баламасы деп санауға болады. Ол туралы ақпаратты жинақтайды JVM өзі және JVM-де жұмыс істейтін қосымша. Деректердің алуан түрлілігі бар, мысалы, әдісті анықтау, профильді бөлу және қоқысты жинауға байланысты оқиғалар. The JDK Flight Recorder мүмкіндігін азайту үшін жасалған Бақылаушының әсері профильді жүйеде және өндіріс жүйелерінде әрқашан қосылуға арналған. Технология 2018 жылы ашылды.

Ұшу жазбаларын талдау және визуалдау әдеттегідей қолданылады JDK миссиясын басқару.

Технология

Жазу файлы мәліметтердің екілік бөліктерінен тұрады. Әрбір бөлік өзін сипаттайды және өздігінен тұрады. Басқаша айтқанда, деректерді пайдалану үшін қажет метадеректер (мысалы, деректер типі және әрбір атрибуттың мазмұн түрі) (оқиғаларды талдап қана қоймай, оларды нақты қолданады). Сонымен, мысалы, шешілуге ​​тиісті барлық мәндер. тұрақты бассейндер де қоқысқа кіреді.

JFR тиімділігі үшін қолданылатын көптеген алуан түрлі технологиялар бар, мысалы:

  • Екілік көріністер, жолдарға алға-артқа аудармалар жоқ, буферлер дискіге тиімді шығарылады
  • Көптеген оқиғалар жергілікті жергілікті буферге жазылады
  • Кейбір платформаларда өзгермейтін TSC уақытты тиімді таңбалау үшін қолданылады
  • Жадтағы және файлдағы көлемді сақтау үшін бүтін сығымдау схемасы
  • JVM-де іске асырылғаннан бастап, көптеген деректер қол жетімді немесе деректерді алуға болатын уақытта шығарылады, бұл шығындарды төмендетеді

Егер екілік жазбаны түрлендіретін болса JSON, ол жазылған ұзындық пен мазмұнға байланысты екі немесе одан да көп дәрежеде оңай жарылуы мүмкін.

Әдепкі шаблонды қолдана отырып JFR-ге күтілетін өнімділік пайыздан аз, ал профильдеу шаблоны үшін екі пайыздан аз.

Тарих

JDK Flight Recorder JRockit Flight Recorder ретінде басталды және бастапқыда JVM-ді жақсарту үшін деректерді жинау құралы ретінде қолданылды.[1][2] Oracle Sun Microsystems сатып алғаннан кейін, JRockit Flight Recorder ребрендингі Java Flight Recorder болды.[3] 2018 жылы Java Flight Recorder ашылды және OpenJDK 11 бөлігі ретінде шығарылды.[4] Ашық көздерден алынған кезде Java сауда белгілері мәселелеріне байланысты JDK Flight Recorder ребрендингі өтті.

Нұсқалар

Бұл JFR файл форматының нұсқалары. Ол бұрыннан бар барлық нұсқаларды қамтымайды, керісінше HotSpot-қа көшкеннен кейін JVM-де болатын нұсқаларды қамтиды.

JFR нұсқасыJDK нұсқалары
v0.9Oracle JDK 7 (u4 +), Oracle JDK 8
v1.0Oracle JDK 9, Oracle JDK 10
v2.0Oracle JDK 11+, Open JDK 11+, Azul JDK 8 және Azul JDK 11+

Сондай-ақ қараңыз

Әдебиеттер тізімі

  1. ^ «JRockit Flight Recorder жұмыс уақытының нұсқаулығы» (PDF). Алынған 22 қаңтар 2019.
  2. ^ Oracle JRockit: анықтамалық нұсқаулық. Packt паб. б. 588. ISBN  1847198066.
  3. ^ «Java Flight Recorder жұмыс уақытының нұсқаулығы». Алынған 22 қаңтар 2019.
  4. ^ «JEP 328: Flight Recorder». Алынған 22 қаңтар 2019.

Сыртқы сілтемелер