Application Insights는 누락되거나 예기치 않은 원격 분석 동작을 모니터링하고 문제를 해결하는 데 도움이 되는 SDK 통계 사용자 지정 메트릭을 제공합니다. 원격 분석이 수집 엔드포인트에 도달하지 않는 경우 SDK 통계는 발생한 상황과 다음에 수행할 작업을 식별하는 데 도움이 됩니다.
이러한 사용자 지정 메트릭에는 항목 성공, 삭제 및 다시 시도 횟수가 포함됩니다. 또한 원인을 설명하고 다음 단계를 안내하는 삭제 코드 및 다시 시도 코드가 포함됩니다.
시각화는 SDK 통계 통합 문서에 제공됩니다.
중요합니다
미리 보기 기능은 서비스 수준 계약 없이 제공되며 프로덕션 워크로드에는 권장되지 않습니다. 자세한 내용은 Microsoft Azure Preview에 대한 추가 사용 약관을 참조하세요.
필수 조건
SDK 통계 개요
SDK 통계는 Application Insights SDK 및 에이전트가 사용자 지정 메트릭으로 내보내는 프로세스별 카운터입니다. 이러한 메트릭은 내보내기 도구가 올바르게 전송하는 원격 분석 항목 수, 내보내기 도구가 삭제하는 항목 수 및 내보내기 도구가 다시 시도하도록 예약하는 항목 수를 요약합니다.
SDK는 다음 세 가지 메트릭을 게시합니다.
preview.item.success.countpreview.item.dropped.countpreview.item.retry.count
비고
다시 시도 횟수는 시도 횟수를 나타내며 감소하지 않습니다. 동일한 항목에 대한 이후의 성공은 성공 시리즈에만 반영됩니다.
차원
이러한 메트릭에는 조각화에 대한 customDimensions의 차원 및 표준 Application Insights 차원이 포함됩니다.
| 차원 키 | Description |
|---|---|
telemetry_type |
개수와 연결된 원격 분석 유형입니다. 값은 Application Insights 테이블(예: REQUEST, DEPENDENCY, EXCEPTION, TRACECUSTOM_EVENT및 AVAILABILITY)과 정렬됩니다. |
drop.code, drop.reason |
삭제된 항목에 대한 코드 및 짧은 이유입니다. 코드는 수집 엔드포인트의 HTTP 상태 또는 클라이언트 코드(예: CLIENT_EXCEPTION)입니다. |
retry.code, retry.reason |
예약된 다시 시도에 대한 코드 및 짧은 이유입니다. 코드는 수집 엔드포인트의 HTTP 상태 또는 클라이언트 코드(예: CLIENT_TIMEOUT)입니다. |
telemetry_success |
REQUEST 및 DEPENDENCY의 경우 내보내기 시 원격 분석 항목의 success 값(true 또는 false)입니다. |
language, version |
SDK 또는 에이전트 언어 및 버전입니다. |
compute.type |
컴퓨팅 환경(예: aks, appsvc, functions, springcloud, vm 또는 unknown)입니다. |
sdkVersion |
SDK 버전 문자열도 태그에서 사용할 수 있습니다. |
cloud_RoleName, cloud_RoleInstance |
서비스 및 인스턴스별로 조각화할 때 사용할 수 있는 리소스 차원입니다. |
각 메트릭 행은 내보내기 간격에 대해 집계된 수를 나타냅니다. 시간 조각에서 시도한 총계는 해당 조각에 대한 success + dropped와 같습니다.
SDK 통계 사용 및 구성
현재 적용 범위에는 옵트인이 필요하며 다음 SDK로 제한됩니다.
- Node.JS
- 파이썬
애플리케이션 프로세스 환경에서 환경 변수 APPLICATIONINSIGHTS_SDKSTATS_ENABLED_PREVIEW=true를 설정하고 애플리케이션을 다시 시작하여 사용하도록 설정합니다.
내보내기 간격
- 기본 내보내기 간격은 15분입니다.
-
APPLICATIONINSIGHTS_SDKSTATS_EXPORT_INTERVAL을 사용하여 다른 간격(초)을 구성합니다. - 최소 간격은 1초입니다.
통합 문서 리소스를 배포할 필요가 없습니다. SDK 통계 템플릿은 Application Insights 리소스 아래의 통합 문서 갤러리에 표시됩니다. 통합 문서에는 SDK에서 이러한 사용자 지정 메트릭을 내보낸 후에 데이터가 표시되지 않습니다.
SDK 통계 통합 문서 열기
Application Insights 리소스를 연 다음 통합 문서를 열고 SDK 통계(미리 보기)를 선택합니다. 이 환경에서는 간소화된 시각적 개체 집합이 있는 단일 통합 문서를 사용합니다.
필터
통합 문서 맨 위에 있는 필터를 사용하여 보기 범위를 지정합니다.
- 시간 범위: 시간 범위 및 계급구간 크기를 기준으로 필터링합니다.
-
SDK 버전:
sdkVersion필드를 기준으로 필터링합니다. -
원격 분석 유형:
telemetry_type차원을 기준으로 필터링합니다. -
삭제 이유 및 삭제 코드:
drop.reason및drop.code를 기준으로 필터링합니다.
통합 문서 시각적 개체
통합 문서는 결과를 컨텍스트에서 유지하는 간결한 차트 집합에 중점을 둡니다.
-
삭제 속도입니다. 선택한 시간 조직에
dropped / (dropped + success)를 표시합니다. -
시간 경과에 따른 요청 및 종속성 분석입니다. 요청 및 종속성 원격 분석을 애플리케이션의
success항목 값으로 분할한 다음, 별도의 가로 막대형 차트에서 전송됨과 삭제됨을 비교해서 표시합니다.- 성공 및 전송과 삭제됨 간의 비교입니다. 애플리케이션이 성공한 것으로 기록된 항목과 내보내기 도구가 Application Insights로 전송한 항목을 동일한 범주에서 내보내기 도구가 삭제한 항목과 비교합니다.
- 실패 및 전송과 삭제됨 간의 비교입니다. 애플리케이션이 실패한 것으로 기록된 항목과 내보내기 도구가 전송한 항목을 동일한 범주에서 내보내기 도구가 삭제한 항목과 비교합니다. 실패, 삭제됨의 급증은 일시적인 서비스 문제, 제한 또는 구성 문제를 나타내는 경우가 많습니다.
-
삭제 이유, 삭제 코드 및 SDK 버전 필터를 사용하여 원인을 격리합니다. 예를 들어 실패, 삭제됨이 증가하는 경우
429제한 또는401및403인증 문제를 확인합니다.
- 시간 버킷 드릴다운입니다. 버킷을 선택하면 해당 기간의 상위 삭제 이유 및 코드가 포함된 내역 보기가 열립니다.
-
시간 경과에 따른 내보내기 결과입니다.
success,retry및dropped의 수를 함께 집계합니다.
예기치 않은 원격 분석 동작 문제 해결
코드를 사용하여 발생한 상황과 다음에 수행할 작업을 결정합니다. 통합 문서 설명선은 먼저 표시할 위치를 나타냅니다.
삭제 코드 진단
내보내기 도구는 제공할 수 없는 항목에 대해 drop.code를 설정합니다. 다음 지침을 사용합니다.
비고
수집 엔드포인트가 일부 항목을 수락하고 다른 항목을 거부하는 경우 206 Partial Content를 볼 수 있습니다. 허용된 항목은 success에 기여합니다. 거부된 항목은 삭제 코드가 함께 제공되는 dropped에 기여합니다.
클라이언트 삭제 코드
| drop.code | 실제로 의미하는 것 | 다음에 해야 할 일 |
|---|---|---|
CLIENT_EXCEPTION |
내보내기 도구가 예외에 도달했거나 응답을 받지 못해 항목이 삭제되었습니다. | 앱 및 내보내기 도구 로그를 확인합니다. DNS(Domain Name System), TLS(전송 계층 보안), 프록시, 방화벽 및 아웃바운드 인터넷 규칙을 확인합니다. 호스트에서 엔드포인트 연결 가능성의 유효성을 검사합니다. |
CLIENT_READONLY |
파일 시스템이 읽기 전용이므로 로컬 지속성을 쓸 수 없습니다. | 지속성을 쓰기 가능한 경로로 지정합니다. 컨테이너 또는 VM(가상 머신) 권한을 수정합니다. 환경에서 허용되지 않는 경우 디스크 지속성을 사용하지 않도록 설정하는 것이 좋습니다. |
CLIENT_PERSISTENCE_CAPACITY |
로컬 지속성이 가득 찼고 새 항목을 버퍼링할 수 없습니다. | 디스크 할당량 또는 스토리지 크기를 늘립니다. 일괄 처리 크기 또는 수집 속도를 줄입니다. 샘플링을 고려합니다. |
CLIENT_STORAGE_DISABLED |
로컬 지속성을 사용할 수 없습니다. 버퍼링이 필요한 항목을 저장할 수 없고 삭제되었습니다. | 로컬 저장소를 사용하도록 설정하거나 스케일 아웃하여 압력을 줄입니다. |
*NON_RETRYABLE_STATUS_CODE |
수집 엔드포인트가 400, 401, 403 또는 404 같은 다시 시도할 수 없는 상태를 반환했습니다. |
HTTP 코드 테이블을 사용하여 구성, 자격 증명 또는 원격 분석 스키마를 수정한 다음 다시 배포합니다. |
수집 엔드포인트 HTTP 상태 코드
| HTTP 상태입니다. | 일반적인 이유 | 다음에 해야 할 일 |
|---|---|---|
200 OK |
모든 항목이 허용됩니다. | 어떤 조치도 필요하지 않습니다. |
206 Partial Content |
일부 항목은 수락되었고 다른 항목은 거부되었습니다. | 항목별 오류에 대한 내보내기 도구 로그를 검사합니다. 스키마 및 크기의 유효성을 검사합니다. 페이로드가 크기 제한에 가까운 경우 일괄 처리 크기를 줄입니다. |
307 또는 308 Redirect |
스탬프 특정 엔드포인트로 리디렉션합니다. | 사용자 환경에서 리디렉션을 허용합니다. 리디렉션이 영구적이면 연결 문자열을 올바른 지역으로 업데이트합니다. |
400 Bad Request |
잘못된 원격 분석 또는 지원되지 않는 스키마입니다. 경우에 따라 Microsoft Entra의 잘못된 구성이 400으로 표시할 수 있습니다. | 페이로드 크기 및 스키마의 유효성을 검사합니다. 잘못된 경로를 지정한 경우 연결 문자열 또는 토큰 대상 그룹을 수정합니다. |
401 Unauthorized |
인증에 실패했거나 토큰에 필요한 권한이 없습니다. | 연결 문자열 또는 자격 증명을 수정합니다. ID에 Application Insights에 대한 올바른 역할 및 토큰 범위가 있는지 확인합니다. |
402 Payment Required |
일일 한도를 초과했습니다. | 일일 한도를 조정하거나, 수집을 줄이거나, 샘플링을 늘립니다. 초기화를 기다립니다. |
403 Forbidden |
사용 권한 또는 매핑이 잘못되었습니다. | 올바른 역할 할당 또는 엔드포인트 매핑입니다. 리소스 및 연결 문자열이 동일한 환경에 속하는지 확인합니다. |
404 Not Found |
연결 문자열이 잘못된 지역 또는 리소스를 가리킵니다. | 연결 문자열을 올바른 리소스 및 지역으로 업데이트합니다. |
405 Method Not Allowed |
요청 메서드가 허용되지 않습니다. | SDK를 업그레이드하고 지원되는 메서드만 사용되는지 확인합니다. |
408 Request Timeout |
네트워크 시간 제한입니다. | 네트워크 대기 시간 및 방화벽 규칙을 확인합니다. 적절한 경우 클라이언트 시간 제한을 늘립니다. |
413 Payload Too Large |
일괄 처리 페이로드가 크기 제한을 초과했습니다. | 최대 일괄 처리 크기를 줄입니다. 더 빈번하고 작은 일괄 처리를 보내는 것이 좋습니다. |
429 Too Many Requests |
Retry-After를 사용하여 제한하는 중입니다. |
전송 속도를 줄입니다.
Retry-After를 준수합니다. 샘플링을 늘리거나 스케일 아웃합니다. |
439 Daily Quota Exceeded
(사용되지 않음) |
레거시 할당량 신호입니다. | 402와 동일합니다. 앞으로 402를 모니터링하는 것을 선호합니다. |
5xx Server Error |
일시적인 서비스 문제입니다. | 복구가 예상됩니다. 몇 분 이상 지속되는 경우 Azure 상태를 확인하고 타임스탬프 및 지역을 사용하여 지원 사례를 엽니다. |
| Other | 인식할 수 없습니다. | 로그에서 ID(상관 관계 식별자)를 캡처하고 지원 사례를 엽니다. |
다시 시도 코드 진단
내보내기 도구는 나중에 보내도록 예약하는 항목에 대해 retry.code를 설정합니다. 다시 시도는 최종 삭제가 아니라 아직 성공하지 못한 배달 시도를 나타냅니다.
| retry.code | 실제로 의미하는 것 | 다음에 해야 할 일 |
|---|---|---|
CLIENT_EXCEPTION |
네트워크 오류와 같은 런타임 예외로 인해 배달이 차단되었습니다. | DNS, 프록시, TLS 및 방화벽을 확인합니다. 내보내기 도구 로그에서 예외 세부 정보를 검토합니다. |
CLIENT_TIMEOUT |
내보내기 도구가 응답을 기다리는 동안 시간이 초과되었습니다. | 적절한 경우 시간 제한을 늘립니다. 네트워크 대기 시간 및 서버 응답성을 조사합니다. |
*RETRYABLE_STATUS_CODE |
수집 엔드포인트가 다시 시도 가능한 HTTP 상태(예: 408, 429, 5xx)를 반환했습니다. |
최종 복구가 예상됩니다. 제한될 때 전송 속도 또는 샘플링을 줄입니다.
Retry-After를 기다렸다가 적용합니다. |
다시 시도를 해석하는 방법
내보내기 도구가 원격 분석을 다시 전송하도록 예약할 때마다 preview.item.retry.count 카운터가 증가합니다. 최종 결과가 아닌 시도 횟수를 반영합니다. 카운터는 감소하지 않습니다.
성공 및 삭제됨 시리즈와 함께 사용하여 배달 상태를 파악합니다.
추세 해석
- 다시 시도 라인 자체가 증가하는 것은 데이터 손실을 의미하지 않습니다. 나중에 항목을 성공적으로 보낼 수 있습니다.
- 다시 시도를 성공과 비교합니다. 다시 시도가 급증한 후 성공률이 회복되면 문제가 일시적일 수 있습니다.
- 다시 시도와 삭제됨을 비교합니다. 삭제된 상태에서 다시 시도가 0에 가까워지면 내보내기 도구가 버퍼링 및 복구됩니다.
- 성공률이 정체되거나 하락하는 상태에서 다시 시도 횟수가 지속적으로 높은 경우 차단 문제가 발생했음을 의미합니다. 성공률이 회복되지 않는 경우를 참조하세요.
코드로 조사
다시 시도 메트릭을 retry.code로 분할하여 시도가 다시 시도되는 이유를 식별합니다.
retry.code |
일반적으로 의미하는 것 | 확인하거나 다음에 수행할 사항 |
|---|---|---|
CLIENT_TIMEOUT |
내보내기 도구가 응답을 기다리는 동안 시간이 초과되었습니다. | 적절한 경우 클라이언트 시간 제한을 늘립니다. 대기 시간, 프록시 및 방화벽 규칙을 확인합니다. |
CLIENT_EXCEPTION |
네트워크 또는 런타임 오류로 인해 배달이 차단되었습니다. | 내보내기 도구 로그를 검토합니다. DNS, TLS, 프록시 및 아웃바운드 네트워크 구성을 확인합니다. |
408 |
수집 엔드포인트에서 요청 시간이 초과되었습니다. | 네트워크 경로 및 대기 시간을 조사합니다. 더 작은 일괄 처리 또는 더 높은 송신 빈도를 고려합니다. |
429 |
종종 Retry-After를 사용하여 수집에 의해 제한됩니다. |
전송 속도를 줄이거나 샘플링을 늘립니다. 다시 시도하기 전에 Retry-After를 적용합니다. |
5xx |
수집 시 발생하는 일시적인 서비스 문제입니다. | 복구가 예상됩니다. 백오프를 사용하여 계속 다시 시도합니다. Azure 상태가 지속되는지 확인합니다. |
성공률이 회복되지 않는 경우
다시 시도가 계속 증가하고 성공이 회복되지 않으면 삭제 코드로 피벗하여 블로커를 찾습니다. 구성 및 할당량 문제(예: 402(일일 한도) 401 또는 403(인증 또는 권한))와 클라이언트 스토리지 문제(예: CLIENT_PERSISTENCE_CAPACITY, CLIENT_READONLY 또는 CLIENT_STORAGE_DISABLED)로 시작합니다. 기본 원인을 수정한 후 다음 간격에서 삭제됨이 0으로 반환되고 성공이 증가하는지 확인합니다.
비용 및 데이터 볼륨
SDK 통계는 집계된 customMetrics 레코드를 보냅니다. 워크로드는 모든 원격 분석 항목 대신 카운터를 게시하므로 데이터 볼륨은 응용 프로그램 원격 분석에 비해 낮게 유지됩니다. 레코드는 customMetrics에 대해 표준 Application Insights 데이터 수집으로 비용이 청구되며 보존 설정을 따릅니다. 내보내기 도구는 기존 수집 채널에서 카운터를 보냅니다.
계획 수식
Estimated records per hour per instance ≈
(#metrics emitted per interval)
× (3600 / interval_seconds)
× (distinct dimension combinations you use)
기본 간격은 15분(interval_seconds = 900)입니다.
APPLICATIONINSIGHTS_SDKSTATS_EXPORT_INTERVAL를 사용하여 다른 간격을 구성합니다.
기본 통합 문서 외부의 Azure Monitor에서 SDK 통계 사용
다른 Azure Monitor 기능과 함께 SDK 통계 사용자 지정 메트릭을 사용할 수 있습니다.
- Azure Data Explorer
-
테이블을 통한
customMetrics - 경고
- Power BI
- 메트릭 탐색기
Azure Data Explorer(아주르 데이터 탐색기)
다음은 KQL(Kusto 쿼리 언어) 참조 샘플입니다.
내보내기 결과와 시간 비교
let g = 15m; // align with export interval for clearer charts
customMetrics
| where name in ("preview.item.success.count", "preview.item.dropped.count", "preview.item.retry.count")
| summarize
success = sumif(todouble(value), name == "preview.item.success.count"),
dropped = sumif(todouble(value), name == "preview.item.dropped.count"),
retry = sumif(todouble(value), name == "preview.item.retry.count")
by bin(timestamp, g)
시간 경과에 따른 요금
let g = 15m;
customMetrics
| where name in ("preview.item.dropped.count", "preview.item.success.count", "preview.item.retry.count")
| summarize
success = sumif(todouble(value), name == "preview.item.success.count"),
dropped = sumif(todouble(value), name == "preview.item.dropped.count"),
retry = sumif(todouble(value), name == "preview.item.retry.count")
by bin(timestamp, g)
| extend drop_rate = dropped / iff((success + dropped) == 0.0, 1.0, (success + dropped))
| extend retry_to_attempt_ratio = retry / iff((success + dropped) == 0.0, 1.0, (success + dropped))
| project timestamp, drop_rate, retry_to_attempt_ratio
시간 경과에 따른 요청 및 종속성 분석(누적 막대 복제)
let g = 15m;
// Successful request or dependency telemetry: sent vs dropped
let sent_success = (requests
| where success == true
| summarize c = count() by bin(timestamp, g)
| union (dependencies | where success == true | summarize c = count() by bin(timestamp, g))
| summarize sent = sum(c) by timestamp);
let dropped_success = (customMetrics
| where name == "preview.item.dropped.count"
| extend telemetry_type = tostring(customDimensions["telemetry_type"]),
telemetry_success = tostring(customDimensions["telemetry_success"])
| where telemetry_type in ("REQUEST","DEPENDENCY") and telemetry_success == "true"
| summarize dropped = sum(todouble(value)) by bin(timestamp, g));
sent_success
| join kind=fullouter dropped_success on timestamp
| project timestamp, ["Successful - Sent"] = todouble(sent), ["Successful - Dropped"] = todouble(dropped)
| order by timestamp asc;
// Failed request or dependency telemetry: sent vs dropped
let sent_failed = (requests
| where success == false
| summarize c = count() by bin(timestamp, g)
| union (dependencies | where success == false | summarize c = count() by bin(timestamp, g))
| summarize sent = sum(c) by timestamp);
let dropped_failed = (customMetrics
| where name == "preview.item.dropped.count"
| extend telemetry_type = tostring(customDimensions["telemetry_type"]),
telemetry_success = tostring(customDimensions["telemetry_success"])
| where telemetry_type in ("REQUEST","DEPENDENCY") and telemetry_success == "false"
| summarize dropped = sum(todouble(value)) by bin(timestamp, g));
sent_failed
| join kind=fullouter dropped_failed on timestamp
| project timestamp, ["Failed - Sent"] = todouble(sent), ["Failed - Dropped"] = todouble(dropped)
| order by timestamp asc
코드가 포함된 삭제 이유 요약
customMetrics
| where name == "preview.item.dropped.count"
| extend drop_reason = tostring(customDimensions["drop.reason"]),
drop_code = tostring(customDimensions["drop.code"])
| summarize total_dropped = sum(todouble(value)) by drop_reason, drop_code
| order by total_dropped desc
경고
비율 또는 특정 코드를 모니터링하는 로그 경고를 만듭니다.
// Drop rate over 5 minutes
let window = 5m;
customMetrics
| where timestamp >= ago(window)
| where name in ("preview.item.success.count", "preview.item.dropped.count")
| summarize
success = sumif(todouble(value), name == "preview.item.success.count"),
dropped = sumif(todouble(value), name == "preview.item.dropped.count")
| extend drop_rate = dropped / iff((success + dropped) == 0.0, 1.0, (success + dropped))
| project drop_rate
// Over-quota daily cap (HTTP 402) in the last 10 minutes
let window = 10m;
customMetrics
| where timestamp >= ago(window)
| where name == "preview.item.dropped.count"
| extend drop_code = tostring(customDimensions["drop.code"])
| summarize dropped_402 = sum(todouble(value)) by drop_code
| where drop_code == "402" and dropped_402 > 0
| project dropped_402
팁 (조언)
응답자가 한도를 조정하거나 수집을 줄일 수 있도록 일일 상한 지침과 402 경고를 페어링합니다.
Power BI
Azure Monitor 로그 커넥터를 사용하여 이러한 메트릭을 Power BI로 가져옵니다.
// Drop and retry ratios by hour
let window = 14d;
let g = 1h;
customMetrics
| where timestamp >= ago(window)
| where name in ("preview.item.success.count", "preview.item.dropped.count", "preview.item.retry.count")
| summarize
success = sumif(todouble(value), name == "preview.item.success.count"),
dropped = sumif(todouble(value), name == "preview.item.dropped.count"),
retry = sumif(todouble(value), name == "preview.item.retry.count")
by bin(timestamp, g)
| extend drop_rate = dropped / iff((success + dropped) == 0.0, 1.0, (success + dropped))
| extend retry_to_attempt_ratio = retry / iff((success + dropped) == 0.0, 1.0, (success + dropped))
| order by timestamp asc
// Dropped items by reason
let window = 14d;
let g = 1h;
customMetrics
| where timestamp >= ago(window)
| where name == "preview.item.dropped.count"
| extend drop_reason = tostring(customDimensions["drop.reason"])
| summarize dropped = sum(todouble(value)) by bin(timestamp, g), drop_reason
| order by timestamp asc
메트릭 탐색기
메트릭에서 이러한 SDK 통계를 차트 로 표시합니다.
- Application Insights 리소스를 엽니다.
- 메트릭을 엽니다.
- 메트릭 네임스페이스의 경우 로그 기반 메트릭을 선택합니다.
-
메트릭의 경우 다음 중 하나를 선택합니다.
preview.item.success.countpreview.item.dropped.countpreview.item.retry.count
- (선택 사항) 시간 단위 합계에 대해 집계를 합계로 설정합니다.
-
분할 기준을 사용하여 조사합니다. 일반적인 분할:
- 드롭.이유, 드롭.코드
- telemetry_type, sdkVersion
- cloud_RoleName, cloud_RoleInstance
SDK 통계 수는 로그와 어떻게 다른가요?
이러한 카운터가 requests 또는 dependencies 같은 테이블의 항목 수와 같을 것으로 기대해서는 안 됩니다. 차이는 다음과 같은 여러 가지 이유로 발생합니다.
- 집계 타이밍입니다. 통계는 간격 및 일괄 처리에 대해 집계됩니다. 로그는 개별 항목을 저장하므로 다양한 시간 단위에서 개수가 달라질 수 있습니다.
- 샘플링 및 프로세서입니다. 통계는 SDK가 샘플링을 적용한 후의 항목 수와 원격 분석을 삭제하거나 수정하는 모든 프로세서 수를 계산합니다. 로그는 수집 엔드포인트가 수락한 내용을 반영합니다.
- 부분 성공입니다. 수집 엔드포인트는 일괄 처리의 일부를 수락하고 나머지는 거부할 수 있습니다. 내보내기 도구는 동일한 간격에서 허용된 항목을 성공으로, 거부된 항목을 삭제됨으로 기록합니다.
- 로컬 버퍼링입니다. 내보내기 도구가 다시 시도하면 나중에 버퍼링된 항목을 보낼 수 있습니다. 통계가 삭제, 다시 시도 또는 성공한 개수를 할당하는 시간이 항상 원래 원격 분석의 이벤트 시간과 일치하지는 않습니다.
- 할당량 또는 일일 한도 초과입니다. 리소스가 일일 한도를 초과하면 수집 엔드포인트가 오류를 반환하고 내보내기 도구가 삭제를 기록합니다. 해당 애플리케이션 원격 분석은 상한 기간 동안 로그에 표시되지 않습니다.
- Scope. 통계는 내보내기 도구의 동작을 다룹니다. 로그는 내보내기 도구의 성공에 영향을 주지 않는 필드를 포함하여 엔드투엔드 원격 분석을 다룹니다.