Scalaで作ってるアプリケーションのパフォーマンスが悪かったり、またOOMで落ちてしまったので、原因調査を本日行っていました。 そこで使ったのが VisualVM なのですが、なんと昨日に VS Code 拡張がリリースされていたのでメモ。
Standalone extension integrating VisualVM with Visual Studio Code has been released: https://t.co/gSMPbuNDjs. Starting VisualVM along with project process, shortcuts to VisualVM actions, Go to Source from VisualVM back to VS Code, and much more! pic.twitter.com/O0u7JMZbn7
— VisualVM (@visualvm) 2024年4月25日
軽く触ってみた感じですが
- VisualVMの最新版を落とすボタンがあって、まずインストールみたいな状況でも楽
- CPUのサンプリングセッションの開始とかがボタン一つで行えて、勝手にVisualVMが立ち上がるので楽
みたいなちょこっと使うのには良いんじゃないかなと思いました。
しかしながら、自分が開発しているアプリケーションは docker 上の JVM で動作していて、JMX Monitoring 経由じゃないとプロファイリングが出来ません。 で、この JMX 経由だと、VisualVM 側にはコネクション設定が残ってくれますが、VS Code 拡張からだと見つけることが出来ません。 なので現状自分の用途では VisualVM ランチャー程度になってしまっている………
どうも機能としてプロファイリング結果からソースコードに飛ぶみたいなのも含まれているようなので、ローカルで開発するみたいなケースにおいては便利なんだろうなと思いました。