InfoQ

News

JProbe 8.0:Javaコード、メモリおよびカバレッジプロファイラーが復活

作者 Steven Haines, 翻訳者 編集部 投稿日 2008年7月8日 午前6時3分

コミュニティ
Java
トピック
デバッグ,
コード分析
タグ
Quest Software,
性能評価,
品質,
JProbe,
YourKit,
Memory Leaks

近ごろQuest SoftwareはJProbe 8.0をリリースした。それはJavaコード、メモリおよびカバレッジプロファイラーである。1990年代後半よりJProbeは主要Javaプロファイリングツールの1つであったが、最近QuestはYourKit(リンク)やJProfiler(リンク)といった同じ種類の製品によって、激しい競争を強いられている。どちらも似たような機能を備えているのだが、価格の面では安価である。新たな Eclipse統合やさらに競争力のある価格を実現したJProbe 8.0をリリースすることで、Questがプロファイリング市場における主導権を奪回することを目的としている。InfoQはQuest SoftwareのWayne Chan氏にインタビューをし、詳しい話を聞いた。Wayne氏は、今回のリリースを以下のように特徴付けた。

「JProbe 8.0は、主に2つの拡張機能を特色としています。JProbe 8.0はEclipse Java IDEのプラグインを提供し、コードがよりスムーズにテストへ遷移できるようにしています。この新機能のおかげで、デベロッパはEclipse Java IDEでメモリ分析やコードカバレッジアセンブリーを実行することができます。今後数カ月で、Eclipse Plug-inにパフォーマンス分析機能を追加し、Eclipse環境を離れることなくユーザがパフォーマンス障害を調べられるようにします。またパ フォーマンステストベストプラクティスの普及を促進し、解決に要する平均時間をさらに短縮します。その他にはリフレッシュUIによりユーザビリティーが向 上し、拡張ルックアンドフィールおよびより直感的なワークフローが実現します。コンポーネントの機能性、データ可視化およびその調査ツールを大幅に改善 し、より迅速でさらに効率的にメモリ割り当て問題を分析および診断できます」。

JProbe 8.0がデベロッパの作業をより簡単にする方法という重要な質問に対して、Wayne氏はJProbeのEclipse統合によって、Eclipseを離 れずに、デベロッパがコードをプロファイルすることを可能にし、結果として効率性と生産性の上昇に貢献すると答えた。さらに、JProbeの自動化機能 (AntビルドスクリプトからJProbeのあらゆる側面を制御する機能)は、「継続的なパフォーマンスのテスト」を促進するメカニズムを提供する。それ は、ユニットテストケースを自動で発見したりプロファイル作成するためのサポートを提供する、テスト駆動開発および継続的な統合の機能拡張である。つま り、JProbeにおける自動化機能は、エラーになりがちなパフォーマンスのスナップショットをキャプチャーする手動によるプロセスおよびプロジェクトが 大きすぎる場合、定期的に実行するのは不便であるパフォーマンスのスナップショットをキャプチャーするプロセスを取り除く。

Eclipseの統合に加えて、QuestはJProbeのユーザインターフェイスを再設計した。以下のスクリーンショットは、変更について説明したものである。

競合製品よりJProbeを選択すべき理由は何であるか?Wayne氏は以下のような差別化要因を特定している。

「シームレスなコードプロファイル作成のためにJProbeがEclipse Java IDEへ接続する機能は、明らかに差別化要因と言えます。IDEから飛び出さずに別のコンソールを開き、ユニットテストを実行することは、生産性および効 率性がアップすることにつながります。またJProbeはQuest Softwareの国際的レベルのサポートによって支持されています。それは、電話やEメールによる技術サポートおよびQuestの研究開発チームやその 他のJProbeカスタマーを呼び集めて協力および技術的な議論やサポートの環境を整える、JProbe Communityを提供します。技術サポートに加えて、カスタマーがメンテナンス中のとき、Questは無償の製品アップグレードを提供しています。ま た、JProbeはQuest Softwareのパフォーマンス診断ソリューションである PerformaSureと の統合を提供します。マルチJVMおよびマルチ層Javaパフォーマンス診断をラインレベル根本的原因分析に結合させます。これにより、実働前環境にス タックされたJava分散システム全体で、ユニットパフォーマンステストおよび統合/負荷テストを実行するための、完全で統合されたソリューションを提供 します」。

その初回のリリースにおいて、JProbeのEclipse プラグインはJProbe生成ヒープスナップショットおよびJVM生成ヒープダンプと同様に、カバレッジスナップショットのメモリ分析をサポートする。そ れ以降のリリースでは、デベロッパがメモリ、カバレッジおよびパフォーマンススナップショットすべてをEclipseからキャプチャーおよび分析すること を可能にする。Questはメモリ分析Eclipse Plug-inをJProbe Freeware(リンク)としてリリースした。それはJProbeスナップショットやJVMヒープダンプの分析をサポートするものである。そして、Eclipse 内でJProbeを最大利用するために、まもなくQuestはJProbeの自動化機能を利用し、EclipseのAntサポートと統合する方法を説明し たホワイトペーパーをリリースする。

無償のプラグイン以外の場合、価格設定はデベロッパにつき698(アメリカ)ドルからである。

Eclipseでのメモリプロファイル作成について詳しくは、メモリ分析のベストプラクティスを示したQuestのホワイトペーパー(参考記事・英語)を参照のこと。また、パフォーマンスや拡張可能性について詳しくは、 http://www.infoq.com/jp/performance-scalability を参照のこと。

原文はこちらです:http://www.infoq.com/news/2008/07/TargetProcess-Community-Edition

ブックマーク
digg+,
reddit+,
del.icio.us+,
dzone+,
Hatena

No comments

返信

特集コンテンツ一覧

トップスポーツチームの監督に教わる秘訣

この論文では、氏が発見した原則を要約し、その原則をいかにしてソフトウェア開発に応用するかを説明します。

事例研究:Dutch Railwaysのプロジェクトにおける分散拠点でのスクラム・プロジェクト

この記事では、私達がどのようにして大規模(240人月、10万行強)でインドとオランダの開発者も参加したスクラム・プロジェクトを成功させたのかを示しています。

Agile2008チーム参加レポート - 帰国そして変化

Agileカンファレンスに「参加者としてだけでなく、発表者として参加しよう」を掲げたチームgoyattomは、サブミッションを提出し、7つのセッションが日本から選択されました。参加者はカンファレンスで各々の発表や、各セッションへの参加、諸外国のエンジニアとの出会い、ステージ上で DearXPを熱演などの様々な思い出を抱えて、無事日本に戻ってきました。

SilverlightとJavaのインターオペラビリティ

マイクロソフトのRobert Bellが、SilverlightとJavaを使用したインターオペラビリティのシナリオを紹介し、サンプルコードを例にとってアーキテクチャの手引きを提供します。

Agile2008 チーム参加レポート - カンファレンス参加編

Agileカンファレンスに「参加者としてだけでなく、発表者として参加しよう」を掲げたチームgoyattomは、サブミッションを提出し、7つのセッションが日本から選択されました。サブミッションが選択された人、そうでない人も含めて、個々の目的意識の確認、膨大なプログラムから聞きたいセッションの選択、旅行の準備、プレゼンテーションの準備の期間を終えて、無事当日を迎えました。

Agile2008 チーム参加レポート - 動機/準備編

筆者はアジャイルソフトウェア開発についての年に一度の国際会議であるAgile2008に初めて参加してきました。今年の日本からの参加者の数は14名にも及び、発表者は5名、受け持ったセッションは8つに及び、例年にない活躍を見せました。なぜ今年のAgile2008では、これほど多くの日本人が参加し発表に至ったのか? そのレポートをお届けします。

Javaトラブルシューティングメルマガ総集編 2008/08~09

エスエムジーでは、Java全般を対象にしたトラブルシューティングサービス「JaTS」を提供しています。この記事では、前回に引き続き、JaTSにて蓄積したトラブル事例とその解決ノウハウの一部をお送りしている「Javaトラブルシューティングメールマガジン」(JTSMM)の総集編として、過去2ヶ月のトラブル事例と追加情報をダイジェストとして提供いたします。

モデル駆動アプローチがうまく機能しない(しなくなる)8 つの理由

この記事では、モデル駆動アプローチがうまく機能しない、または機能しなくなることによって期待した結果が実現できなくなる 8 つの理由について書きたいと思います。