Programavimas

Profiliavimo sąranka naudojant „Eclipse Test and Performance Tools Platform“ (TPTP)

Apžvalga

  • Profiliavimas yra svarbus aspektas programuotojams, nes tai yra procesas, kurio metu programuotojas gali sužinoti daug atminties, daug procesoriaus, tinklo ginčo problemas ir pan.
  • Rinkoje yra įvairių profilių ir dauguma jų yra komercinės versijos.
  • „Eclipse“ bendruomenė turi tam skirtą projektą „Testing and Performance Tools Platform“ (TPTP). Čia aptariamas tik TPTP profiliavimo aspektas, tačiau TPTP galimybės yra daug daugiau.
  • TPTP

  • Ši funkcija gali būti naudojama vietinėms „Java“ programoms arba sudėtingoms programoms, veikiančioms keliuose pagrindiniuose kompiuteriuose ir skirtingose ​​platformose, profiliauti.
  • Tai integruota su „Eclipse“, leidžiančia profiliuoti programas, vykdomas iš „Eclipse“.
  • TPTP galima įdiegti per „Eclipse Provisioning Manager“ arba rankiniu būdu atsisiųsti reikiamus TPTP paketus ir įdėti jį į įskiepių katalogą.
  • Agento valdiklis - šis procesas leidžia kliento programoms paleisti kitas programas vietoje ar nuotoliniu būdu ir sąveikauti su agento procesais, kad būtų renkami profiliavimo duomenys. Jei TPTP turi būti naudojamas „Java“ programoje vietoje, šio atskiro agento valdiklio nereikia, nes TPTP yra sujungtas su „Agent Controller“.
  • Trys profiliavimo operacijos, kurios yra įgyvendintos.
    1. „CGProf“: ši profiliavimo parinktis naudojama norint nustatyti našumo trūkumus, suskaidant vykdymo laiką kiekvieno metodo lygiu.
    2. „HeapProf“: ši parinktis leidžia identifikuoti kaupo turinį stebint objektų paskirstymą ir panaikinimą per visą programos gyvavimo laiką.
    3. „ThreadProf“: ši profiliavimo parinktis leidžia atsekti siūlų naudojimą per visą programos gyvavimo laiką.
  • TPTP vokai užtemimo profiliavimo ir registravimo perspektyvoje.
  • Vykdymo laiko analizė

  • Šis TPTP aspektas nurodo paketų, klasių ir analizės metodų vykdymo laiką
  • Tai naudinga norint rasti vykdymo taškus, kurie sunaudoja daugiau laiko, nei tikėtasi, o tai yra galimi trūkumai.
  • Terminijos

  • Bazinis laikas: laikas atlikti patį metodo turinį, išskyrus skambučius į kitus metodus. (Diagramoje laukas Bazinis laikas susumavo visus to metodo skambučius)
  • Vidutinis bazinis laikas: vidutinis tam tikro metodo užbaigimo laikas, išskyrus metodo iškvietimų į kitus metodus laiką. (Diagramoje tai bazinis laikas, padalytas iš skambučių skaičiaus)
  • Kaupiamasis laikas: laikas, per kurį reikia atlikti patį metodo turinį, įskaitant raginimus naudoti kitus metodus.
  • Veiksmai:

  • Pasirinkite projektą ir aukščiau minėtą kelią.
  • Pasirinkite profilio konfigūraciją, kurią reikia atlikti - „Junit“, „Applet“, „Application“ arba „Server Project“.
  • Pasirinkite skirtuką Monitorius ir „Vykdymo laiko analizė“.
  • Spustelėkite redagavimo parinktis ir pasirinkite „Surinkti metodo informaciją apie procesoriaus laiką“.
  • Atminties analizė

  • Šis TPTP aspektas suteikia atminties naudojimą paketams, klasėms ir analizės metodams.
  • Tai naudinga ieškant vykdymo taškų, kurie sunaudoja daugiau atminties, nei tikėtasi, kurie yra potencialūs atminties nutekėjimo atvejai.
  • Terminijos

  • Tiesioginiai egzemplioriai: konkrečios klasės egzempliorių, kurie vis dar saugomi atmintyje (šiukšlių nebuvo surinkta), skaičius.
  • Aktyvus dydis: bendras baitų skaičius krūvoje, kurį šiuo metu sunaudoja visi gyvi egzemplioriai.
  • Bendras egzempliorių skaičius: bendras šios klasės egzempliorių, sukurtų per JVM gyvavimo laiką, skaičius (įskaitant šiukšlių surinktus objektus).
  • Bendras dydis: bendras visų šios klasės egzempliorių, sukurtų per JVM gyvavimo laiką, dydis (įskaitant šiukšlių surinktus objektus).
  • Vidutinis amžius: vidutinis objekto amžius, kol jis surenkamas šiukšles.
  • Veiksmai:

  • Pasirinkite projektą ir aukščiau minėtą kelią.
  • Pasirinkite profilio konfigūraciją, kurią reikia atlikti - „Junit“, „Applet“, „Application“ arba „Server Project“.
  • Pasirinkite skirtuką Monitorius ir „Atminties analizė“.
  • Spustelėkite redagavimo parinktis ir pasirinkite „Stebėti objektų paskirstymo svetaines“.
  • Siūlų analizė

  • Šis TPTP aspektas nurodo paketų, klasių ir analizės metodų gijų ginčą.
  • Tai naudinga ieškant vykdymo taškų, kai gija laukia išteklių net ir baigus operaciją.
  • Veiksmai:

  • Pasirinkite projektą ir aukščiau minėtą kelią.
  • Pasirinkite profilio konfigūraciją, kurią reikia atlikti - „Junit“, „Applet“, „Application“ arba „Server Project“.
  • Pasirinkite skirtuką Monitorius ir „Gijos analizė“.
  • Spustelėkite redagavimo parinktis ir pasirinkite „Konkurencijos analizė“.
  • Pagrindiniai klausimai

  • Programos profiliui taip pat galima įdėti pasirinktinius zondų rinkinius.
  • Atminties analizė nurodo didelį neįprastą atminties naudojimą, kuris galėtų būti atmesties nutekėjimo kandidatas.
  • Didelis klasių ar metodų vykdymo laikas nurodo našumo problemas, kurias galima tiksliai sureguliuoti.
  • Šią istoriją „Profiliavimo sąranka naudojant„ Eclipse Test and Performance Tools Platform “(TPTP)“ iš pradžių paskelbė „JavaWorld“.