データの追加タイプの収集
ADEUMInstrumentation クラスで使用可能なメソッドを使用して、6 つの追加タイプのデータを収集できます。
| データのタイプ | 説明 | 仕様 | データが表示される場所 |
|---|---|---|---|
| 情報ポイント | メソッドが呼び出される頻度と実行される時間。 |
| |
| カスタムタイマー | コード内の任意のイベントシーケンスが、複数のメソッドにまたがる場合でも、時間を計測。 |
| |
| カスタムメトリック | 収集する整数ベースのデータ。 |
| |
| ユーザデータ | 有用と思われる任意の文字列キーと値のペアこのデータは、消去されるまで、リストされるすべてのインストルメンテーション タイプに含まれます。 |
| |
| トピック パス(パンくずリスト) | クラッシュのコンテキスト。 |
| |
| ユーザの操作 | ユーザがボタンを押したとき、リストをクリックしたとき、およびテキストを選択したときにキャプチャ。 |
|
情報ポイント
- Objective-C
-
- (void)myMethod { id tracker = [ADEumInstrumentation beginCall:self selector:_cmd]; // Implementation of method here ... [ADEumInstrumentation endCall:tracker]; } - Swift
-
func myMethod() { let tracker = ADEumInstrumentation.beginCall(self, selector: #function) // Implementation of method here ... ADEumInstrumentation.endCall(tracker) }
カスタムタイマー
startTimer と stopTimer を使用して、コード内の任意のイベントシーケンスの時間を測定できます。たとえば、ユーザーが画面を表示するのにかかった時間を追跡する場合、インストルメンテーションは次のようになります。 - Objective-C
-
- (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; [ADEumInstrumentation startTimerWithName:@"View Lifetime"]; } - (void)viewDidDisappear:(BOOL)animated { [super viewDidDisappear:animated]; [ADEumInstrumentation stopTimerWithName:@"View Lifetime"]; } - Swift
-
func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) ADEumInstrumentation.startTimer(withName: "View Lifetime") } func viewDidDisappear(_ animated: Bool) { super.viewDidDisappear(animated) ADEumInstrumentation.stopTimer(withName: "View Lifetime") }
この情報は、コントローラ UI の [Custom Data] ビューに表示されます。
startTimerWithName を再度呼び出すと、名前付きタイマーがリセットされます。Custom Metrics
任意の整数ベースのデータをエージェントに渡すことができます。report.MetricWithName コールの最初のパラメータは、メトリックをコントローラ UI に表示する場合の名前です。メトリック名には、英数字とスペースのみを使用します。不正な文字は、ASCII 16 進値に置き換えられます。
たとえば、「My custom metric」というメトリックを報告する場合は、次のようになります。
[ADEumInstrumentation reportMetricWithName:@"My custom metric" value:<#VALUE HERE#>];
この情報は、コントローラ UI の [Custom Data] ビューに表示されます。
Custom User Data
次のメソッドで使用する任意の文字列キーおよび値のペアを設定し、後で削除することができます。
-
setUserData(key, value, success, error) -
removeUserData(key)
これが設定されると、ユーザーデータは、ネットワークリクエスト、セッション、またはクラッシュのインストルメンテーションとともに引き続き送信されます。以前に設定されたユーザーデータはキーごとに削除できます。clearAllUserData()または、 を使用して、すべてのキーの以前に設定されたユーザーデータを削除できます。
パラメータ
次の表で、パラメータについて説明します。
| Name | タイプ | 説明 |
|---|---|---|
| キー | 文字列 | キーと値のペアを識別するキー。 |
| 値 | 文字列 | キーに関連付けられている値。 |
| success | function | ユーザ定義のコールバックの成功例。 |
| error | function | ユーザ定義のコールバックの失敗例。 |
例
- Objective-C
-
- (void) onUserLoggedIn:(NSString *)userid { [ADEumInstrumentation setUserData:@"User ID" value:userid]; ... } - Swift
-
func onUserLogged(in userid: String?) { ADEumInstrumentation.setUserData("User ID", value: userid) }
- Objective-C
-
- (void) onUserLoggedIn:(NSString *)userid { [ADEumInstrumentation removeUserData:@"User ID"]; ... } - Swift
-
func onUserLogged(in userid: String?) { ADEumInstrumentation.removeUserData("User ID") ... }
clearAllUserData() について
clearAllUserData() API は、一度にすべてのユーザーデータ(上に列挙されたすべてのタイプのデータ)を消去します。上記の API の Splunk AppDynamics setUserData() リストで設定された項目の範囲外にある他のデータは消去されません。また、以前に送信用にキューに入れられていた既存のインストルメンテーション ビーコンにすでに付加されているユーザーデータは削除されず、ネットワーク リクエスト インストルメンテーションにリクエストごとに付加されたユーザーデータには影響しません。
例
clearAllUserData SDK API を使用する方法を示しています。 - Objective-C
-
- (void) onUserLoggedOut { [ADEumInstrumentation clearAllUserData]; ... } - Swift
-
func onUserLoggedOut() { ADEumInstrumentation.clearAllUserData() ... }
トピックパス(パンくずリスト)
トピックパスを使用すると、ユーザエクスペリエンスのコンテキストでクラッシュの場所を特定できます。問題が発生したときに、トピックパスを設定します。その後のある時点でアプリケーションがクラッシュした場合、トピックパスはクラッシュレポートとともに表示されます。
トピックパスを残すには、次の 2 つの方法があります。
次のメソッドを使用すると、トピックパスがクラッシュレポートのみで報告されます。
+ (void)leaveBreadcrumb:(NSString *)breadcrumb
次のメソッドを使用すると、トピックパスが報告される場所を微調整(クラッシュレポートのみ、またはクラッシュレポートとセッションを選択)できます。
+ (void)leaveBreadcrumb:(NSString *)breadcrumb mode:(ADEumBreadcrumbVisibility)mode
mode は次のいずれかです。
-
ADEumBreadcrumbVisibilityCrashesOnly -
ADEumBreadcrumbVisibilityCrashesAndSessions