Google Home Vitals (Cloud)

Ten zestaw paneli i alertów pomaga aktywnie utrzymywać wysoką jakość integracji z ekosystemem Google Home. Google dokłada wszelkich starań, aby wspierać partnerów w tworzeniu ekosystemu wysokiej jakości dla wszystkich klientów.

Panel ma 3 sekcje, z których każda obejmuje kluczowy element wpływający na jakość ogólnej integracji.

  1. Dane Google dotyczące partnera – mierzy stan połączeń z Google do Twojego zaplecza w chmurze.

  2. Stan systemu – dane partnera a dane Google – mierzy stan połączeń z Twojego systemu do Google.

  3. Stan urządzenia – dokładność stanu – mierzy dokładność stanów przechowywanych w systemach Google, które są używane do obsługi zapytań użytkowników.

Gdy dane nie osiągają wartości docelowych, są wyróżniane na czerwono, aby wskazać problem, który może mieć wpływ na wrażenia użytkowników. Poniższe informacje zawierają szczegóły dotyczące każdego celu i wyjaśnienie, dlaczego jest on ważny dla użytkowników.

Jeśli poniższy przycisk nie przekieruje Cię bezpośrednio do panelu, możesz go otworzyć, klikając kolejno Przegląd, Panele, a następnie na liście Moje panele wybierając panel Google Home Vitals (Cloud).

Otwórz Panel

Dane od Google do partnera

Wskaźnik Odsetek prawidłowo wykonanych zapytań ≥ 99,5% mierzy, jak często polecenia użytkowników są prawidłowo wykonywane, co pomaga uniknąć odpowiedzi Asystenta, takich jak „Nie mogę się połączyć z urządzeniem”, lub nieprawidłowego potwierdzania polecenia, które nie zostało wykonane.

Co oznacza „Sukces”?

Transakcja jest oznaczana jako zakończona, jeśli platforma Google Home otrzyma prawidłową odpowiedź wskazującą, że zamierzone działanie zostało wykonane lub żądany stan został pobrany.

Odpowiedzi, które zawierają wyjątki nieblokujące (np. stan SUCCESS z wyjątkiem lowBattery), są liczone jako udane transakcje. Polecenie dotarło do urządzenia i intencja została zrealizowana pomimo ostrzeżenia.

Co oznacza „niepowodzenie”?

Błędy znalezione w sekcji Typowe kody błędów platformy, które są oznaczone jako Wymagające działania ze strony partnera, są traktowane jako „Niepowodzenia” podczas obliczania wskaźników powodzenia ZAPYTANIA i WYKONANIA. Dodatkowo błędy znalezione na stronie Błędy i wyjątki są również „niepowodzeniami”, z wyjątkiem tych:

Wyjątki dotyczące błędów
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 remoteSetDisabled
alreadyOn deviceOffline safetyShutOff
alreadyOpen deviceTurnedOff targetAlreadyReached
alreadyPaused discreteOnlyOpenClose tooManyFailedAttempts
alreadyStarted functionNotSupported valueOutOfRange
alreadyStopped inAutoMode
alreadyUnlocked inEcoMode

Wartość Opóźnienie zapytania/wykonania (p90) <= 1000 ms mierzy czas oczekiwania na żądane działanie i pomaga zapewnić, że użytkownicy nie będą musieli zbyt długo czekać, np. kilka sekund na wyłączenie światła.

Dane o czasie oczekiwania

Opóźnienie to kluczowy wskaźnik tego, jak szybko integracja reaguje na działania użytkownika. Panel śledzi opóźnienie na 90 percentylu (P90), które odzwierciedla wrażenia „najwolniejszych” użytkowników (np. P90 na poziomie 800 ms oznacza, że 90% żądań jest potwierdzanych w ciągu 800 ms lub krótszym).

Google mierzy opóźnienie w przypadku sprawdzania stanu i poleceń urządzenia w inny sposób, aby zapewnić dokładność techniczną.

1. Czas oczekiwania na odpowiedź na zapytanie (interrogative)

Mierzy Cloud-to-cloud czas podróży w obie strony, gdy Google prosi o aktualny stan urządzenia.

  • Początek: Google wysyła action.devices.QUERY żądanie na adres URL realizacji.
  • Okres pomiaru: czas, jaki zajmuje Twojej chmurze otrzymanie, przetworzenie i przesłanie pełnej odpowiedzi HTTP z powrotem do Google.
  • Koniec: Google otrzymuje i potwierdza ostateczną odpowiedź z Twojej usługi.

2. Opóźnienie EXECUTE (działanie)

Mierzy czas potwierdzenia polecenia, gdy Google wysyła do urządzenia żądanie sterowania.

  • Początek: Google wysyła action.devices.EXECUTE żądanie na adres URL realizacji.
  • Okres pomiaru: czas potrzebny na odebranie polecenia przez chmurę i odesłanie odpowiedzi z potwierdzeniem.
  • Koniec: Google otrzymuje odpowiedź ze stanem SUCCESS, PENDING lub OFFLINE.
  • Zakres techniczny: ten wskaźnik mierzy czas „potwierdzenia odpowiedzi” między chmurą Google a Twoją chmurą. Nie mierzy czasu potrzebnego na zmianę stanu fizycznego sprzętu (np. żarówki), ponieważ często wiąże się to z opóźnieniem w lokalnej sieci typu mesh, które nie jest związane ze ścieżką chmura-chmura.

Opcje skracania czasu oczekiwania

Zalecenia architektoniczne dotyczące kierowania geograficznego

Jeśli wdrożenie adresu IP Anycast nie jest możliwe, zalecamy te ekonomiczne alternatywy, które zapewnią obsługę użytkowników przez najbliższe regionalne centrum danych.

  1. Globalne równoważenie obciążenia (GLB)

    Zamiast routingu statycznego używaj globalnego systemu równoważenia obciążenia aplikacji (dostępnego u większości głównych dostawców usług w chmurze).

    • Jak to działa: konfigurujesz jeden globalny punkt wejścia (adres URL), który znajduje się na brzegu sieci. Równoważenie obciążenia automatycznie wykrywa geograficzne pochodzenie żądania z klastrów realizacji Google i kieruje ruch do najbliższego regionalnego, działającego prawidłowo backendu.

    • Korzyść: zapewnia wydajność technologii Anycast przy znacznie niższym poziomie złożoności konfiguracji i kosztów.

  2. DNS z uwzględnianiem lokalizacji geograficznej (GeoDNS)

    • Jak to działa: skonfiguruj dostawcę DNS tak, aby rozpoznawał adres URL realizacji zamówienia na różne adresy IP w zależności od położenia geograficznego zapytania DNS.

    • Implementacja: upewnij się, że Twój dostawca DNS jest zoptymalizowany pod kątem punktów ruchu wychodzącego Google. Gdy regionalne usługi realizacji zamówień Google (np. w Stanach Zjednoczonych, UE lub Azji) rozpoznają Twoją domenę, otrzymają adres IP centrum danych w tym konkretnym regionie.

Strategie optymalizacji na warstwie aplikacji

Oprócz routingu na poziomie infrastruktury możesz wdrożyć na poziomie aplikacji te strategie, aby zmniejszyć opóźnienia w przetwarzaniu żądań:

  1. Metoda proxy „Trampoline”

    Jeśli musisz utrzymywać główne centrum danych, używaj regionalnych serwerów proxy o niewielkich wymaganiach (Trampolines) do obsługi początkowego uzgadniania połączenia.

    1. Google odwiedza Twój globalny adres URL.

    2. Żądanie jest odbierane przez serwer proxy regionalny (np. uproszczoną funkcję Nginx lub Lambda).

    3. Serwer proxy przekazuje ładunek przez wewnętrzną sieć szkieletową o dużej szybkości do podstawowej bazy danych.

    Korzyść: skraca to czas „uzgadniania TCP”, który często ma największy wpływ na opóźnienie w przypadku żądań na duże odległości.

  2. Wskazówki dotyczące regionu tokena dostępu

    Podczas procesu łączenia kont (OAuth) Twój system może określić region domowy użytkownika.

    Implementacja: zakoduj identyfikator regionu w access_token wydanym dla Google. Gdy Google wyśle żądanie realizacji, Twoja brama może natychmiast sprawdzić token i przekierować żądanie do odpowiedniego klastra regionalnego bez konieczności wyszukiwania w bazie danych.

Stan systemu – dane od partnera do Google

Utrzymywanie odsetka sukcesów na poziomie co najmniej 99,5% pomaga zapewnić, że stany urządzeń w Google Home są prawidłowe, urządzenia są dodawane i usuwane, automatyzacje są wywoływane, a zdarzenia historyczne pojawiają się na karcie Aktywność w Google Home app (GHA).

Współczynnik powodzenia jest obliczany na podstawie kodów odpowiedzi HTTP zwracanych przez Google, gdy Twoja chmura wysyła aktualizacje stanu. Aby mieć pewność, że partnerzy nie będą karani za problemy z infrastrukturą po stronie Google, w liczbie błędów nie uwzględniamy błędów wewnętrznych Google. Wywołania interfejsu API uwzględnione w obliczeniach znajdziesz w dokumentacji HomeGraph API.

Co oznacza „Sukces”?

  • 2xx (Sukces): aktualizacja stanu została odebrana i przetworzona przez Home Graph.

Co oznacza „niepowodzenie”?

  • 4xx (błąd partnera): te błędy oznaczają niepowodzenia i wskazują na problem z żądaniem wysłanym z Twojej chmury. Typowe kody to:
    • 400 Nieprawidłowe żądanie: serwer nie mógł przetworzyć żądania z powodu nieprawidłowej składni. Częstymi przyczynami są nieprawidłowy format JSON lub użycie wartości null zamiast „” w przypadku wartości ciągu znaków.
    • 404 – nie znaleziono: nie udało się znaleźć żądanego zasobu. Zwykle oznacza to, że Google nie może znaleźć urządzenia, które wysłało żądanie. Może to też oznaczać, że konto użytkownika nie jest połączone lub otrzymano nieprawidłowy agentUserId. Sprawdź, czy wartość agentUserId jest zgodna z wartością podaną w odpowiedzi SYNC i czy prawidłowo obsługujesz intencje DISCONNECT.
    • 429 Wyczerpanie zasobów: Twoja integracja przekroczyła przydzielony limit. Instrukcje zarządzania limitami znajdziesz w sekcji „Krok 1” w górnej części panelu.

Stan urządzenia – dokładność stanu

Spełnienie lub przekroczenie dokładności stanu >= 99,5% pomaga zapewnić użytkownikom wyświetlanie prawidłowych wyników podczas sprawdzania stanów urządzeń lub korzystania z funkcji AI, takich jak Pytanie do Home. Jeśli dokładność stanu jest niska, automatyzacje mogą się nie uruchamiać, a wpisy w historii mogą się nie pojawiać we właściwym czasie na karcie Aktywność GHA. Więcej informacji znajdziesz w artykule Stan raportu.

Panel jakości śledzi te dane co godzinę za pomocą 2 rodzajów danych: Ogólna dokładnośćNajniższa kombinacja typu/cechy.

1. Komponenty dokładności

Dane pochodzą z „próbek”, w przypadku których Google może zweryfikować zgłoszony stan na podstawie znanego wyniku intencji.

2. Dane w panelu (obliczane co godzinę)

Panel oblicza dokładność na podstawie godzinnego przedziału czasu. Jeśli w ciągu godziny liczba wszystkich próbek (S_Total) jest mniejsza niż 100, dokładność w tym okresie jest ustawiana na N/A.

Widok 1. Ogólna dokładność (średnia globalna)

Jest to łączna dokładność integracji na wszystkich typach urządzeń i w przypadku wszystkich cech. Zawiera on ważoną średnią kondycji całego ekosystemu.

  • Obliczenia: łączna dokładność stanu na wszystkich urządzeniach / łączna liczba stanów na wszystkich urządzeniach.

Widok 2. Najniższa kombinacja typu/cechy

Wskazuje to najbardziej zawodną kategorię w integracji. Zapobiega to ukrywaniu urządzeń o niskiej jakości przez urządzenia o wysokiej jakości, które generują duży ruch. Jeśli na przykład masz dużą liczbę świateł o dokładności stanu powyżej 99,5%, ale małą liczbę przełączników o niskiej dokładności stanu, wskazuje to na konieczność poprawy działania przełączników, co może być niewidoczne w wartości średniej.

  • Obliczenia: minimum dokładności stanu / łączna liczba stanów dla wszystkich kombinacji cech i urządzeń.