데이터를 쿼리하는 방법은 여러 가지가 있습니다. 이 문서에서는 데이터에서 나온 몇 가지 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
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
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 쿼리를 만듭니다. 마지막 두 예에서는 MobileRequest
외에 MobileRequestError
이벤트를 사용하여 오류율을 얻습니다.
실패 및 오류가 발생하기 쉬운 도메인은 무엇입니까?
SELECT percentage(count(*), WHERE errorType = 'NetworkFailure' OR errorType = 'HTTPError')
count(*) AS '# of Requests',
filter(count(*), WHERE errorType='NetworkFailure' OR errorType='HTTPError' AS '# of Errors')
FROM MobileRequestError, MobileRequest FACET requestDomain
가장 비즈니스 크리티컬한 API에 대해 모바일 앱에서 볼 수 있는 오류율은 얼마입니까?
SELECT percentage(count(*), WHERE errorType = 'NetworkFailure' OR errorType = 'HTTPError')
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'
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
사용자의 몇 %가 3초 이상의 http 응답 시간에 영향을 받습니까?
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 소유자의 응답 시간 및 요청 수 분포는 어떻게 됩니까?
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 쿼리를 만듭니다.
어떤 쿼리가 가장 많은 오류를 일으키나요?
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')
count(*) AS '# of Requests',
filter(count(*), WHERE errorType='NetworkFailure' OR errorType='HTTPError' AS '# of Errors')
FROM MobileRequestError, MobileRequest FACET requestDomain
가장 비즈니스 크리티컬한 API에 대한 모바일 앱의 오류율은 얼마입니까?
SELECT percentage(count(*), WHERE errorType = 'NetworkFailure' OR errorType = 'HTTPError')
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 기준)가 내 애플리케이션에 가장 문제가 있습니까?
SELECT count(*), latest(device), latest(carrier), latest(asnOwner), latest(countryCode)
FROM MobileRequestError FACET deviceUuid LIMIT 100 SINCE 1 days ago
내 과거 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