SET CALCDIAGNOSTICS
パラレル計算タスクの診断ロギングを有効にします。
診断ロギングを有効にすると、Essbaseは最初のnumTasks長時間実行パラレル・タスクの計算時間を記録します。
構文
SET CALCDIAGNOSTICS { LOGSIZE numTasks; };
ノート
-
パフォーマンス・オーバーヘッドが発生するため、診断ロギングはデフォルトではオンになっていません。 計算スクリプトの設計または最適化が終了したら、診断ロギングをオフにする必要があります。
-
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.
-
計算スクリプト名:
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].
タスクごとの診断情報は、列形式です。 次の表では、データの解釈に役立つ各列について説明します。
表3-3 計算診断出力列
出力列 | 説明 |
---|---|
診断メッセージ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.