Profilér et program i enkeltstående tilstand
Du kan profilere et program i enkeltstående tilstand (dvs. fra kommandolinjen) uden at have installeret platformen for test- og ydeevneværktøjer (Test and Performance Tools Platform). Men du skal have Agent Controller installeret på den maskine, hvor programmet, der skal profileres, er placeret.
Du kan profilere et program i enkeltstående tilstand ved at starte Java-profileringsagenten, som er et bibliotek, der opretter tilknytning til en JVM (Java Virtual Machine) for at fastholde og registrere funktionsmåden af dit Java-program. Outputtet fra agenten er XML-fragmenter.
Brug Java-indstillingen -Xrun til at starte Java-profileringsagenten:
-XrunpiAgent:agent_parm[,agent_parm]*
Hvis du f.eks. vil profilere PerformanceExample.java vha. filtre, der er defineret i filen mineFiltre.txt, og vil omdirigere dataene fra profileringssessionen til en fil med navnet PEProfilingData, skal du skrive følgende på en kommandolinje:
java -XrunpiAgent:server=standalone,filters=mineFiltre.txt,file=PEProfilingData.trcxml
PerformanceExample
- Bemærk: Udfør følgende trin, hvis du vil starte WebSphere
Application Server Version 6 (WAS) i profileringstilstand fra kommandolinjen:
- Skift til <profilrod>/config/cells/<nodenavn>Cell/nodes/<nodenavn>/servers/server1
- Redigér elementet jvmEntries element i filen server.xml. I elementet findes en attribut ved navn genericJvmArguments. Tilføj
-XrunpiAgent:server=enabled til attributværdien.
- Start WAS igen.
-
- Ved at forbedre parameteren -XrunpiAgent kan du angive flere forskellige tilstande, som profileringsagenten skal køre i. Parameteren agent_parm kan have en af følgende værdier:
- server=[standalone | enabled | controlled | application]
- standalone
- Profileringsagenten udføres i hovedløs tilstand, hvilket betyder, at det ikke er muligt at arbejde med den fra arbejdsbænken. Konfigurationsoplysninger leveres vha. konfigurationsfiler, og profileringsdata er lagret i en fil direkte af profileringsagenten. Profileringsfilen kan derefter importeres til arbejdsbænken på et senere tidspunkt.
- Java-profileringsagenten knyttes manuelt til en JVM-forekomst og genererer profileringsdata til en outputfil. Standardoutputfilen hedder trace.trcxml, men du kan angive et andet filnavn vha. parameteren file= filnavn. Når denne indstilling er valgt, frembringer Java-profileringsagenten et omsluttende traceRoot-element for at udforme et komplet og gyldigt XML-dokument.
- enabled (dette er standardværdien).
- Profileringsagenten udføres i baggrunden af JVM'en uden at forbruge ressourcer, indtil arbejdsbænken opretter forbindelse til den og beder den om at starte overvågning. Data bliver derefter streamet over agentens datakanal og forbruges af arbejdsbænken.
Det vil sige, at Java-profileringsagenten indlæses, giver programmet mulighed for at køre normalt, men frembringer ingen profileringsdata, før en klient opretter tilknytning til agenten for at give den instruktioner. Når denne indstilling vælges, frembringer Java-profileringsagenten kun XML-fragmenter i stedet for et komplet XML-dokument.
- controlled
- Profileringsagenten forhindrer, at JVM'en bliver initialiseret (agenten indlæses, men den blokerer for udførelse af programmet), indtil arbejdsbænken opretter tilknytning til den og en klient giver den instruktioner i at starte overvågning. Det vil sige, at når profileringsagenten startes i kontrolleret tilstand, vil den få JVM'en til at hænge, indtil den bliver bedt om at starte overvågning, og den vil kun frembringe XML-fragmenter i stedet for et komplet XML-dokument.
- application
- Java-profileringsagenten indlæses, udføres i baggrunden og giver programmet mulighed for at køre normalt i aktiveret tilstand.
- Den frembringer kun profileringsdata, når to betingelser er opfyldt. For det første skal programmet have anmodet om, at profileringsagenten starter profilering vha. org.eclipse.hyades.collection.profiler.Profiler, og for det andet skal testklienten for arbejdsbænken have oprettet tilknytning til Java-profileringsagenten og startet overvågning.
- Bemærk: Al profilering styres af programmet vha. klassen org.eclipse.hyades.collection.profiler.Profiler.
- profile=profilfil
Denne indstilling er kun tilgængelig, når server=standalone. Denne fil angiver de indstillinger, som profilprogrammet skal udføres med i enkeltstående tilstand. De indstillinger, der findes i denne fil, angives normalt i vinduet til konfiguration af profilering, når brugeren starter en Java-proces fra arbejdsbænken. At bruge denne fil svarer til at angive indstillinger ved udførelse i enkeltstående tilstand.
Filen kan indlæses på en af to måder.
I Profileringsindstillinger til profilering af et program i enkeltstående tilstand finder du en liste over gyldige indstillinger for profilfilen.
- filters=filnavn
Bruges kun, når server=standalone er angivet.
Angiver navnet på den fil, der indeholder de første klassefilterdefinitioner, der skal bruges under profileringssessionen. Standardfilnavnet er filters.txt i det aktuelle bibliotek. Nedenfor finder du oplysninger om filformatet.
- file=filnavn
Bruges kun, når server=standalone er angivet.
Angiver navnet på en fil, som profileringsdataene skal skrives til. Standardværdien er trace.trcxml i det aktuelle bibliotek.
- help
Sender en liste med tilgængelige agentparametre til STDOUT.
Format af klassefilterfil
Filterfilen skal angive tre felter, package/class, method og mode i følgende format:
package/class method mode
hvor:
- package/class
- Dette felt bruges til at angive et mønster for en pakke eller et klassenavn. Mønsteret skal angives som en streng uden indsatte blanktegn. Strengen kan indeholde en enkelt stjerne (*), enten i starten af strengen eller efter strengen, f.eks. *.minpakke eller org.mitfirma.*. * matcher nul eller flere tegn, så mønsteret bliver et generisk præfiks- eller suffiksmønster. En enkelt * kan også angives for at repræsentere alle strenge.
- method
- Dette felt bruges til at angive et mønster for metodenavnet. Mønsteret skal angives som en streng uden indsatte blanktegn og med samme specifikationsregler som class-feltet.
- mode
- Dette felt angiver, om den pakke eller klasse, der matcher mønsteret, skal inkluderes eller udelades fra profilering. Værdien for mode er enten INCLUDE eller EXCLUDE.
Filtermønstre behandles i den rækkefølge, de er angivet i, indtil den første mønstermatch findes. Hvis klassenavnet ikke matcher nogen af de angivne filtermønstre, bliver klassen som standard inkluderet (INCLUDE).
Styring af Java-profileringsagent
Når Java-profileringsagenten startes med parameteren server=enabled eller server=controlled, udføres kommunikation med agenten fra klientarbejdsbænken vha. Agent Controller på værtsmaskinen.
Bemærkninger
- Hvis du ikke angiver et filnavn til en filterdefinition på kommandolinjen, forsøger Java-profileringsagenten at læse filtrene fra filen med navnet filters.txt i det aktuelle bibliotek. Hvis filen filters.txt ikke findes, bliver der ikke brugt nogen filtre under profileringssessionen. Hvis du giver din filterfil navnet filters.txt og placerer den i det aktuelle bibliotek, behøver du ikke at angive filterparameteren på kommandolinjen for at få profileringsagenten til at anvende filtrene.
- Hvis du ikke angiver en outputfil til profileringsdataene, bliver de gemt i filen trace.trcxml
- Du behøver ikke at angive en udvidelse for outputfilen. Den får automatisk udvidelsen .trcxml
- Du behøver ikke at angive udvidelsen til Java-programmet. Det kan være en .class-fil.
Relaterede begreber
Oversigt over profileringsværktøjet
Profileringsressourcer
Relaterede opgaver
Profilér et program i enkeltstående tilstand på AS/400
Start eller tilknyt til Java-proces
Brug af oversigten Profileringsovervågning
(C) Copyright IBM Corporation 2000, 2006. All Rights Reserved.