手順

  1. AEM サーバーに profiler.sh を作成します。

    HOSTPORT=$1
    SLEEPTIME=${2:-20}
    OUTPUTFILE=${3:-"output.html"}

    echo "Starting profiler..."
    curl "http://$HOSTPORT/system/console/profiler" -u admin:admin -o /dev/null -s --data 'interval=5&depth=160&ignoreThreadList=java.lang.Object.wait%2C%0D%0Ajava.lang.Thread.dumpThreads%2C%0D%0Ajava.lang.Thread.getThreads%2C%0D%0Ajava.lang.Thread.sleep%2C%0D%0Ajava.lang.UNIXProcess.waitForProcessExit%2C%0D%0Ajava.net.PlainSocketImpl.accept%2C%0D%0Ajava.net.PlainSocketImpl.socketAccept%2C%0D%0Ajava.net.SocketInputStream.socketRead%2C%0D%0Ajava.net.SocketOutputStream.socketWrite%2C%0D%0Asun.awt.windows.WToolkit.eventLoop%2C%0D%0Asun.misc.Unsafe.park%2C%0D%0AEDU.oswego%2C%0D%0Ajava.lang.Object.%24%24YJP%24%24wait%2C%0D%0Ajava.lang.Thread.%24%24YJP%24%24sleep%2C%0D%0Asun.misc.Unsafe.%24%24YJP%24%24park%2C%0D%0Ajava.net.PlainSocketImpl.%24%24YJP%24%24socketAccept%2C%0D%0Ajava.net.SocketInputStream.%24%24YJP%24%24socketRead%2C%0D%0Ajava.net.PlainSocketImpl.%24%24YJP%24%24accept%2C%0D%0Ajava.lang.Thread.%24%24YJP%24%24dumpThreads%2C%0D%0A&ignoreList=org.apache.commons%2C%0D%0Aorg.apache.tika.parser.txt.Charset%2C%0D%0AEDU.oswego%2C%0D%0A&ignorePackageList=java%2C%0D%0Asun%2C%0D%0Acom.sun.%2C%0D%0AEDU%2C%0D%0Aorg.apache.jsp.%2C%0D%0Aorg.apache.commons.%2C%0D%0Aorg.eclipse.jdt%2C%0D%0Aorg.json.%2C%0D%0Aorg.kxml2.%2C%0D%0Acom.apple.%2C%0D%0A&action=start' &
    echo "Sleeping for $SLEEPTIME seconds"
    while true;do echo -n .;sleep 1;done &
    sleep $SLEEPTIME
    kill $! ; trap 'kill $!'SIGTERM
    echo "Stopping profiler"
    curl "http://$HOSTPORT/system/console/profiler" -u admin:admin --data 'action=stop' > $OUTPUTFILE
    echo "Done running profiler - check $OUTPUTFILE"

  2. スクリプトのユーザー名およびパスワードを更新する。

  3. スクリプトを実行します。bash profiler.sh <host:port><time-in-seconds><output-file-path>

    例:
    bash プロファイラーローカルホスト:4502 240 /tmp/profiler.html

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー