Java 14の正式リリースと同時に、観測・監視プラットフォーム企業のNew Relicは、Javaアプリケーションの性能ボトルネックの問題解決をより効果的に行うためのリアルタイムJavaプロファイリングおよびJVMクラスタ・タイムライン表示ツールのリリースを発表した。
リアルタイムJavaプロファイリングツールは、Java Flight Recorder(JFR)によって生成されたデータに依存している。Java 9のリリース後、Oracleがオープンソース化し、OpenJDKに寄贈されたJFRは、Java 14で強化され、プロファイリング・イベントの継続的なストリームを生成するようになった。イベントストリーミング(JEP 349)として知られるJFRが収集したイベントは、以下のように特徴づけられる。
- 期間イベント - 定義された期間の後に記録されるイベント。
- 即時イベント - すぐにログに記録されるイベント。
- サンプルイベント - 定期的に記録されるイベント。
イベントは、イベントが発生した後にファイルを解析するのとは対照的に、コールバック API を介してリアルタイムで処理される。
クラスタの問題解決をより効率的に行うために、JVMクラスタ・タイムライン表示では、ダッシュボードを介してJVMの動作をレポートする。
各行は特定のJVMを表し、ボックスは5分間のタイムスライスを表している。黄色、オレンジ、赤の色は、性能に問題がある領域を示している。ダッシュボードの詳細セクションでは、リソースの割り当て方法、ガベージコレクションがパフォーマンスに与える影響、ログでガベージコレクションを追跡する方法の3つの重要なビューが利用できる。
リアルタイムJavaプロファイリングツールとJVMクラスタのタイムライン表示は現在限定的にリリースしており、リクエストに応じて利用可能だ。要件としては、New Relic Oneアカウント、New Relic Javaエージェント、Java 14が必要だ。
New Relicのプリンシパルソフトウェアエンジニアであり、JVMテクノロジーアーキテクトでもあるBen Evans氏は、これらの新しいツールについてInfoQに語った。
InfoQ:現在の担当業務、つまり日々の業務は何をしていますか?
Ben Evans氏:正式な肩書きはソフトウェア主任技術者ですが、社内外のプロジェクトに時間を割いています。
社内プロジェクトには、Javaプラットフォームに慣れていないチームを支援したり、Javaの並列処理やその他の高度なトピックに関するトレーニング・セッションを提供したり、パフォーマンスに敏感なシステムの一部のため社内コンサルタントを務めることもあります。
外部プロジェクトには、Javaの中で非常に特殊でユニークな要求を持つ顧客や仲間のエンジニアを支援したり、Java、可観測性、アーキテクチャ、および関連するテーマについて執筆や講演を行ったりすることが含まれます。リアルタイムJavaプロファイリングとJVMクラスタのタイムライン表示ツールが利用できるようになったので、オープンソースのJavaプロジェクトと活動(特にOpenJDK)にもっと時間を割きたいと思っています。
InfoQ:開発者がリアルタイムJavaプロファイリングとJVMクラスタのタイムライン表示ツールを使い始めるための最良の方法は何ですか?
Evans氏:現時点では、早期アクセスのお客様からより多くのフィードバックを得るために、限定的なリリースを行っています。私たちはエンジニアからエンジニアへのフィードバックを大切にしており、GAの前に可能な限り有用なツールがあることを確認したいと考えています。
Java 14のお客様は、今すぐエージェントと必要な拡張機能をインストールできます。New Relic Oneプラットフォームのデータを閲覧するには、deco@newrelic.com までご連絡いただければ、機能フラグをオンにしてUIを有効化できます。
InfoQ:開発者はいつ、リアルタイムJavaプロファイリングとJVMクラスタのタイムライン表示ツールのGA版を使えますか?
Evans氏:上記のフィードバックプロセスが完了したらすぐに、すべてのNew Relicのお客様がサブスクリプションに追加できるようになります。それはもうすぐでしょう。私たちにできるだけ早く、多くのお客様に手に取っていただきたいと思っています。
InfoQ:New Relicが競合他社と比べて特徴的なのは何ですか?
Evans氏:私たちは、ソフトウェア市場において、同じように重要でありながらも非常に異なる2つの分野を深く理解しているという点で、特徴的な存在です。私たちは、すでにインジェストや分析が必要な複雑なデータを多く抱えている企業のお客様と同じように、Observability Platformの価値を探求し始めたばかりのエンジニアリング・チームをサポートできます。
一日の終わりに、私たちは業界初で最大規模の純粋なSaaS、オープンでプログラム可能なObservability Platformであると言うのが好きです。つまり、オープンソースのツールを提供し、1つのプラットフォームですべてのデータソースを接続し、チームがすぐに使えるツールを使用するだけでなく、思いつく限りの方法でデータをカスタマイズできるようにしたいということです。
また、New Relic Oneを利用することで、すべてのデータを1つのプラットフォームに取り込み、ニーズに合わせてカスタマイズできます。私たちは、このプラットフォームを単なる監視プラットフォームではなく、Observability Platformと考えています。これにより、すべてのシステムを納得のいく方法で観察することができ、「実体中心」の視点を持つことができます。
InfoQ:近い将来、New Relicには何がありますか?
Evans氏:New Relicは、可観測性の変化の最前線にいることに本当に興奮しています。消費されるデータの複雑さが増していることを知っているので、大量のデータを消費し、そのデータに対する洞察を各チームに合わせて提供できるようなツールの作成に努めています。
JFRデータはJavaの中の顧客にとって大きな助けになるでしょうが、それは顧客が持っているソフトウェア・エコシステム全体の一部分に過ぎません(非常に重要ではありますが)。そのため、New Relicの挑戦の1つは、お客様が重視するソフトウェアのあらゆる側面において、クラス最高の体験を提供することです。
そのための最良の方法は、顧客のシステムを構成するすべてのコンポーネントからばらばらなデータをまとめ、顧客が望む方法でデータを見ることができるプラットフォームを提供することだと考えています - それは、当社の精選されたすぐに使える体験、または顧客が自分で作成できるダッシュボードやUIのいずれかを介してです。
InfoQ:リアルタイムJavaプロファイリングとJVMクラスタ・タイムライン表示ツールについて、他に読者に知っておいてほしいことはありますか?
Evans氏:これは、非常に新しい機能をベースにした進化した製品の最初のリリースです。お客様と密接に連携して、お客様にとって繰り返し最も重要な機能を改良し、できるだけ多くのお客様にお届けできることを大変うれしく思います。
すでに見ている結果はかなり励みになりますし、コミュニティがツールを手に入れたらすぐに何ができるのか、本当にワクワクしています。
リアルタイムJavaプロファイリングとJVMクラスタタイムライン表示ツールの詳細は、ドキュメントに記載されています。また、この記事では、Java 14でのJFRやイベントストリーミングの使い方についても詳しく紹介しています。
資料
- Lew Cirne氏によるNew Relic Oneをご紹介します。次の10年のための私たちのプラットフォーム(2019年5月14日)
- Ben Evans氏によるJava 14でのJava Flight RecorderとJFRイベントストリーミング (2020年2月27日)
- InfoQによるJava 14をリリース(2020年3月17日)