概述
GraphOS为我们提供了可观测性工具来监视超级图的运行状况和性能。这些工具有助于了解我们的超级图的使用方式,这有助于我们继续对其进行改进。
在本课中,我们将
- 通过操作和字段指标来探索超级图见解GraphOS
- 了解如何设置客户端感知以指示哪个操作是由哪个客户端发送的
向超级图发送(模拟)流量
我们仍处于教程阶段,因此任何真实流量并未传输到我们的 超图。除非你先前已经继续并与其他人共享了你的 API,否则加油!
让我们继续进行,在此处获取一些数字,以便我们了解如果 拥有更多流量时的情况。
以下代码沙箱包含一个脚本,该脚本获取一个 超图 URL,并在一段时间内向该 URL 发送请求。我们将使用该脚本向我们的超图发送虚假流量。
继续并输入你的 URL(你可以在 超图的 README 页面顶部找到该 URL)。然后,按按钮以触发脚本!
注意:目前我们的 Poetic Plates API 没有任何针对恶意查询或拒绝服务 (DoS) 攻击的保护。在未来的课程中,我们将介绍更多为 超图提供安全性的技术。在此期间,你可以 查看阿波罗技术说明,了解关于该主题的更多信息,以便了解更多关于速率限制、设置超时、分页等信息。
我们现在可以深入讨论我们的 超级图指标!
操作指标
回到我们的 超级图指标所在的 Studio 中。首先,我们查看 见解页面。
操作选项卡提供 操作请求速率、服务时间和错误百分比的概述,包括具体的操作,可能值得深入探讨。
我们建议客户清楚地命名发送到 超级图的每个 GraphQL 操作,以便我们轻松地在指标中查看它们。
我们还可以筛选以选择特定的 操作,以查看有关其用法的更具体详细信息,以及它的签名,也就是 查询的结构形式。我们可以看到已提出的请求数量以及每个请求历时多长时间。
字段指标
接下来,我们查看 字段指标。切换到 字段选项卡。
在每个 字段旁边,我们看到 请求操作的总数,即在给定期间包含了特定 字段的所有 操作数。
注意:还有另一种类型的指标,称为字段执行。要查看此指标,您需要向超图发送
再次,我们可以深入了解。单击某个字段以导航至详细视图。
我们可以同时使用操作和字段指标来监控我们超图的类型和字段的运行状况和使用情况,并根据它们的性能和客户端使用它们的方式确定可以从哪里开始改进。
客户端感知
客户端感知是GraphOS的另一项强大功能。在客户端页面上,我们可以查看每个客户端如何使用我们的超图,例如它们请求最多的操作,它们遇到的任何问题以及它们正在使用的字段。访问客户端特定指标非常酷,因为它可以让我们随时了解何时弃用或优化某些字段。
对于操作和字段指标,当您深入研究某个特定操作或字段时,您还可以看到客户端使用信息。
要启用客户端感知,客户端应在其请求中发送两个特定的 HTTP 标头:apollographql-client-name
和apollographql-client-version
。
注意:客户端版本指标仅在 企业计划中可用。
我们建议鼓励所有下游客户端在每次请求中都包含这些特定于客户端的标头。此信息将显示在 GraphOS中,以便我们可以准确了解请求的来源。
注意:如果您正在使用 Apollo Client,您可以在实例化 ApolloClient
类时添加 name
和 version
属性。您可以 阅读 Apollo 文档获取代码片段示例。
练习
要点
- 操作指标概述了特定时间段内或特定操作中的操作请求速度、服务时间和错误百分比。
- 字段指标包括请求 操作指标,其中列出了指定时间段中包含特定字段的操作数量。
- 要在 GraphOS 中设置客户端感知指标,
apollographql-client-name
和apollographql-client-version
应包含这些标题之一。
下一步
现在,我们配备了有用的可观察性工具,可以随着越来越多的客户端开始使用,让我们得以了解我们的 超图。说到客户端,让我们利用 云路由器 中的一个很酷的功能来改善客户端 查询体验。
分享你对这一课程的问题和评论
你的反馈有助于我们改进!如果你陷入困境或感到困惑,请告诉我们,我们会帮助你。所有评论都是公开的,并且必须遵循 Apollo 行为准则。请注意,已解决或已解决的评论可能会被删除。
你需要一个 GitHub 帐户才可以在下面发帖。没有吗? 改在我们的 Odyssey 论坛中发帖。