クライアント テレメトリにカスタム タグを追加するチュートリアル
このチュートリアルでは、WebJS クライアントから Azure Monitor に送信されるテレメトリ データに、診断オプション タグと呼ばれるカスタム データ属性を追加する方法について説明します。 このテレメトリは、通話後の分析に使用できます。
A/B テストが重要である理由
A/B テストは、製品開発においてデータに基づく意思決定を行うために不可欠な手法です。 開発者は、アプリケーション出力の 2 つのバリエーションを調べることで、通話の信頼性と品質を追跡する特定のメトリックに基づいて、どちらのバージョンが優れているかを特定できます。 この方法により、企業は管理された環境内でさまざまな設計、コンテンツ、機能をテストし、変更によって測定可能な機能強化が得られることを確認できます。 さらに、A/B テストは、本格的な立ち上げの前に証拠に基づいた分析情報を提供することで、新機能や戦略の導入に関連したリスクを軽減します。
A/B テストのもう 1 つの重要な利点は、従来のテスト手法では明らかではない可能性があるユーザーの好みや動作を明らかにできることです。 開発者は、これらのテストの結果を分析することで、アプリケーションの 2 つの異なるバージョンによって、エンド ユーザーの通話の信頼性と品質がどのように向上するかをより深く理解できます。 テストと最適化からなる、この反復的なサイクルは、継続的な機能強化の文化を育み、開発者が進化する市場の傾向に対応した競争力と適応性を維持するのに役立ちます。
診断オプション タグの利点
ユーザー ベースの特定のセグメントで問題が発生している可能性があり、これらの問題をより正確に特定して理解することを目指す場合を考えてみましょう。 たとえば、1 つの特定の場所で Azure Communication Services WebJS を利用しているすべての顧客が困難に直面しているとします。 問題が発生しているユーザーを特定するために、指定した場所で通話を開始するクライアントに診断オプション タグを組み込むことができます。 このタグ付けにより、通話ログを効果的にフィルター処理して調べることができます。 ターゲット タグを適用することで、このデータをより効率的に切り分けて分析できます。 ACS Calling Insights や通話診断センター (CDC) などの監視ツールは、これらのタグを追跡し、繰り返し発生している問題やパターンを特定するのに役立ちます。 これらのタグ付けされたセッションの継続的な分析を通じて、ユーザーの問題に関する貴重な分析情報を得ることができます。これにより、ユーザーの問題に事前に対処し、全体的なユーザー エクスペリエンスを向上させることができます。
JavaScript コードに診断オプション タグを追加する方法
さまざまなレベルを追加するタグを付けるために使用できるオプションのフィールドが 3 つあります。 ニーズに合ったテレメトリ追跡。
appName
appVersion
tags
各値の最大長は 64 文字で、文字 [aA、bB、cC など]、数値 [0 - 9]、基本的な記号 (ダッシュ "-"、アンダースコア "_"、ピリオド "."、コロン ":"、番号記号 "#") のみがサポートされます。
WebJS アプリケーション内から診断オプション パラメーターを使用する方法の例を次に示します。
const callClient = new CallClient({
diagnostics: {
appName: 'contoso-healthcare-calling-services',
appVersion: '2.1',
tags: ["contoso_virtual_visits",`#clientTag:participant0001}`]
}
});
タグを表示する方法
クライアント SDK に値を追加すると、値が設定され、通話中にテレメトリとメトリックに表示されます。 これらの値は、ユーザー エージェント フィールドに追加されたキーと値のペアとして、通話クライアント ログのスキーマ内に表示されます
contoso-healthcare-calling-services/2.1 azsdk-js-communication-calling/1.27.1-rc.10 (contoso_virtual_visits, participant0001). Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36 Edg/129.0.0.0
Note
クライアント API 内から 'appName'、'appVersion、または 'tag' の値を設定しない場合、そのフィールドの既定値は空になります。