最近のアクセス:
コードカバレッジとプロファイリング

GeneXus のこの機能では、プログラムで記述したコードがどの程度、実行されたかを確認できます。また、アプリケーションのパフォーマンスの問題を解決する手法の 1 つでもあります。アプリケーションを実行し、何が何回実行され、どの程度時間がかかったかを記録します。
ここでは、ソースレベルで実行時のコードカバレッジとパフォーマンスの情報を生成し、結果を分析するよう、GeneXus を設定する方法について説明します。

セットアップ

最初に、[ Generate Code Coverage information ] プロパティを「Yes」に設定し、すべてリビルドします。

コードカバレッジ情報の取得

すべてリビルドの処理が完了したら、関心のあるオブジェクトを実行します。これにより、「gxperf.gxd」というファイルが作成されます (環境で以前にコードカバレッジを実行したことがある場合は、そのときのファイルが更新されます)。
このファイルを開くには、GeneXus の [ テスト ] メニューから [ コードカバレッジ ] を選択します。
ドキュメントのウィンドウが開くので、 [ ... ] を選択し、<KB の場所>/<環境パス>/web/gxperf.gxd でファイルを探します。
イメージ:0000015.png
ファイルを選択したら、確認するセッションを選択するプロンプトウィンドウが開きます。必要なものをすべて選択し、 [ OK ] をクリックします。
イメージ:0000016.png
[ コードカバレッジ ] ウィンドウが次のように更新されます:
イメージ:0000017.png
このウィンドウでは、選択した実行に関わるすべてのオブジェクトがロードされ、ヒット数、時間、子を含む時間、時間のパーセントとカバレッジに関する情報が表示されます。また、リストからオブジェクトを選択すると、コールツリーを示すグラフや、コード行と、対応するトレース情報が表示されます。
オブジェクト単位または行単位で測定される内容:
  • [ ヒット数 ] または [ ヒット ] : 実行された回数 
  • [ 時間 ] : 経過時間
  • [ 子を含む時間 ] : 当該オブジェクトから呼び出されたオブジェクトの経過時間を含む経過時間
  • [ 時間 (%) ] : ほかの時間に対する経過時間の合計パーセンテージ
  • [ カバレッジ (%) ] : 当該オブジェクトのカバレッジのパーセンテージ (実行された行数/合計行数)
複数のセッションを選択した場合に [ カバレッジ (%) ] 列に表示されるパーセンテージに関する補足です:
  • オブジェクトがすべてのセッションで同じで、ナレッジベース内のオブジェクトの最新バージョンと同じである場合は、累積カバレッジが表示されます。
  • オブジェクトがすべてのセッションで同じでも、ナレッジベース内のオブジェクトの最新バージョンと同じではない場合 (変更があったため)、累積カバレッジと、この状況を示すメッセージが赤で表示されます。
  • 各セッションに、同じオブジェクトの異なるバージョンがある場合、カバレッジのパーセンテージを計算できないことを示す #### が表示されます。

詳細

コマンドラインのプロシージャーを実行するときに次のフラグを追加すると、生成されるファイルの名前を変更できます:
  • .NET および .NET Core: /gxperf:<トレースファイル名>
  • Java: -Dgxperf=<トレースファイル名>

使用可能バージョン

このプロパティは GeneXus 16 Upgrade 8 以降で利用できます。

参考情報

 


サブページ
Created: 20/12/14 21:41 by Admin Last update: 21/05/20 18:58 by Admin
カテゴリ
Powered by GXwiki 3.0