IntelliJ IDEA 2019.2の新機能 | 株式会社サムライズム
今回の新機能はチョー豪華!
ぼくは、パフォーマンス改善をよくやるんですけど、IntelliJ IDEAにもプロファイルングツールがつくようになったので、使ってみました。
便利そうだったので、これからのメインウェポンはこれになりそうです。
前提: Ubuntu19.04, Scala(Javaでもいけました)
設定方法
↓のように+を押して一通りのプロファイラーを追加してOKを押す
そうすると実行するときのメニューになんか増えてるんで、とりあえずRun 'なんとか' with 'Profiler'
を押してみる
sudo sh -c 'echo 1 > /proc/sys/kernel/perf_event_paranoid'
sudo sh -c 'echo 0 > /proc/sys/kernel/kptr_restrict'
を実行。
調べてみたら、この設定は、カーネルのパフォーマンスに関する情報の収集や解析に必要な設定らしいです。
Linux以外だと要らないか別の設定方法が出てくるかも?
↓関連記事
第52章 コンパイラーとツール - Red Hat Customer Portal
Linux* カーネルの解析を有効にする
プロファイルしてみた
Frame Graphタブ
Call Tree
ツリーになってそれぞれ%で出るようになった。
VisualVMでプロファイルするとこんな感じのが出ますよね。
%の右の青い数字は折り畳まれてる件数みたいです。
Method List
サンプリングされた順でソートされるようになった。
選択したメソッドからBack TraceタブとMerged Calleesタブが選べる。
Back Traceタブはどこから呼ばれたのかをたどることができる。
Merged Calleesタブは、そのメソッド内で呼ばれたメソッドっぽい。