こんにちは。ES/1 Shelty担当の遠藤です。最近、花粉症になったかもしれません。
さて、今回はintra-martを利用されるお客様に対する機能強化をご紹介します。
intra-martは日本国内に多くの利用実績を持つ、独自のシステム開発フレームワークです。
利用者はintra-martが用意しているモジュールやフレームワークを活用することにより、効率的な開発を進めることができます。
intra-martの開発モデルは、スクリプト開発モデル、JavaEE開発モデルの2つに大別され、以下のような特徴があります。
特に、スクリプト開発モデルはHTMLとJavaScriptのみでWebアプリケーションが作れることから、多くのお客様に利用されています。
Sheltyリリース2.6.0では、このスクリプト開発モデルにおけるカスタムロジックの計測に対応しています。
intra-martのWebアプリケーションの処理は、大別して以下の2つから成ります。
どちらに遅延が発生しているかを素早く判断することは、問題の対処において重要です。
社内で開発されたJavaScriptのロジック部分で遅延が起きていれば、すぐにロジック改善に取り組むことができます。
反対に、intra-martの処理部分で遅延が発生しているならばメーカーへの問い合わせを行うという次の行動に移りやすくなります。
しかし、原因がどちらにあるかはっきりしない場合、責任範囲が不明確となり、問題解決に時間がかかりやすくなります。
Java Agentは、イントラマートの内部処理を含む処理時間を報告します。
今回の機能強化により、intra-mart内の処理の内訳としてスクリプト開発された部分の内訳を報告するようになりました。
そこで、以下の対応を追加しました。
①業務ロジックのスクリプト開発モデル部分を自動検出
②Scriptクラスのexecメソッドをフックポイントに追加
結果として下図のように、スクリプトから起動された処理の実行時間が記録されるようになりました。
計測されるintra-martの処理時間は以下の通りです。
この機能を使用するための要件は次の通りです。
①Shelty Manager/Agentのバージョンが2.6.0以上であること
②スクリプト開発モデルで開発されたカスタムロジックであること
③自動コンパイルモードで実行されていること
source-config.xmlファイルにてコンパイルモードを定義します。
このファイルが配置されているディレクトリ内(サブディレクトリを含む)のプログラムに対して適用されます。
ES/1 Sheltyを使ってintra-martを分析される際には、こちらの機能の活用をご検討いただければ幸いです。
ご不明な点等ございましたら、担当SEへご連絡いただければと思います。