Настройка на профилиране с помощта на Eclipse Test and Performance Tools Platform (TPTP)

Общ преглед

  • Профилирането е важен аспект за програмистите, тъй като това е процесът, при който програмистът може да открие голямо използване на паметта, голямо използване на процесора, проблеми със съревнованието в мрежата и т.н.
  • На пазара се предлагат различни профили и повечето от тях са търговски версии.
  • Общността на Eclipse има проект, наречен Testing and Performance Tools Platform (TPTP), за да се справи с това. Тук се обсъжда само аспектът на профилиране на TPTP, но възможностите на TPTP са много повече.
  • TPTP

  • Тази функция може да се използва за профилиране на локални Java приложения или сложни приложения, работещи на множество хостове и различни платформи.
  • Това е интегрирано с Eclipse, което позволява профилиране на приложения, работещи от Eclipse.
  • TPTP може да бъде инсталиран чрез Eclipse Provisioning Manager или ръчно да изтеглите необходимите пакети от TPTP и да го поставите в директорията на приставките.
  • Agent Controller - Този процес позволява на клиентските приложения да стартират други приложения локално или отдалечено и да взаимодействат с процеси на агенти за събиране на данни за профилиране. Ако TPTP трябва да се използва локално в Java приложението, този самостоятелен контролер на агента не се изисква, тъй като TPTP е в комплект с контролера на агента.
  • Приложените три операции за профилиране.
    1. CGProf: Тази опция за профилиране се използва за идентифициране на тесни места в производителността, чрез разбиване на времето за изпълнение на ниво за всеки метод.
    2. HeapProf: Тази опция ви позволява да идентифицирате съдържанието на купчината, като проследявате разпределението на обекти и де-разпределението през целия живот на програмата.
    3. ThreadProf: Тази опция за профилиране ви позволява да проследявате използването на нишки през целия живот на програмата.
  • TPTP работи в перспективата на профилиране и регистриране на Eclipse.
  • Анализ на времето за изпълнение

  • Този аспект на TPTP дава времето за изпълнение на пакети, класове и методи за анализ
  • Това е полезно при намирането на точките за изпълнение, които отнемат повече време от очакваното, които са потенциални затруднения в изпълнението.
  • Терминологии

  • Основно време: Времето за изпълнение на съдържанието на самия метод, с изключение на извикванията към други методи. (В диаграмата полето Основно време е събрало всички извиквания на този метод)
  • Средно базово време: Средното време, необходимо на даден метод за завършване, с изключение на времето на извикванията на методите към други методи. (В диаграмата това е основното време, разделено на броя на обажданията)
  • Кумулативно време: Времето за изпълнение на съдържанието на самия метод, включително извиквания към други методи.
  • Стъпки:

  • Изберете проекта и изберете посочения по-горе път.
  • Изберете конфигурацията на профила, която трябва да направите - Junit, Applet, Application или Server Project.
  • Изберете раздела Монитор и изберете „Анализ на времето за изпълнение“.
  • Кликнете върху опциите за редактиране и изберете „Събиране на информация за времето на процесора“.
  • Анализ на паметта

  • Този аспект на TPTP дава използването на паметта на пакети, класове и методи за анализ.
  • Това е полезно при намирането на точките за изпълнение, които консумират повече памет от очакваното, които са потенциални случаи за изтичане на памет.
  • Терминологии

  • Екземпляри на живо: Броят екземпляри от конкретния клас, които все още са активни в паметта (не са били събрани боклуци.)
  • Активен размер: Общият брой байтове в купчината, които понастоящем консумират всички екземпляри на живо.
  • Общ брой екземпляри: Общият брой екземпляри от този клас, които са създадени по време на живота на JVM (включително събраните обекти за боклук).
  • Общ размер: Общият размер на всички екземпляри от този клас, които са създадени по време на живота на JVM (включително събраните обекти за боклук).
  • Средна възраст: Средна възраст на даден обект, преди да бъде събран боклук.
  • Стъпки:

  • Изберете проекта и изберете посочения по-горе път.
  • Изберете конфигурацията на профила, която трябва да направите - Junit, Applet, Application или Server Project.
  • Изберете раздела Монитор и изберете „Анализ на паметта“.
  • Кликнете върху опциите за редактиране и изберете „Проследяване на сайтове за разпределение на обекти“.
  • Анализ на резбата

  • Този аспект на TPTP дава съдържание на нишки на пакети, класове и методи за анализ.
  • Това е полезно при намирането на точките на изпълнение, където нишката чака ресурси дори след приключване на операцията.
  • Стъпки:

  • Изберете проекта и изберете посочения по-горе път.
  • Изберете конфигурацията на профила, която трябва да направите - Junit, Applet, Application или Server Project.
  • Изберете раздела Монитор и изберете „Анализ на нишки“.
  • Кликнете върху опциите за редактиране и изберете „Анализ на конкуренцията“.
  • Ключови точки

  • Персонализирани комплекти за сонда също могат да бъдат вмъкнати за профилиране на приложението.
  • Анализът на паметта дава насоки към високото необичайно използване на паметта, което може да бъде възможен кандидат за изтичане на памет.
  • Високите часове на изпълнение на класове или методи са насоки към проблеми с производителността, които могат да бъдат фино настроени.
  • Тази история „Настройка на профилиране с помощта на Eclipse Test and Performance Tools Platform (TPTP)“ първоначално е публикувана от JavaWorld.