LoginSignup
7
4

More than 3 years have passed since last update.

IntelliJ IDEA 2019.2の新機能プロファイラーを試してみた

Posted at

IntelliJ IDEA 2019.2の新機能 | 株式会社サムライズム

今回の新機能はチョー豪華!

ぼくは、パフォーマンス改善をよくやるんですけど、IntelliJ IDEAにもプロファイルングツールがつくようになったので、使ってみました。
便利そうだったので、これからのメインウェポンはこれになりそうです。

前提: Ubuntu19.04, Scala(Javaでもいけました)

設定方法

↓のように+を押して一通りのプロファイラーを追加してOKを押す
Screenshot from 2019-07-27 10-01-05.png

そうすると実行するときのメニューになんか増えてるんで、とりあえずRun 'なんとか' with 'Profiler'を押してみる
Screenshot from 2019-07-27 10-34-46.png

↓のモーダルが出てくるので、
Screenshot from 2019-07-27 10-00-11.png
指示の通りに、

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タブ

うーんあまり使わないかも?
Screenshot from 2019-07-27 10-08-52.png

Call Tree

ツリーになってそれぞれ%で出るようになった。
VisualVMでプロファイルするとこんな感じのが出ますよね。
%の右の青い数字は折り畳まれてる件数みたいです。
Screenshot from 2019-07-27 10-11-19.png

Method List

サンプリングされた順でソートされるようになった。
選択したメソッドからBack TraceタブとMerged Calleesタブが選べる。
Back Traceタブはどこから呼ばれたのかをたどることができる。
Screenshot from 2019-07-27 10-52-35.png

Merged Calleesタブは、そのメソッド内で呼ばれたメソッドっぽい。
Screenshot from 2019-07-27 10-53-19.png

Java Flight Recorderも使ってみた

GCのログやら、弱参照の個数やらなんか色々出ますね。
Screenshot from 2019-07-27 10-25-58.png

7
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
4