SET CALCDIAGNOSTICS

EssbaseSET CALCDIAGNOSTICS計算コマンドは、並列計算タスクの診断ログを有効にします。

並列タスクは、CALCPARALLELまたはFIXPARALLELコマンドによって生成されるタスクです。診断ログを有効にすると、Essbaseに対して最も長く実行されている並列タスクの計算時間をログに記録するように指示されます。

構文

SET CALCDIAGNOSTICS { LOGSIZE numTasks; };

パラメータ

LOGSIZE

必須のキーワード。

numTasks

ログに記録する最も長く実行されているタスクの数。計算スクリプトで診断ログを無効にするには、numTasksを0に設定します。

ノート

  • 診断ログはパフォーマンスのオーバーヘッドがあるため、デフォルトではオンになっていません。計算スクリプトの設計または最適化が完了したら、診断ログをオフにする必要があります。

  • FIXPARALLELブロック内で使用する場合、このコマンドはそのブロック内でのみ有効になります。

次の例では、計算スクリプト内のすべての並列計算の診断ログを有効にします。


SET CALCDIAGNOSTICS { LOGSIZE 4; };

FIXPARALLEL (2, @IDESCENDANT("US_Market"))
   AGG ("Product");
ENDFIXPARALLEL

次の例では、特定のFIXPARALLELブロックの診断ログを有効にします。

FIXPARALLEL (2, @IDESCENDANT("US_Market"))
   SET CALCDIAGNOSTICS { LOGSIZE 4; };
   AGG ("Product");
ENDFIXPARALLEL

FIXPARALLELのサンプル診断ログ出力

次のサンプル出力は、FIXPARALLEL並列計算に関連しています。


OK/INFO - 1012899 - Statistics for [Calc1.csc], FIXPARALLEL of index [1] at line [14]: Number of FIXPARALLEL Threads = [2], Total Tasks = [261], Min/Max/Avg Thread's Time = [103.453]/[103.519]/[103.486] secs.
 OK/INFO - 1012899 - For [4] Longest tasks, next rows display : Time(secs), Thread_id, (Task_index/Task_count), Task_id, Member-combinations.
 OK/INFO - 1012899 - 15.131, 1, (30/132), 53, [ID_051341].
 OK/INFO - 1012899 - 10.759, 2, (124/129), 211, [ID_050092].
 OK/INFO - 1012899 - 9.690, 1, (42/132), 125, [ID_052230].
 OK/INFO - 1012899 - 7.192, 1, (38/132), 105, [ID_052073].
 OK/INFO - 1012899 - Summary for thread[1]: Total Time = [103.519] secs, Total Tasks = [132].
 OK/INFO - 1012899 - Longest tasks executing on thread[1] : Time(secs), Thread_id, (Task_index/Task_count), Task_id.
 OK/INFO - 1012899 - 15.131, 1, (30/132), 53.
 OK/INFO - 1012899 - 7.192, 1, (38/132), 105.
 OK/INFO - 1012899 - 9.690, 1, (42/132), 125.
 OK/INFO - 1012899 - Summary for thread[2]: Total Time = [103.453] secs, Total Tasks = [129].
 OK/INFO - 1012899 - Longest tasks executing on thread[2] : Time(secs), Thread_id, (Task_index/Task_count), Task_id.
 OK/INFO - 1012899 - 10.759, 2, (124/129), 211.

診断出力は3つのセクションに編成されています。

ログ・セクション1

次のセクションには、診断されるコマンドに関する一般的な情報が含まれています。


OK/INFO - 1012899 - Statistics for [Calc1.csc], FIXPARALLEL of index [1] at line [14]: Number of FIXPARALLEL Threads = [2], Total Tasks = [261], Min/Max/Avg Thread's Time = [103.453]/[103.519]/[103.486] secs.
  • Calcスクリプト名: Calc1.csc

  • コマンドID: インデックス[1]のFIXPARALLEL (Calc1.csc内の最初のFIXPARALLELコマンド)

  • その他の情報: この計算には最大2つのスレッドが使用されます。261個の並列タスクが含まれています。計算時間は約104秒間です。

ログ・セクション2

次のセクションには、実行時間が最も長いタスクに関する一般的な情報が含まれています。


 OK/INFO - 1012899 - For [4] Longest tasks, next rows display : Time(secs), Thread_id, (Task_index/Task_count), Task_id, Member-combinations.
 OK/INFO - 1012899 - 15.131, 1, (30/132), 53, [ID_051341].
 OK/INFO - 1012899 - 10.759, 2, (124/129), 211, [ID_050092].
 OK/INFO - 1012899 - 9.690, 1, (42/132), 125, [ID_052230].
 OK/INFO - 1012899 - 7.192, 1, (38/132), 105, [ID_052073].

タスクごとの診断情報は列形式です。次の表では、データの解釈に役立つように、各列について説明します。

表2-3 Calc診断出力列

出力列 説明
診断メッセージID メッセージID。たとえば、OK/INFO - 1012899です。このIDを使用して、アプリケーション・ログからファイルに診断情報を抽出できます。
時間(秒) 秒単位のタスク実行時間。たとえば、15.131です。タスクは、実行時間に基づいて降順でリストされます。
スレッドID 計算スレッドID。たとえば、1です。この計算では最大2つのスレッドを使用するため、スレッドIDは常に1または2になります。
タスク・インデックス/タスク数 タスク・インデックスと合計タスク数。たとえば、30/132は、これがこのスレッドによって実行される30番目のタスクであり、このスレッドが合計132個のタスクを実行することを示します。
タスクID タスクID番号。たとえば、53です。最初のタスクのIDは1ですが、最も長く実行されているタスクであるため、53が最初に一覧に示されています。ログ・セクション1で示されているように、合計261個のタスクがあることに注意してください。
メンバーの組合せ タスクIDに対応するスライスを形成するメンバー名。たとえば、53,[ID_051341]は、この計算タスクがタスク53で指定したスライスとメンバー[ID_051341]によって定義されることを意味します。

ログ・セクション3

次のセクションには、セクション2ですでに示した情報の要約が含まれていますが、情報は個別のスレッドごとにグループ化されています。


OK/INFO - 1012899 - Summary for thread[1]: Total Time = [103.519] secs, Total Tasks = [132].
 OK/INFO - 1012899 - Longest tasks executing on thread[1] : Time(secs), Thread_id, (Task_index/Task_count), Task_id.
 OK/INFO - 1012899 - 15.131, 1, (30/132), 53.
 OK/INFO - 1012899 - 7.192, 1, (38/132), 105.
 OK/INFO - 1012899 - 9.690, 1, (42/132), 125.
 OK/INFO - 1012899 - Summary for thread[2]: Total Time = [103.453] secs, Total Tasks = [129].
 OK/INFO - 1012899 - Longest tasks executing on thread[2] : Time(secs), Thread_id, (Task_index/Task_count), Task_id.
 OK/INFO - 1012899 - 10.759, 2, (124/129), 211.