データをクエリする にはいくつかの方法があります。このドキュメントでは、 NRQL クエリの例をいくつか示します。 モバイル監視 データ。モバイルで報告されるイベントと使用可能な属性の説明については、 「モバイル イベント」 を参照してください。
Mobile、MobileSession、およびMobileCrashイベントのクエリ例 モバイルクエリでは、インタラクション、ロケーション、デバイスプロファイル、アプリのバージョン、クラッシュ、パフォーマンスなど、さまざまなモバイルデータを理解し、比較することができます。
これらの例では、 Mobile
、 MobileSession
、およびMobileCrash
イベント タイプに対して作成されたクエリを使用しています。
インタラクション : どのインタラクションが私のユーザーに最も人気があるか?SELECT uniqueCount ( uuid ) FROM Mobile SINCE 1 day ago FACET name
所在地 : 中国で最もユーザーが多い地域は?SELECT uniqueCount ( uuid ) FROM MobileSession WHERE countryCode = 'CN' FACET regionCode SINCE 7 days ago
デバイスプロファイル : 最新のOSバージョンを使っているユーザーはどれくらいいるのか?SELECT uniqueCount ( uuid ) FROM MobileSession FACET osVersion SINCE 7 days ago
アプリのバージョン : 昨日のリリース以降、セッションの継続時間が伸びていますか?SELECT percentile ( sessionDuration , 90 ) FROM MobileSession since 1 day ago compare with 2 days ago
パフォーマンス : 5秒以上のセッションで私のアプリが使用するメモリ量は?SELECT histogram ( memUsageMb ) FROM MobileSession WHERE sessionDuration > 5
クラッシュ : 私のアプリでよくあるクラッシュは何ですか?SELECT count ( * ) FROM MobileCrash FACET crashException
クラッシュレート : アプリの異なるバージョンのクラッシュレートはどのくらいですか?SELECT percentage ( uniqueCount ( sessionId ) , WHERE category = 'Crash' ) AS ` Crash rate `
FROM MobileSession , MobileCrash FACET appVersion SINCE 90 days ago
MobileRequestイベントクエリの例 この機能には、モバイル監視エージェント バージョン 5.14.0 以降が必要です。MobileRequest
データはデフォルトで有効になっています:
Android バージョン 5.14.0 または iOS バージョン 5.14.0 以降の以前のバージョンでは、この機能を有効にする必要があります。 最新のAndroid またはiOS バージョンにアップグレードするか、必要な機能フラグ をアプリに追加します。
以下は、一般的なユースケースに対応する NRQL クエリです。MobileRequest
属性 を使用して、独自の NRQL クエリを作成します。最後の 2 つの例では、 MobileRequest
に加えてMobileRequestError
イベントを使用してエラー率を取得しています。
リクエスト領域別エラー率 失敗やエラーが発生しやすいドメインは?
SELECT percentage ( count ( * ) , where errorType = 'NetworkFailure' OR errorType = 'HTTPError' )
AS 'Error Rate %' , count ( * ) AS '# of Requests' ,
filter ( count ( * ) , WHERE errorType = 'NetworkFailure' OR errorType = 'HTTPError' AS '# of Errors' )
FROM MobileRequestError , MobileRequest FACET requestDomain
ビジネスクリティカルなAPIのエラー率 最もビジネスクリティカルなAPIのモバイルアプリで見られるエラー率はどのくらいですか?
SELECT percentage ( count ( * ) , WHERE errorType = 'NetworkFailure' OR errorType = 'HTTPError' )
AS 'Error Rate %' , count ( * ) AS '# of Requests' ,
filter ( count ( * ) , where errorType = 'NetworkFailure' OR errorType = 'HTTPError' as '# of Errors' )
FROM MobileRequestError , MobileRequest FACET requestPath WHERE requestPath = '{MY_API_PATH}'
重要なAPIの応答時間のパーセンタイル 90%の重要なリクエストについて、URL別の応答時間は?
SELECT percentile ( responseTime , 90 ) , latest ( requestUrl ) AS 'Latest URL' FROM MobileRequest
FACET cases ( where requestUrl LIKE '%{YOUR_CORE_API}%' as 'Core API' ,
WHERE requestUrl LIKE '%{YOUR_FEATURE_API}%' AS 'New Feature API' )
ネットワークリクエストの量 バックエンドサービスが受信しているアプリからのネットワークトラフィックはどのくらいですか?
SELECT count ( * ) FROM MobileRequest FACET requestDomain SINCE 3 days ago
レスポンスの遅さによるユーザーへの影響 httpのレスポンスタイムが3秒を超えることで影響を受けるユーザーの割合は?
SELECT filter ( uniqueCount ( MobileRequest . uuid ) ,
WHERE responseTime > 3 ) / uniqueCount ( MobileSession . uuid ) * 100 AS '% Users Impacted'
FROM MobileRequest , MobileSession SINCE 1 day ago TIMESERIES compare with 2 days ago
ドメイン、キャリア、ASNオーナー、国などによる応答時間の分布。 ドメイン、国、キャリア、またはASNオーナーごとの応答時間とリクエスト数の分布は?
SELECT histogram ( responseTime , 20 , 20 ) FROM MobileRequest SINCE 3 days ago FACET asnOwner
パーセンタイルの応答時間 レスポンスタイムのパーセンタイル別内訳はどうなっていますか?
SELECT percentile ( responseTime , 98 ) AS '98 percentile (sec)' , percentile ( responseTime , 90 )
AS '90 percentile (sec)' , percentile ( responseTime , 50 ) AS '50 percentile (sec)'
FROM MobileRequest SINCE 3 days ago
セッションごとのリクエスト セッションあたりのリクエストは、異なるアプリやそのアプリの後続ビルドでどのように比較されますか?
SELECT count ( * ) / uniqueCount ( sessionId ) FROM MobileRequest , MobileSession FACET appName TIMESERIES
MobileRequestError イベントクエリの例 以下は、一般的なユースケースに対応する NRQL クエリです。MobileRequestError
属性 を使用して、独自の NRQL クエリを作成します。
HTTPエラー エラーが多いのはどのクエリですか?
SELECT count ( * ) FROM MobileRequestError WHERE errorType = 'HTTPError' FACET requestUrl
ネットワーク障害 私のアプリケーションで最も一般的なネットワーク障害は何ですか?
SELECT count ( * ) FROM MobileRequestError WHERE errorType = 'NetworkFailure' FACET networkError
リクエスト領域別エラー率 失敗やエラーが発生しやすいドメインは?
SELECT percentage ( count ( * ) , WHERE errorType = 'NetworkFailure' OR errorType = 'HTTPError' )
AS 'Error Rate %' , count ( * ) AS '# of Requests' , filter ( count ( * ) ,
WHERE errorType = 'NetworkFailure' OR errorType = 'HTTPError' AS '# of Errors' )
FROM MobileRequestError , MobileRequest FACET requestDomain
ビジネスクリティカルなAPIのエラー率 最もビジネスに不可欠なAPIのモバイルアプリでのエラー率は?
SELECT percentage ( count ( * ) , WHERE errorType = 'NetworkFailure' OR errorType = 'HTTPError' )
AS 'Error Rate %' , count ( * ) AS '# of Requests' , filter ( count ( * ) ,
WHERE errorType = 'NetworkFailure' OR errorType = 'HTTPError' AS '# of Errors' )
FROM MobileRequestError , MobileRequest FACET requestPath WHERE requestPath = '{MY_API_PATH}'
エラー率。影響を受けたユーザーの割合 エラーが発生しているユーザー数は、総ユーザー数と比較してどのくらいですか?
SELECT filter ( uniqueCount ( MobileRequestError . uuid ) ,
WHERE errorType = 'HTTPError' ) / uniqueCount ( MobileSession . uuid ) * 100
AS '% Users Impacted by Errors' FROM MobileRequestError , MobileSession COMPARE WITH 7 days AGO
バージョン別のエラー 私のアプリケーションのどのバージョンで最もエラーが発生していますか?
SELECT count ( * ) FROM MobileRequestError FACET appVersion
ユニークなデバイス(UUIDによる) 私のアプリケーションで最も問題があるのは、どのユニークデバイス(UUID)ですか?
SELECT count ( * ) , latest ( device ) , latest ( carrier ) , latest ( asnOwner ) , latest ( countryCode )
FROM MobileRequestError FACET deviceUuid LIMIT 100 SINCE 1 days ago
過去のHTTPエラー数 過去のHTTPエラー数はどのようになっていますか(ドメイン別)?
SELECT count ( * ) FROM MobileRequestError WHERE errorType = 'HTTPError' FACET requestDomain TIMESERIES
MobileHandledException イベントクエリの例 以下は、 処理される一般的な例外 のユース ケースの NRQL クエリです。MobileHandledException
属性 を使用して、独自の NRQL クエリを作成します。
アプリの例外 処理された例外の数が最も多く報告されたアプリは?
SELECT count ( * ) FROM MobileHandledException FACET appName SINCE 3 days ago
トップ例外のロケーション 私のアプリケーションで最も一般的な例外発生箇所はどこか?どのくらいの数の例外があって、どこで発生するのか?
SELECT count ( * ) FROM MobileHandledException FACET exceptionLocation SINCE 3 days ago
例外を発生させる最も一般的なインタラクション どのインタラクションが最も多くの例外を生み出すか?
SELECT count ( * ) FROM MobileHandledException FACET lastInteraction SINCE 3 days ago
最も一般的な例外メッセージ 最も多く報告される例外メッセージは何ですか?
SELECT count ( * ) FROM MobileHandledException FACET exceptionMessage SINCE 3 days ago
最も一般的なメソッド報告の例外 例外を報告する最も一般的な方法は何ですか?
SELECT count ( * ) FROM MobileHandledException FACET exceptionLocationMethod SINCE 3 days ago
処理された例外率 ユーザーが遭遇する処理例外の頻度は?
SELECT percentage ( uniqueCount ( sessionId ) , WHERE exceptionLocation IS NOT NULL )
FROM MobileSession , MobileHandledException SINCE 3 days ago