アプリケーションが応答しない
macOS用Collectorは、Windows用Collectorとほぼ同様に、デバイスからアプリケーションが応答していないイベントを記録します。 ユーザー入力に応答しないアプリケーションは、従業員の全体的なExperienceに悪影響を与えるため、Digital Experience Score (DEX)の重要な部分となります。 DEXスコアのドキュメントを参照してください。
macOSでCollectorがアプリケーションが応答していないかどうかを判定する手法は、Windowsでの方法とは異なります。 この記事では、各PlatformでCollectorがどのようにしてアプリケーションが応答していないイベントを測定するか説明します。
Windowsでのアプリケーションが応答しない
Windowsでは、Collectorが定期的にアプリケーションの応答性をチェックするために、開いているウィンドウにメッセージを送信します。 アプリケーションがこれらのメッセージをタイムリーに処理しない場合、システムは新しいアプリケーションが応答していないイベントを作成します。
Windowsで応答しないアプリケーションを検出するために、NexthinkのコレクタはWindows API IsHungAppWindow を利用しています。 マイクロソフトのドキュメントによると、アプリケーションは以下の場合に応答がないと見なされます:
入力を待っていない場合。
起動処理を行っていない場合。
内部的な5秒間のタイムアウト期間内に
PeekMessage関数を呼び出していない場合。
コレクタはこのAPIを30秒ごとにサンプリングし、アプリケーションが5秒以内に新しいユーザー入力を確認しない場合にのみフリーズを報告します。 このアプローチにより、Nexthinkはユーザーの操作に迅速に応答しないアプリケーションを特定できます。
アプリケーションのフリーズには、メインUIスレッドでの過剰な処理など、複数の原因が考えられます。 アプリケーションログは開発者の計測に頼るのに対し、この検出メカニズムはアプリケーションのログ記録とは独立して機能します。 アプリケーションログは通常、重大な障害のみを記録します。 この方法は、アプリケーションが実行し続けるが応答が遅い場合でも、完全なフリーズと短期間の非応答の両方を一貫して特定します。
macOSでのアプリケーションが応答しない
macOSでは、Collectorはオペレーティングシステムログを参照することで、アプリケーションが応答していないかどうかを確認します。 ただし、macOSは、ユーザーがアプリケーションを強制終了した後にのみ応答しないと報告します。
たとえば、ある時点でアプリケーションが応答しないが最終的に回復した場合、従業員がアプリケーションを強制終了しない限り、Collectorはそのアプリケーションを応答しないと報告しません。
Last updated
Was this helpful?