이 대시보드 및 알림 모음을 사용하면 Google Home 생태계와 고품질 통합을 사전에 유지할 수 있습니다. Google은 모든 고객을 위한 고품질 생태계를 개발하는 파트너를 지원하기 위해 최선을 다하고 있습니다.
대시보드에는 세 개의 섹션이 있으며 각 섹션은 전체 통합의 품질에 기여하는 주요 부분을 다룹니다.
Google to Partner 측정항목 - Google에서 클라우드 백엔드로의 호출 상태를 측정합니다.
시스템 상태 - Partner to Google 측정항목 - 시스템에서 Google로의 호출 상태를 측정합니다.
기기 상태 - 상태 정확도 - 사용자 쿼리를 제공하는 데 사용되는 Google 시스템에 저장된 상태의 정확도를 측정합니다.
측정항목이 목표 값을 충족하지 않으면 사용자 환경에 영향을 미칠 수 있는 문제를 나타내기 위해 빨간색으로 강조 표시됩니다. 다음 정보는 각 목표와 사용자가 목표를 중요하게 생각하는 이유에 관한 세부정보를 제공합니다.
다음 버튼을 클릭해도 대시보드로 바로 이동하지 않는 경우 개요 페이지를 선택하고 대시보드 를 선택한 다음 내 대시보드 목록에서 Google Home Vitals 대시보드 (클라우드) 를 선택하여 대시보드로 이동할 수 있습니다.
Google to Partner 측정항목
쿼리/실행 성공률 >= 99.5% 측정항목은 사용자의 명령어가 올바르게 실행되는 빈도를 측정하여 '기기에 연결할 수 없습니다'와 같은 어시스턴트 응답을 방지하거나 실행되지 않은 명령어를 잘못 확인하는 데 도움이 됩니다.
'성공'이란 무엇인가요?
Google Home 플랫폼에서 의도한 작업이 실행되었음을 나타내는 유효한 응답을 수신하거나 요청된 상태가 검색되면 트랜잭션이 성공으로 표시됩니다.
실행을 차단하지 않는 예외 (예: lowBattery 예외와 함께 SUCCESS 상태)가 포함된 응답은 성공적인 트랜잭션으로 계산됩니다.
경고에도 불구하고 명령어가 기기에 도달하고 인텐트가 충족되었습니다.
'실패'란 무엇인가요?
일반적인 플랫폼 오류 코드 에서 발견된 오류 중 파트너가 조치를 취할 수 있음으로 표시된 오류는 QUERY 및 EXECUTE 성공률을 계산할 때 "실패"로 간주됩니다. 또한 오류 및 예외에서 발견된 오류도 "실패"입니다. 단, 다음과 같은 예외가 있습니다.
| 실패 예외 | ||
|---|---|---|
| aboveMaximumLightEffectsDuration | armLevelNeeded | inOffMode |
| alreadyArmed | bagFull | lockedToRange |
| alreadyAtMax | belowMinimumLightEffectsDuration | lowBattery |
| alreadyAtMin | binFull | maxSpeedReached |
| alreadyClosed | cancelArmingRestricted | minSpeedReached |
| alreadyDisarmed | deadBattery | notSupported |
| alreadyDocked | degreesOutOfRange | offline |
| alreadyInState | deviceJammingDetected | percentOutOfRange |
| alreadyLocked | deviceNotMounted | rangeTooClose |
| alreadyOff | deviceNotReady | relinkRequired |
| alreadyOn | deviceOffline | remoteSetDisabled |
| alreadyOpen | deviceTurnedOff | safetyShutOff |
| alreadyPaused | discreteOnlyOpenClose | targetAlreadyReached |
| alreadyStarted | functionNotSupported | tooManyFailedAttempts |
| alreadyStopped | inAutoMode | valueOutOfRange |
| alreadyUnlocked | inEcoMode |
쿼리/실행 지연 시간(p90) <= 1,000ms 측정항목은 요청된 작업 대기 시간을 측정하여 사용자가 너무 오래 기다리지 않도록 합니다(예: 조명이 꺼질 때까지 몇 초 동안 기다림).
지연 시간 측정항목
지연 시간은 통합이 최종 사용자에게 얼마나 빠르게 반응하는지를 나타내는 중요한 지표입니다. 대시보드는 '가장 느린' 사용자의 환경을 나타내는 90번째 백분위수 (P90) 지연 시간을 추적합니다 (예: P90이 800ms인 경우 요청의 90% 가 800ms 이내에 승인됨).
Google은 기술적 정확성을 보장하기 위해 상태 확인과 기기 명령어의 지연 시간을 다르게 측정합니다.
1. QUERY 지연 시간 (의문)
이는 Google에서 기기의 현재 상태를 요청할 때 Cloud-to-cloud 왕복 시간을 측정합니다.
- 시작: Google에서
action.devices.QUERY요청을 실행 URL로 전달합니다. - 측정 기간: 클라우드가 전체 HTTP 응답을 수신, 처리, Google로 다시 전송하는 데 걸리는 시간입니다.
- 종료: Google에서 서비스의 최종 응답 페이로드를 수신하고 승인합니다.
2. EXECUTE 지연 시간 (작업)
이는 Google에서 기기에 제어 요청을 보낼 때 명령어 승인 시간을 측정합니다.
- 시작: Google에서
action.devices.EXECUTE요청을 실행 URL로 전달합니다. - 측정 기간: 클라우드가 명령어를 수신하고 승인 응답을 반환하는 데 걸리는 시간입니다.
- 종료: Google에서
SUCCESS,PENDING또는OFFLINE상태 응답을 수신합니다. - 기술 범위: 이 측정항목은 Google Cloud와 파트너 클라우드 간의 '응답 승인' 시간을 측정합니다. 물리적 하드웨어 (예: 전구)가 물리적 상태 변경을 완료하는 데 걸리는 시간은 측정하지 않습니다. 이는 클라우드 간 경로 외부의 로컬 메시 네트워크 지연 시간이 포함되는 경우가 많기 때문입니다.
지연 시간 감소 옵션
지리적 라우팅을 위한 아키텍처 권장사항
Anycast IP 구현이 불가능한 경우 사용자가 가장 가까운 리전 데이터 센터에서 서비스를 제공받을 수 있도록 다음과 같은 비용 효율적인 대안을 사용하는 것이 좋습니다.
전역 부하 분산 (GLB)
정적 라우팅 대신 전역 애플리케이션 부하 분산기(대부분의 주요 클라우드 제공업체에서 사용 가능)를 사용합니다.
작동 방식: 네트워크 에지에 있는 단일 전역 진입점 (URL)을 구성합니다. 부하 분산기는 Google의 실행 클러스터에서 요청의 지리적 출처를 자동으로 감지하고 트래픽을 가장 가까운 리전의 정상 백엔드로 라우팅합니다.
이점: 구성 복잡성과 비용이 훨씬 낮은 Anycast의 성능을 제공합니다.
지리적 위치 인식 DNS (GeoDNS)
작동 방식: DNS 쿼리의 지리적 위치에 따라 실행 URL을 여러 IP 주소로 확인하도록 DNS 제공업체를 구성합니다.
구현: DNS 제공업체가 Google의 이그레스 지점에 최적화되어 있는지 확인합니다. Google의 리전 실행 서비스 (예: 미국, 유럽 또는 아시아)가 도메인을 확인하면 해당 특정 리전의 데이터 센터 IP 주소를 수신합니다.
애플리케이션 레이어의 최적화 전략
인프라 수준 라우팅 외에도 애플리케이션 레이어에서 다음 전략을 구현하여 요청 처리의 지연 시간을 줄일 수 있습니다.
'트램펄린' 프록시 메서드
기본 데이터 센터를 유지해야 하는 경우 리전 경량 프록시 서버 (트램펄린)를 사용하여 초기 핸드셰이크를 처리합니다.
Google에서 전역 URL을 방문합니다.
리전 프록시 (예: 경량 Nginx 또는 Lambda 함수)가 요청을 수신합니다.
프록시는 내부 고속 백본을 통해 페이로드를 기본 데이터베이스로 전달합니다.
이점: 이렇게 하면 장거리 요청의 지연 시간에 가장 큰 영향을 미치는 'TCP 핸드셰이크' 시간이 줄어듭니다.
액세스 토큰 리전 힌트
계정 연결 (OAuth) 프로세스 중에 시스템에서 사용자의 홈 리전을 식별할 수 있습니다.
구현: Google에 발급된
access_token에 리전 식별자를 인코딩합니다. Google에서 실행 요청을 보내면 게이트웨이가 데이터베이스 조회를 하지 않고도 토큰을 즉시 검사하고 요청을 올바른 리전 클러스터로 라우팅할 수 있습니다.
시스템 상태 - Partner to Google 측정항목
성공률 >= 99.5%를 유지하면 Google Home에서 기기 상태가 올바르고, 기기가 추가 및 삭제되고, 자동화가 트리거되고, 기록 이벤트가 Google Home app (GHA)의 활동 탭에 표시됩니다.
성공률은 클라우드가 상태 업데이트를 푸시할 때 Google에서 반환하는 HTTP 응답 코드를 기반으로 계산됩니다. 파트너가 Google 측 인프라 문제로 인해 불이익을 받지 않도록 하기 위해 측정항목은 실패 횟수에서 Google 내부 오류를 제외합니다. 계산에 포함된 API 호출은 HomeGraph API 참조에서 확인할 수 있습니다.
'성공'이란 무엇인가요?
- 2xx (성공): 상태 업데이트가 Home Graph에서 성공적으로 수신 및 처리되었습니다.
'실패'란 무엇인가요?
- 4xx (파트너 오류): 이는 실패를 나타내며 클라우드에서 전송된 요청에 문제가 있음을 나타냅니다. 일반적인 코드는 다음과 같습니다.
- 400 잘못된 요청: 서버에서 잘못된 구문으로 인해 요청을 처리할 수 없습니다. 일반적인 원인으로는 잘못된 JSON 또는 문자열 값에 "" 대신 null을 사용하는 것이 있습니다.
- 404 찾을 수 없음: 요청된 리소스를 찾을 수 없습니다. 일반적으로 이는 Google에서 요청된 기기를 찾을 수 없음을 의미합니다. 사용자 계정이 연결되지 않았거나 잘못된
agentUserId가 수신되었음을 의미할 수도 있습니다.agentUserId가 SYNC 응답에 제공된 값과 일치하고DISCONNECT인텐트를 올바르게 처리하고 있는지 확인합니다. - 429 리소스 소진: 통합이 할당된 할당량을 초과했습니다. 할당량 관리는 대시보드의 '1단계' 섹션에 있는 안내를 참고하세요.
기기 상태 - 상태 정확도
상태 정확도 >= 99.5% 를 충족하거나 초과하면 사용자가 기기 상태를 보거나 Home에게 물어보기 등의 AI 기능을 사용할 때 올바른 결과를 볼 수 있습니다. 상태 정확도가 낮으면 자동화가 실행되지 않고 기록 항목이 GHA의 활동 탭에 적시에 표시되지 않을 수 있습니다. 자세한 내용은 상태 보고를 참고하세요.
품질 대시보드는 두 가지 고유한 측정항목인 전반적인 정확도 및 가장 낮은 유형/특성 조합 을 사용하여 시간별로 이를 추적합니다.
1. 정확도 구성요소
이 측정항목은 Google에서 알려진 인텐트 결과에 대해 보고된 상태를 확인할 수 있는 '샘플'에서 파생됩니다.
2. 대시보드 측정항목 (시간별 계산)
대시보드는 1시간 간격 을 기준으로 정확도를 계산합니다. 시간당 총 샘플 수가 100개 미만인 경우 (S_Total < 100) 해당 시간의 정확도는 해당 없음 으로 설정됩니다.
뷰 1: 전반적인 정확도 (전역 평균)
이는 모든 기기 유형과 특성을 결합한 통합의 총 정확도를 나타냅니다. 전체 생태계 상태의 가중 평균을 제공합니다.
- 계산: 모든 기기의 총 상태 정확도 / 모든 기기의 총 상태
뷰 2: 가장 낮은 유형/특성 조합
이는 통합에서 가장 신뢰할 수 없는 특정 카테고리를 식별합니다. 고품질의 대용량 기기가 저품질의 소용량 기기를 숨기는 것을 방지합니다. 예를 들어 상태 정확도가 99.5% 를 초과하는 조명이 많지만 상태 정확도가 낮은 스위치가 적은 경우 평균 값에서 손실될 수 있는 스위치에 필요한 개선사항을 강조 표시합니다.
- 계산: 모든 트레이트 / 기기 조합의 상태 정확성/상태 총계의 최솟값