借助这套信息中心和提醒,您可以主动维护与 Google Home 生态系统的高质量集成。Google 致力于帮助合作伙伴为所有客户开发高质量的生态系统
该信息中心包含三个部分,每个部分都涵盖了对整体集成质量有贡献的关键部分。
Google 到合作伙伴的指标 - 衡量从 Google 到 您的云后端的调用的运行状况。
系统运行状况 - 合作伙伴到 Google 的指标 - 衡量从您的系统到 Google 的调用的运行状况。
设备运行状况 - 状态准确率 - 衡量存储在 Google 系统中的状态的准确率,这些状态用于处理用户查询。
如果指标未达到目标值,则会以红色突出显示,以表明存在可能会影响用户体验的问题。以下信息详细介绍了每个目标及其对用户的重要性。
如果点击以下按钮后没有直接进入信息中心,您可以依次选择概览 页面、信息中心 ,然后在我的信息中心 列表中选择 Google Home Vitals 信息中心(云端) 以查看您的信息中心。
Google 到合作伙伴的指标
查询/执行成功率 >= 99.5% 指标衡量用户命令正确执行的频率,有助于避免 Google 助理响应“我无法访问该设备”或错误地确认未执行的命令。
“成功”的定义是什么?
如果 Google Home 平台收到有效响应,表明预期操作已执行或请求的状态已检索,则交易会被标记为成功。
包含非阻塞异常的响应(例如,SUCCESS 状态伴有 lowBattery 异常)会被计为成功的交易。
尽管有警告,但命令已到达设备,并且 intent 已满足。
“失败”的定义是什么?
在计算 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) <= 1000 毫秒 指标衡量请求的操作等待时间,有助于确保用户不必等待太长时间,例如等待几秒钟即可关闭灯。
延迟时间指标
延迟时间是衡量集成对最终用户响应速度的关键指标。该信息中心会跟踪第 90 个百分位 (P90) 延迟时间,该延迟时间代表“最慢”用户的体验(例如,P90 为 800 毫秒表示 90% 的请求在 800 毫秒或更短的时间内得到确认)。
Google 会针对状态检查和设备命令以不同的方式衡量延迟时间,以确保技术准确性。
1. QUERY 延迟时间(疑问)
此指标衡量 Google 请求设备当前状态时的 Cloud-to-cloud 往返时间。
- 开始:Google 向您的执行方式网址调度
action.devices.QUERY请求。 - 衡量时间范围:您的云接收、处理完整 HTTP 响应并将其传回 Google 所用的时间。
- 结束:Google 接收并确认来自您服务的最终响应载荷。
**2. EXECUTE 延迟时间(操作)
此指标衡量 Google 向设备发送控制请求时的命令确认时间。
- 开始:Google 向您的执行方式网址调度
action.devices.EXECUTE请求。 - 衡量时间范围:您的云接收命令并返回确认响应所用的时间。
- 结束:Google 收到
SUCCESS、PENDING或OFFLINE状态响应。 - 技术范围:此指标衡量 Google 的云和您的云之间的“响应确认”时间。它不衡量物理硬件(例如灯泡)完成物理状态更改所用的时间,因为这通常涉及云到云路径之外的本地网状网络延迟。
减少延迟时间的选项
地理位置路由的架构建议
如果 Anycast IP 实现不可行,我们建议采用以下经济高效的替代方案,以确保用户由最近的区域数据中心提供服务。
全球负载均衡 (GLB)
使用 Global Application Load Balancer (大多数主要云提供商都提供此服务),而不是使用静态路由。
工作原理 :您配置一个位于网络边缘的全局入口点 (网址)。负载平衡器会自动检测来自 Google 执行方式集群的请求的地理来源,并将流量路由到最近的区域运行状况良好的后端。
优势 :这提供了 Anycast 的性能,但配置复杂性和费用显著降低。
地理位置感知型 DNS (GeoDNS)
工作原理 :将 DNS 提供商配置为根据 DNS 查询的地理位置将执行方式网址解析为不同的 IP 地址。
实现 :确保您的 DNS 提供商针对 Google 的出口点进行了优化。当 Google 的区域执行方式服务(例如,在美国、欧盟或亚洲)解析您的网域时,它们将收到该特定区域中数据中心的 IP 地址。
应用层的优化策略
除了基础架构级路由之外,您还可以在应用层实现以下策略,以减少请求处理中的延迟时间。
“Trampoline”代理方法
如果您必须维护主数据中心,请使用区域轻量级代理服务器 (Trampolines) 来处理初始握手。
Google 访问您的全局网址。
区域代理(例如,轻量级 Nginx 或 Lambda 函数)接收请求。
代理通过内部高速主干网将载荷转发到主数据库。
优势 :这缩短了“TCP 握手”时间,而这通常是长距离请求延迟时间的最大贡献者。
访问令牌区域提示
在帐号关联 (OAuth) 过程中,您的系统可以识别用户的家庭区域。
实现 :将区域标识符编码到向 Google 发布的
access_token中。当 Google 发送执行方式请求时,您的网关可以立即检查令牌并将请求路由到正确的区域集群,而无需进行数据库查找。
系统运行状况 - 合作伙伴到 Google 的指标
保持 成功率 >= 99.5% 有助于确保 Google Home 中的设备状态 正确、设备已添加和移除、自动化操作已触发, 并且历史记录事件显示在 Google Home app (GHA) 的“活动”标签页中。
成功率是根据您的云推送状态更新时 Google 返回的 HTTP 响应代码计算得出的。为确保合作伙伴不会因 Google 端的基础架构问题而受到处罚,该指标会将 Google 内部错误从失败计数中排除。计算中包含的 API 调用可在 HomeGraph API 参考文档中找到。
“成功”的定义是什么?
- 2xx(成功):Home Graph 已成功接收并处理状态更新。
“失败”的定义是什么?
- 4xx(合作伙伴错误):这些错误表示失败,并表明从您的云发送的请求存在问题。常见代码包括:
- 400 Bad Request:由于语法无效,服务器无法处理请求。常见原因包括 JSON 格式错误,或针对字符串值使用 null 而非 ""。
- 404 Not Found:找不到请求的资源。通常情况下,这意味着 Google 找不到请求的设备。这也可能意味着用户帐号未关联,或收到了无效的
agentUserId。确保agentUserId与 SYNC 响应中提供的值一致,并且您正确处理DISCONNECTintent。 - 429 Resource Exhausted:您的集成已超出分配的配额。 如需了解配额管理,请参阅信息中心中“第 1 步”部分中的说明。
设备运行状况 - 状态准确率
达到或超过 状态准确率 >= 99.5% 有助于确保用户在查看设备状态或使用 AI 功能(例如“智能管家”)时看到正确的结果。如果状态准确率较低,自动化操作可能不会触发,并且历史记录条目可能不会 及时显示在 GHA's 的“活动”标签页中。如需了解详情,请参阅报告状态。
质量信息中心会使用两个不同的指标(总体准确率 和最低类型/特征组合 )每小时跟踪此指标。
1. 准确率组成部分
该指标源自“样本”,Google 可以根据已知的 intent 结果验证报告的状态。
2. 信息中心指标(每小时计算)
信息中心会根据 1 小时的时间间隔 计算准确率。如果一小时内的总样本数少于 100 (S_Total < 100),则该小时的准确率将设置为 N/A 。
视图 1:总体准确率(全球平均值)
这表示您的集成在所有设备类型和特征组合中的总体准确率。它提供了整个生态系统运行状况的加权平均值。
- 计算方式:所有设备的总状态准确率 / 所有设备的总状态数 。
视图 2:最低类型/特征组合
这会识别集成中最不可靠的特定类别。它可以防止高质量的大批量设备隐藏低质量的小批量设备。例如,如果您有大量灯具的状态准确率高于 99.5%,但少量开关的状态准确率较低,则这会突出显示开关需要改进,而这些改进可能会在平均值中丢失。
- 计算方式:所有特征 / 设备 组合的状态准确率/状态总数的最小值。