More Related Content
PPTX
PDF
Javaトラブルに備えよう #jjug_ccc #ccc_h2 PDF
Javaはどのように動くのか~スライドでわかるJVMの仕組み PPTX
PDF
HeapStats @ Seasar Conference 2015 LT PPTX
PPTX
Java トラブル解析支援ツール HeapStats のご紹介 PPTX
HeapStatsのデモ (Java The Night) What's hot
PDF
ODP
PDF
HeapStats: Introduction and Technical Preview PDF
Introduction to JShell: the Java REPL Tool #jjug_ccc #ccc_ab4 PDF
Introduction to JShell #JavaDayTokyo #jdt_jshell PPTX
Panamaを先取り!? JVMCIでJITと遊ぶ PPT
PDF
Head toward Java 16 (Night Seminar Edition) PDF
Javaの進化にともなう運用性の向上はシステム設計にどういう変化をもたらすのか PPTX
「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~ PDF
Java SE 9の紹介: モジュール・システムを中心に PPTX
PDF
PDF
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜 PPTX
Java EE パフォーマンスTips #glassfish_jp PDF
OpenJDK トラブルシューティング #javacasual PDF
Java8 コーディングベストプラクティス and NetBeansのメモリログから... PDF
PDF
Migration Guide from Java 8 to Java 11 #jjug Similar to Heap statsfx analyzer
PPTX
Grafana datasource plugin PDF
PDF
PPT
Hadoop~Yahoo! JAPANの活用について~ PDF
JavaFX 2.0 - リッチクライアントのためのUI基盤 PDF
From Swing to JavaFX - SwingからJavaFXへのマイグレーションガイド PDF
PPT
PDF
JavaOne2013報告会 JavaFX Update PDF
PDF
PPTX
PDF
PDF
PPTX
Java FXグラフィックスとアニメーション入門(JJUG CCC 2015 Spring G-7) PDF
はじめよう JavaFX 2.x(第3回 岡山Javaユーザー会) Heap statsfx analyzer
- 1.
- 2.
- 3.
自己紹介
末永恭正(すえながやすまさ)@YaSuenag
SIerでJavaやってるサンデープログラマー
OpenJDK Author(jdk9)
IcedTea Committer
HeapStats作ってます
http://icedtea.classpath.org/wiki/HeapStats/jp
- 4.
HeapStats
Javaの障害解析支援&監視ツール
とにかくエージェントの性能に腐心
より軽く・より速く
Javaアプリケーション実行マシン
Javaアプリケーション
(Java製アプリケーションサーバも含む)
JRE (JVM) JVM監視エージェント
JVMにアタッチ
Java関連情報
• ヒープスナップショット
• OSリソース
• etc…
アナライザ
解析
- 5.
- 6.
- 7.
- 9.
HeapStatsFXAnalyzer
HeapStatsAnalyzer ♥ JavaFX8
Java8のコード
Lambda、StreamAPIバリバリ使いたい
プラガブル
アナライザへの機能追加を誰でもできる
コミュニティドリブンな開発
GitHub
developブランチ見てください
将来的には本家(IcedTea)へマージ予定
- 10.
- 11.
使っている主な(?)機能
FXML
Chart
PieChart
StackedAreaChart
AreaChart
LineChart
Task
ProgressIndicatorとbind
国際化(と言えるか?)
とりあえず日本語と英語
- 12.
構成
HeapStats1.0相当のアナライザを実装
プラグインで機能拡張
HeapStatsFXAnalyzer
コア機能
スナップ
ショット
パーサー
ログ
パーサーGUI部品
プラグイン
プラグイン
管理
組み込みプラグイン
スナップ
ショット
リソース
ログ
参照ツリー
表示
CSV出力
JVM
死活監視…
- 13.
HeapStatsのプラグイン
FXMLを含むJAR形式
コントローラはHeapStatsFXAnalyzerに含まれ
るPluginControllerを継承する必要あり
Java8/JavaFX8可
プラグインにはTabが1枚与えられる
FXMLの含まれるパッケージ名を設定して
libにJARと関連ライブラリを入れておけば
OK
heapstats.properties:
plugins=jp.co.ntt.oss.heapstats.plugin.builtin.log ;
jp.co.ntt.oss.heapstats.plugin.builtin.snapshot ;
jp.dip.ysfactory.heapstats.plugin.jvmlive
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 23.
- 24.
JVMLive
JDP(JavaDiscovery Protocol)を使って
ネットワーク上のJVMを自動ルックアップ
見つけたJVMで動いているメインクラスや稼働時間
などを確認可能
JDPパケットの定期受信ができないJVMをハイライト
表示
JVMのクラッシュ検知機能
OracleJDK限定
-XX:+TransmitErrorReportと-XX:ErrorReportServerが
指定されていればJVMLiveでクラッシュを検知&
hs_errログを自動回収
- 26.
- 27.
- 28.
困ったことその2
複数Chartの合成に対応していない
JIRAに要望は上がっているみたいです
RT-12710: chart API -- multiple chart types on the
same axis
https://javafx-jira.kenai.com/browse/RT-1271
※要ログイン
StackPaneと透過を使って複数Chartを組み合わ
せてた時期もあり
結局、複数枚のChartに分割で落ち着く
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
困ってることその3
WindowsとLinuxでウィンドウサイズ関連
プロパティの動きが違う
Windowクラスのwidth/heightにセットする
ChangeListener
Fedora20だとwidth/heightプロパティの変化が
ワンテンポ遅い
黒い縦線(障害発生ポイント)をChangeListenerで描画
Win7(期待通り) Fedora20(ズレる)
- 35.
困ってることその4
<RefTreePlugin>
SwingNodeのDrag and Dropイベントが
おかしい
java.awt.dnd.InvalidDnDOperationException
セルをドラッグする際のJGraphX内部の処理で
例外発生
- 36.
- 37.
- 38.
- 39.