翻訳者のメモ:テキストはAsanaのブログから引用しています。Asanaは現在、生産性ソフトウェアのベータテストを実施しています 。
ユーザーの多くは、何らかの理由でアプリケーションの動作が停止したときに「一意のエラーメッセージ」をすでに発生しています。 これらのメッセージは非常に珍しいものであり、どのようにしてそれらに到達したかについてお話ししたいと思います。
画像上:このエラーについてお問い合わせの場合は、エラーを特定する次の一意のフレーズを使用してください。問題を診断するとき、ユーザーエラーとログ内の情報を関連付ける機能は非常に役立ちます。 アプリケーションがクラッシュすると、このイベントの一意のIDを生成します。このIDは、ユーザーが使用できるように表示され、問題を説明します。 私たちは新しいものを発明していません。すべてが実際には非常に簡単です。 しかし、このIDを使用して、私たちの技術は。 サポートはすぐに問題に関する詳細情報にジャンプできるため、迅速に分類して対応できます。
新しいのは、このようなIDを生成するアプローチです。 ほとんどのアプリケーションでは、ユーザーに発行されるIDは数字や文字の長いチェーンです。 このアプローチには多くの小さな微妙な欠陥があるので、好奇心とやや不快な状況を明るくしたいという願望から、私たちは何か新しいことに挑戦することにしました。
番号の提案
32ビットの情報(10〜40億の数字)を数字のセットではなく文の形式で出力するとします。 各文は同じ予測可能な構造を持つことができ、それらを構成するために、数字自体を使用して辞書から単語を選択できます。
Mad Mad Libsゲームのように。
そのような可能な構造は、「量+形容詞+複数名詞+動詞+副詞」です。 たとえば、「6匹の悲しいイカが優しく抱擁します。」 次のように数値のビットを分割できます。
- 数に5ビット(2〜33、結果は常に複数形になります)
- 形容詞用の7ビット(128オプションの1つ)
- 複数形の名詞用の7ビット(128のオプションの1つ。より楽しくするために、動物を選択しました)
- 動詞用の7ビット(128オプションの1つ)
- 副詞に6ビット(64オプションの1つ)
組織化された辞書を取得した後、40億の一意の(時には非常に記憶に残る)文を生成できます。 Asanaでは、エラーメッセージの生成に使用される識別子はランダムであるため、同じ文が2回繰り返されることはほとんどありません。
自動問題追跡
当社の製品を使用することでユーザーにポジティブな体験を提供することを切望しているため、サーバーまたはユーザーのブラウザなど、アプリケーションのあらゆる場所で発生する問題を記録するシステムに多大な労力を注ぎました。 このシステムは、問題に関する大量の情報(スタックトレース、ログの一部、アプリケーションステータス、ユーザーおよびセッション情報など)を収集し、同じエラーを自動的にグループ化し、内部タスクリストにインポートします(スクリーンショットを参照)。

Asanaのすべての問題にアクセスできるため、発生した回数や影響を受けたユーザーの数など、各問題の概要情報を表示できます。 ここで、ラベル、優先度を割り当て、編集のために送信できます。 各システムには、もちろんユーザーが送信した一意のエラーIDに基づいてそれを見つける方法など、大量の追加情報が含まれているため、このシステムは非常に効果的なトラッカーになります。
したがって、何かが機能しなくなった場合は、この問題がチームのタスクのリストに既にリストされていることを確認してください。 そして、あなたが慰めの賞を獲得することを願っています。 12匹のふわふわの子猫が優しく抱きしめます。 または8つの狂気のオークが大声で踏みつけます。 または...まあ、あなたはポイントを得る。