按客户端分段指标
了解不同客户端如何使用您的图
在 GraphOS Studio 中,您可以通过不同的客户端查看 GraphQL 操作指标,如您的 Web、iOS 和 Android 应用程序。随着您创建更多消费您 supergraph 的客户端,这个功能,称为 客户端感知,变得越来越有用。
ⓘ 注意
要启用客户端感知,您的客户端必须在其对 router 的请求中进行自我识别。了解如何操作。
GraphOS 企业版 组织可以进一步按单个客户端版本(operation)进行操作指标细分,比如 1.0
、1.1
等)。这有助于您跟踪新版本的采用情况,并确定可以安全弃用或停止支持的老版本。
您可以从 variant 的 客户端 页面在 Studio 中查看这些客户端分段指标:
ⓘ 注意
如果某个客户端在其请求中没有进行自我识别,其指标将被包括在 未识别客户端 类别中。
设置
您的 supergraph's router 会检查每个传入 operation 请求中是否有以下 HTTP 标头:
apollographql-client-name
apollographql-client-version
- 在 Studio 中按客户端版本细分指标需要 GraphOS 企业版计划。您可以根据自己的计划类型安全地将此头包括在请求中。
如果存在一个或两个这些头,您的 router 会自动提取其值并将它们包括在发送到 GraphOS 的指标数据中。
如果您使用的是 Apollo Client,您可以通过在 ApolloClient
构造函数中提供 name
和 version
选项来自动为每个 operation 请求填充这些头:
import {ApolloClient} from 'apollo-client';import {HttpLink} from 'apollo-link-http';const client = new ApolloClient({link: new HttpLink({uri: 'https://127.0.0.1:4000/graphql'}),name: 'web',version: '1.0'});
如果您使用的是其他 GraphQL 客户端,请查阅其文档以了解如何将自定义 HTTP 标头添加到每个发出的请求中。
常见用例
诊断客户端特定问题
通过根据客户端(和具有企业版功能的客户端版本)对 图 的指标进行筛选,您可以在一个操作的高失败率与特定客户端相关联时识别出来。这有助于您确定根本原因并向受影响的客户端推送更新。
安全地弃用、更改和删除字段
在您的架构中修改或删除现有 字段 通常是使用该字段的所有客户端的破坏性更改。客户端意识使您能够了解哪些客户端在架构中使用哪些字段,从而确定此类更改的影响。
后端切换
架构的更改通常伴随着后端的更改,例如添加新的 解析器,或者甚至完全新的 数据源。当您部署新版本的客户端,该客户端针对这些新资源执行 操作 时,监测操作以检测问题至关重要。查看针对新客户端版本特定的指标有助于您快速识别和解决这些问题。