HOME > プロダクト品質 > Javaシステムの品質診断・改善ツール「ENdoSnipe」

プロダクト品質

Javaシステムの品質診断・改善ツール「ENdoSnipe」

 サービスの概要

ENdoSnipeは、Javaを用いて開発されたシステムを対象とした品質診断ツールです。
システムを動的に解析し、メモリリークや大量のSQL発行、データベースアクセスでのフルスキャンの発生などを検出します。障害の検出には、Javaトラブルシューティングサービスにて培ったノウハウをふんだんに盛り込んでおり、他のツールとは一線を画す精度・詳細度を備えています。

さらに、システムに与える負荷が非常に低く機能試験と並行して性能問題を検出できます。そのため、試験工程の終盤や運用で発現する問題を試験工程初期に検出し、解析・修正・試験にかかる工数/コストを大幅に削減する事が出来ます。

endosnipe_system.gif






サービスの詳細

ENdoSnipeは、対象システムに対してログ出力機能と性能解析情報の通信機能を追加するJavelin(※)と、対象システムの性能問題の検出や問題解析を行う下記クライアントプロダクトで構成されています。

(※)Javelin Technology [ジャベリン・テクノロジ]
Javelin(JAVa Extnsible Logging INfrastruxture)は、ENdoSnipeの根幹をなす技術です。
Javelinテクノロジでは、BCI(Byte Code Instrumentation)技術を利用して、調査対象アプリケーションのソースコードを一切変更することなく、アプリケーションの実行情報(ログ)を詳細に取得します。


  1. ArrowVision(アロー・ビジョン)
    ArrowVisionは、Javelinテクノロジを使用することでアプリケーションのソースコードを一切変更することなく、その動作をシーケンスダイアグラムによって「見える化」します。
    map_arrowvision.gif
    • ・システムの処理の流れを、自動的にシーケンスダイアグラムにします。
    • ・Javaシステム、ネットワークなど、複数のログを1つのシーケンス図にまとめて表示します。
    • ・時間の掛かる処理がすぐにわかるため、大量のログを調査する必要がありません。




  2. PerformanceDoctor(パフォーマンス・ドクター)
    PerformanceDoctorは、Javelinテクノロジで取得したログからシステムに潜む性能問題の芽を「見える化」します。
    map_performancedoctor.gif
    • ・性能問題の原因となる処理を自動的に見つけます。
    • ・予期せぬ例外の発生も見つけます。
    • ・スレッドのCPU占有や頻繁なスリープなども見つけます。
    • ・Oracle、PostgreSQLの実行計画を解析し、改善ポイントを見つけます。
    • ・データベースのテーブル・フルスキャンを引き起こすSQLを即座に検出することができます。

  3. BottleneckEye(ボトルネック・アイ)
    BottleneckEyeは、運用中のシステムを監視し、「アプリケーションの構造」と「システムのボトルネック」を「見える化」します。
    map_bottleneckeye.gif
  • ・アプリケーションの構造を自動的にクラス図化します。
  • ・発見したボトルネック箇所をクラス図上で点滅させることで異常や性能問題の発生を即座に知らせます。
  • ・運用中のアプリケーションの様々な状況を監視できます。
  • ・アプリケーション中のメモリリークを発見できます。





サービス事例

  1. メモリリークの原因を0.5日で解明
    商用環境のシステムではメモリリークが発生している事が分かっていたが、原因究明は手つかずとなっていました。
    そこで、ENdoSnipeをシステムに適用したところ適用直後にメモリリークの原因プログラムを突き止める事に成功致しました。
  1. 1. BottleneckEyeのグラフ機能によりHashMapがメモリリーク対象として検出されたことが確認できました。要素数も時間とともに単調増加しています。
    jirei_1_001.gif

    arrow.gif
  2. 2. PerformanceDoctorの診断結果でもメモリリークの可能性を指摘しています。
    jirei_1_002.gif

    arrow.gif
  3. 3. ArrowVisionのシーケンス図でもメモリリークを確認できました。
    jirei_1_003.gif

    arrow.gif
  4. 4. ArrowVisionの"詳細"情報よりメモリリークの原因箇所を特定しました。
    ENdoSnipeではコンテナクラスに閾値以上の要素数が追加された場所を記録しています。この箇所からメモリリークの原因を調査可能です。
    jirei_1_004.gif


お問い合わせ

  1. ENdoSnipeに関してのお問い合わせ
  2. ENdoSnipeの資料をダウンロード

富士通(株)プラットフォームソリューションセンター動作検証

「Interstage Application Server V9.1.0」において、Java品質診断ソリューション 「ENdoSnipe」の動作検証を行い、Javaアプリケーションの解析/診断/監視が問題なく行えることを確認しました。

  1. 富士通PCサーバ PRIMERGY上で動作するJavaアプリケーションの品質診断ソリューション 「ENdoSnipe」動作検証報告
  2. 富士通UNIXサーバ SPARC Enterprise 上で動作するJavaアプリケーションの品質診断ソリューション「ENdoSnipe」動作検証報告

 

 

 

 

SantaCruzlogo.jpg


pagetop