投稿者

インターシステムズジャパン
記事 Toshihiko Minamoto · 8月 23, 2023 7m read

DeepSee トラブルシューティングガイド

この「DeepSee トラブルシューティングガイド」は、DeepSee プロジェクトの問題を追跡して修正する支援を提供することを目的としています。

このガイドラインに従って問題を修正できない場合でも、少なくとも DeepSee サポートに WRC の問題を提出し、すべての証拠を提供するのに十分な情報を得ることができます。この情報によって、一緒に調査を続け、より迅速に解決することが可能となります。

ご注意ください: 特定のアクションやコマンドによってどのような結果がもたらされるかがよくわからない場合は、実行しないでください。本番システムに影響を与える可能性があります。  この場合は、サポートセンターにお問い合わせください。 

左から右の操作列に進むと、このガイドを最も簡単に活用できます。

<th>
  発生事項
</th>

<th>
  分析
</th>

<th>
  解決方法
</th>
<td>
  ビルド中のエラー
</td>

<td>
  エラーメッセージを確認<br>ビルドでエラーが表示されなかった場合は $System.OBJ.DisplayError() を実行<br>^DeepSee.BuildErrors/ run ##class(%DeepSee.Utils).%PrintBuildErrors(pCube) を確認
</td>

<td>
  メッセージのエラーを修正
</td>
<td>
  キューブのビルド制限を確認
</td>

<td>
  ビルド制限を削除または受領する
</td>
<td>
  maxfacts を削除
</td>
<td>
  ビルドエラーを修正
</td>
<td>
  ソースクラスのインデックス再構築
</td>
<td rowspan="6">
  ソースのレコードが<br> DeepSee で使用でき<br>ない
</td>

<td>
  前のセクションでビルドの問題 / 制限を確認
</td>

<td>
  制限を削除します
</td>
<td>
  必要に応じてメソッドを修正してください
</td>
<td>
  ビルドエラーを修正してください
</td>
<td>
  メソッドを修正してください
</td>
<td>
  不一致の原因を特定して解決してください
</td>
<td>
   
</td>
<td>
  レベルのメンバーが<br>重複
</td>

<td>
  ディメンションの階層が有効かを確認
</td>

<td>
  [この記事](https://community.intersystems.com/post/designing-valid-hierarchies-deepsee)に従ってレベルを変更してください
</td>
<td>
  データが欠落していないか前セクションを確認。キャッシュに問題がないか確認<br> - do $System.DeepSee.Shell()<br>  - cache off
</td>

<td>
  ビルドのエラーを修正<br>do $System.DeepSee.Reset()<br>kill ^DeepSee.Cache
</td>
<td>
  セグメントの問題を修正
</td>
<td>
  do ##class(%DeepSee.TaskMaster).%Reset()
</td>
<td>
  リストが正常かを確認
</td>

<td>
  ソーステーブルから選択する権限を付与
</td>
<td>
  WHERE 条件をデバッグ<br>^DeepSee.SQLError を確認<br>^DeepSee.QueryLog を確認
</td>
<td>
  DeepSee が期待どおりに反応しない
</td>

<td>
  システムの健全性を確認します
</td>

<td>
   
</td>
<td>
  エージェントステー<br>タスを確認
</td>

<td>
   
</td>
<td>
  ライセンスの追加購入
</td>
<td>
  ^DeepSee.AgentLog を確認
</td>

<td>
  do ##class(%DeepSee.TaskMaster).%Reset()
</td>
<td>
   
</td>
<td>
  発見したエラーを修正
</td>
<td rowspan="7">
  ビルドパフォーマンスが低い
</td>

<td>
  do ##class(%DeepSee.TaskMaster).%PrintLog() を実行
</td>

<td>
   
</td>
<td>
  do ##class(%DeepSee.TaskMaster).%Reset()
</td>
<td>
  低負荷の状態でビルドを実行
</td>
<td>
  可能であれば、ソース式を避ける
</td>
<td>
  不要なディメンション/レベルを削除
</td>
<td>
  キューブを単純かつスリムに保つ
</td>
<td>
  DeepSee にデータウェアハウス設計または個別のネームスペースを使用して、そのネームスペースのジャーナリングを無効にする
</td>
<td>
  レポートを実行します: do ##class(%DeepSee.Diagnostic.MDXUtils).%Run(&lt;query>)
</td>

<td>
  長時間実行される可能性のあるクエリは簡略化するなど回避策が必要
</td>
<td>
  リソースの解放
</td>
<td>
  可能であれば、バッファを増やす
</td>
<td>
  ランタイム時のパフォーマンス問題への支援については、サポートセンターまでお問い合わせください
</td>
<td>
  ネームスペースが DS メニューにリストされていない
</td>

<td>
  DeepSee が web-application 設定 /csp/&lt;ネームスペース> で有効であるかを確認
</td>

<td>
  ウェブ・アプリケーションで "DeepSee" を有効にする
</td>
<td>
  ライセンスを確認
</td>

<td>
  DeepSee 対応のライセンスを取得
</td>
<td>
  リソース %DeepSee_Architect , %DeepSee_ArchitectEdit に Use を追加
</td>
<td>
  サポートされているブラウザを使用
</td>
問題の領域
ビルドの問題
ソーステーブルの行
よりも少ないレコー
ドが構築される
maxfacts が使用されているかを確認
^DeepSee.BuildErrors/ run ##class(%DeepSee.Utils).%PrintBuildErrors(pCube) を確認
ソースクラスのインデックスを確認
データの欠落
キューブ定義の "%OnProcessFact" を確認します
ビルドエラーを確認します
sourceExpression のメソッドをデバッグします
ファクトテーブルのレコードを確認します
ファクトテーブルとソーステーブルを比較します
結果が誤っている
クエリで予期しない
結果が表示される
クエリをより小さなセグメントに分割
(各軸を個別に分割)
問題のあるセグメントを特定
^DeepSee.AgentLog を確認します
リストが空
カスタム SQL リストかを確認します
ハング / 予期しないイベント
ハング
ライセンスの使用状況を確認
以前に動作していた操作が失敗する
do ##class(%DeepSee.TaskMaster).%PrintLog() を実行
^DeepSee.LastLogError を確認
^DeepSee.PivotError() を確認
パフォーマンスの問題
利用できるエージェント数を確認
メモリと CPU の使用率を確認
ソースの式を確認
全般的なキューブの状態を確認
 - do ##class(%DeepSee.Utils).%Analyze("Holefoods")
高いジャーナリングアクティビティ
クエリパフォーマンスが低い
メモリと CPU の使用率を確認
バッファの設定を確認
一般的なシステムパフォーマンス分析を実施
報告済みの一般的な問題
アーキテクトがグレー表示される
ユーザーのロールを確認
ブラウザが IE 8 でないことを確認

以下は、各問題領域のマインドマップです。