Radar
概述
Radar 是数据收集方法的支柱。Radar 使用嵌入在内容页面或应用程序提供商页面中的 JavaScript 脚本来收集有关数据中心或交付平台的性能和可用性的信息。
Radar 客户端是一个 JavaScript 应用程序,可在客户网页上和移动应用程序内运行。其核心用途是收集网络性能数据供 Openmix 用来推动智能路由决策,并提供可选插件以启用其他 NetScaler Intelligent Traffic Management 服务,例如页面加载时间、页面资源计时和视频播放指标。
Radar 客户端功能齐全,但轻巧且不显眼。该客户端等待大多数页面资源下载完毕后才执行其大部分工作,并且所有网络通信都尽可能以异步方式执行。这些说明指定了在会话期间接下来要测量的平台,这些平台是从社区平台和特定于该社区成员的任何私有平台中挑选出来的。它们还指出了要执行的测量类型,其中可能包括可用性、往返时间、吞吐量或其他指标集合。
为了使其尽可能小,编译该 JavaScript 时使用了 Google Closure Compiler 的高级优化功能。高级可选功能以插件形式提供,供客户选择使用。
Radar 社区
Radar 采用独特的基于社区的方法,为全球最大的公共基础结构(从云计算和存储到内容和应用程序交付网络)的全球性能和可用性提供了无与伦比的透明度。使用 Radar,客户可以快速查明对每位访客而言性能最佳和最差的平台。
Radar 是互联网的第一个云监控合作社。成为社区成员意味着可以不受限制地访问我们的历史报告数据库,包括按提供商、国家/地区和网络进行的细分。
成为 Radar 社区成员还会获得一套丰富的工具,用于捕捉内部和外部内容交付基础结构提供的服务级别。 Radar 的独特之处在于能够利用您的网站访客来评估他们将从企业当前未使用的平台上获得的体验。同样的方法可用于在云平台的整个生命周期中对其进行客观评估,包括相对于 SLA 对其性能进行持续评估。
通过向您的网页添加简单的 JavaScript 标记或向移动应用程序添加 SDK,客户可以将每位访客变成虚拟的“测试代理”。 Radar 通过以下方式触发基于设备的测量:下载参考对象,并比较网站或 Web 应用程序的实际最终用户所看到的内部和外部基础结构、数据中心、交付网络和云平台。
参与的主要好处
Radar 通过其监控和数据收集方法解决了多个 Web 交付难题。 加入 Radar 社区的主要好处是:
- 大规模的测试环境,每个网络的最终用户分布在每个位置(到目前为止,已识别的网络已超过 42,000 个)。
- 在试用前获得有关服务提供商的重要信息,以便做出更明智的决策。
- 透明地了解当前提供商的表现,以及他们在您有用户和没有用户的地理区域的行为。
- 重点关注对网络和移动用户有真正影响的指标(性能、可用性和 QoS)。
- 全球(190 多个国家/地区)可以不受限制地查看国家、网络、区域和州/省/市/自治区级别的信息。
- 真实、无偏见的数据,通过利用最终用户,Radar 数据是“真实世界”的信息,而不是合成的测试或最佳猜测。
- 所有用户都不一样:可以了解不同的计算机、连接和设备。
- 可以了解实际页面的性能。
基准
ITM Radar 提供了 3 个主要基准:
- 社区基准
- 私有基准
- 页面加载基准
CDN、云和数据中心的社区基准
社区测量是通过众包模型获得的,该模型为客户提供了全球地理和逻辑层面的供应商绩效和可用性视图。通过社区衡量,可以对最终用户的供应商体验质量进行比较,并允许在评估供应商和供应商的内容和应用程序分发时进行 “假设” 分析。通过使用众包模型,ITM 客户在评估和监控供应商绩效时获得了更高级别的数据粒度和质量,从而受益,即使在客户可能没有高密度用户或根本没有任何用户的地方也是如此。
测量本身使用位于不同云和 CDN 供应商的一组标准对象,最终用户在内容所有者的网站或应用程序上执行 Radar JavaScript 客户端或移动 SDK 逻辑时会下载这些对象。
然后,以下指标将被报告给 ITM,并显示在门户或 API 报告界面中:
- 可用性 — 对象是否加载。
- 响应时间 — 建立连接的所有干扰信息完成后,服务器需要多长时间来响应后续请求。这是从浏览器到提供程序的 TCP 往返时间 (RTT) 的近似值。
- 吞吐量 — 这是连接的数据速率,以千比特/每秒为单位,基于一个 100 KB 对象的检索进行测量。
私有基准
作为 Radar 标记部署的一部分,ITM 使客户能够创建自己的“基准”测试,这些测试由客户的访客进行测量。这可能适用于数据中心或他们自己的 CDN 和云合同。与社区基准测量一样,提供了相同的指标 – 可用性、响应时间和吞吐量,使客户能够有效地评估现有的内容交付策略。
这些私有信息仅供客户使用,不会共享。 示例用途包括:
- 他们自己的数据中心架构
- 使用他们自己的测试对象或页面
- 使用他们自己与特定供应商或一组供应商设定的合同和帐户
Radar 页面加载基准
在 Radar 中,ITM 使客户能够详细了解实施了该标记的页面的下载性能。ITM 提供的信息使您能够查看实际最终用户在与您的网页交互时所体验到的性能。这些数据是通过许多新版本浏览器支持的导航计时 API 提供的。
Radar 标记
可以使用 JavaScript 代码片段来集成 Radar 标记。要导航到 Radar 标记页面,请执行以下操作:
- 登录到 NetScaler Intelligent Traffic Management 门户。
- 从左侧导航菜单中,选择 Radar > Javascript 标记。
Radar 标记 页面随即打开。
如果您尚未配置 Radar 标记,则会在屏幕顶部看到一个橙色的水平条,告诉您未检测到 Radar 测量值。
如果此标记的配置不正确,也会出现此橙色条。
相反,如果 Radar 标记按预期工作,则您会看到一个绿色的水平条,告诉您已成功获得 Radar 测量值。
在此页面上,您可以选择适用于您的使用情况的标记版本并将其复制到剪贴板。
注意: 请勿更改此 JavaScript 代码片段。该代码包含重要信息,如果更改这些信息,可能会导致意外或不可靠的行为。
集成 Radar 标记
集成 Radar 标记相当简单。您只需要将下面的 JavaScript 代码片段之一添加到你的站点标记中。将其放在您要测量的页面的 HTML 中。我们建议您将其放在页面底部的结束正文标记 </body>
之前。
默认 Radar 标记
这是建议使用的 Radar 标记版本。此版本会等到加载事件完成后再下载并执行 Radar 客户端,从而确保加载事件不被中断。
<script>
if (typeof window.addEventListener === "function") {
window.addEventListener("load", function() {
if (window.cedexis === undefined) {
var radar = document.createElement("script");
radar.src = "//radar.cedexis.com/1/54621/radar.js"; // replace with user specific value
document.body.appendChild(radar);
}
});
}
</script>
<!--NeedCopy-->
此版本的标记可以防止 Radar 客户端的下载阻止页面的进一步解析,但会在加载事件触发之前执行该客户端。它主要用于使用的内容安全策略设置阻止使用内联 JavaScript 的客户。它也适用于使用视频 QoS 插件的客户,其中需要尽早加载 Radar 客户端。
<script src="//radar.cedexis.com/1/54621/radar.js" async></script>
<!--NeedCopy-->
最近的测量
最近的测量表允许您查看使用 Radar 进行的最新测量。
单击最近的测量按钮。它为您提供以下信息:
- 进行测量的日期和时间 (UTC)。
- 进行测量的国家/地区。
- 用于进行测量的平台。
- 平台的 ID。
- 测量类型,即连接时间(以毫秒为单位)、响应时间(以毫秒为单位)或吞吐量(以千比特/每秒为单位)
- 以毫秒为单位(对于连接时间和响应时间)或以千比特/每秒为单位(对于吞吐量)的实际测量值。
首次登录 ITM 门户时,Radar 测量栏也将出现在 Radar 仪表板页面中。
与移动应用程序的集成
与移动应用程序的集成是使用运行该 JavaScript 客户端的隐藏 Web 视图的包装器实现的。这样可以确保在浏览器和移动应用程序中收集的数据是一致的。
将 Radar 与 iOS 应用程序集成的说明 以下 GitHub 存储库包含用于将 Radar 与 iOS 应用程序集成的包装器代码和分步说明:
将 Radar 与 Android 集成的说明 Android Radar 是一个可以轻松地将 Radar 集成到 Android 应用程序中的客户端库。可以在这里找到它:
与 NetScaler 的集成
Radar 标记很重要,因为它为 Openmix 提供了测量值,使 Openmix 能够做出更好的路由决策。使用该标记的网页越多,路由决策就越好。
使用以下方法,您可以使用 NetScaler 将 Radar JavaScript 标记放入您的网页中。您可以使用命令行或 NetScaler 配置实用程序。
这些方法允许您在响应中注入 Radar 标记。要注入 Radar 标记,您需要使用重写。重写分为三个步骤:创建操作、配置策略和绑定策略。
命令行配置
命令行配置重写操作
模板:
add rewrite action <name> <type> <target> [<stringBuilderExpr>] [-pattern <expression> | -search <expression>] [-refineSearch <string>] [-comment <string>]
<!--NeedCopy-->
示例:
add rewrite action radar_tag action insert_after HTTP.RES.BODY(HTTP.RES.CONTENT_LENGTH).BEFORE_STR("</body>") '"<script async src=\\"//radar.cedexis.com/1/<customer_id>/radar.js\\"></script>"'
<!--NeedCopy-->
注意:请在显示了 <customer_id>
的位置插入您自己的客户 ID
命令行配置重写策略
模板:
add rewrite policy <name> <rule> <action> [<undefAction>] [-comment <string>] [-logAction <string>]
<!--NeedCopy-->
示例:
add rewrite policy radar_tag_policy HTTP.RES.HEADER("Content-Type").TO_LOWER.CONTAINS("text/html") radar_tag_action
<!--NeedCopy-->
命令行绑定重写策略
模板 1:
bind vpn vserver <name> [-policy <string> [-priority <positive_integer>] [-secondary] [-groupExtraction] [-gotoPriorityExpression <expression>] [-type <type>]] [-intranetApplication <string>] [-nextHopServer <string>] [-urlName <string>] [-intranetIP <ip_addr> <netmask> ] [-staServer <URL> [-staAddressType ( IPV4 | IPV6 )]] [-appController <URL>] [-sharefile <string>]
<!--NeedCopy-->
示例 1:
bind vpn vserver <name_of_vserver> -policy radar_tag_policy -type RESPONSE -priority 10
<!--NeedCopy-->
模板 2:
bind cs vserver <name> (-lbvserver <string> | -vServer <string> | (-policyName <string> [-targetLBVserver <string>] [-priority <positive_integer>] [-gotoPriorityExpression <expression>] [-type ( REQUEST | RESPONSE )] [-invoke (<labelType> <labelName>) ] ) | (-domainName <string> [-TTL <secs>] [-backupIP <ip_addr|ipv6_addr|*>] [-cookieDomain <string>] [-cookieTimeout <mins>] [-sitedomainTTL <secs>]))
<!--NeedCopy-->
示例 2:
bind cs vserver <name_of_vserver> -policyName radar_tag_policy -type RESPONSE -priority 10
<!--NeedCopy-->
模板 3:
bind lb vserver <name>@ (<serviceName>@ [- weight <positive_integer>]) | <serviceGroupName>@ | (- policyName <string>@ [-priority <positive_integer>] [- gotoPriorityExpression <expression>] [-type ( REQUEST | RESPONSE )] [-invoke (<labelType> <labelName>) ] )
<!--NeedCopy-->
示例 3:
bind lb vserver <name_of_vserver> -policyName radar_tag_policy -type RESPONSE -priority 10
<!--NeedCopy-->
模板 4:
bind rewrite global <policyName> <priority> [<gotoPriorityExpression>] [-type <type>] [-invoke (<labelType> <labelName>) ]
<!--NeedCopy-->
示例 4:
bind rewrite global radar_tag_policy 100 -type RES_DEFAULT
<!--NeedCopy-->
GUI 实用程序的配置
GUI 重写操作
-
从 NetScaler 配置页面上的左侧导航菜单中,导航到 AppExpert -> 重写 -> 重写操作
-
选择添加按钮。
-
在配置重写操作页面中,输入如示例所示的表达式。
-
在 Radar 脚本中,在标有
<customer_id>
的空白处输入您的客户 ID。 -
选择确定。您已完成重写操作的创建。
GUI 重写策略
-
从 NetScaler 配置页面上的左侧导航菜单中,导航到 AppExpert -> 重写 -> 重写策略
-
选择添加按钮。
-
在配置重写策略页面上,输入如示例所示的表达式。
-
单击创建。
您已完成重写策略的配置。
GUI 绑定重写策略
配置完策略后,最后一步是使用策略管理器来绑定策略。
-
转至重写策略页面。
-
选择您为 Radar 标记创建的重写策略。
-
转至策略管理器。
-
在策略管理器页面中,您可以通过执行以下操作来绑定策略。
- 对于绑定端口,您可以选择覆盖全局、VPN 虚拟服务器、内容交换虚拟服务器或负载平衡虚拟服务器。
- 对于协议,请选择 HTTP。
- 在连接类型中选择响应。
- 对于虚拟服务器,请使用您自己的虚拟服务器名称。
- 单击继续。
- 在下一页上,选择您之前创建的重写策略。
- 添加绑定详细信息。
- 单击绑定。
使用上述方法,您可以将 Radar 标记插入到您的网页中。但是,必须注意的是,这是一个基本的实现。可以进行进一步的过滤,以更好地控制已实施了该标记的页面。
Radar 标记配置
您可以在 Radar 标记配置页面上配置 Radar。
- 登录到 NetScaler Intelligent Traffic Management 门户。
- 从左侧导航菜单中,选择 Radar > 标记配置。
“Radar 标记配置”页面随即打开。在这里,您可以设置各种选项来自定义 Radar 测量。您可以对 Radar JavaScript 的参数进行自定义来调整计时和延迟元素;最终用户为社区和私有测量完成的测试数量;以及用于测量可用性的超时值,等等
下表提供的信息介绍了各个配置选项的用途以及每个选项的默认设置。进行更改时,请务必单击屏幕底部的更新 Radar 设置以应用更改。
功能 | 参数 | 说明 | 默认设置 |
---|---|---|---|
计时选项 | 启动延迟 | 页面 onLoad 事件与 Radar 开始记录导航计时数据之间的延迟(以秒为单位)。 | 2 秒 |
重复延迟 | 测量会话之间的延迟(以分钟为单位)。如果该值大于或等于 5,则 Radar 标记在每个重复延迟间隔后将进行更多测量。如果该值为 0,则 Radar 标记将不会进行任何额外测量。 | 5 分钟 | |
协议选项 | 始终允许私人 HTTPS 测量 | 允许 Radar 客户端进行 HTTPS 测量,甚至是从 HTTP 网站进行测量。 | 对具有与 Radar 客户端运行的页面匹配的 URL 协议的平台进行测量。 |
允许对 HTTPS 连接进行私有 HTTP 测量。 | 允许 Radar 客户端从 HTTPS 网站进行 HTTP 测量。 | 对具有与 Radar 客户端运行的页面匹配的 URL 协议的平台进行测量。 | |
采样率 | Radar 采样率 | 激活 Radar 标签以进行测量的页面的百分比。 | 已禁用 |
私有测量 | 每次页面加载的最大私有测量数 | Radar 将测量的每页加载量的最大私有平台数量。** | 自动 * |
最大私有吞吐量测量数 | 每页加载私有平台的最大吞吐量测量数量。** | 4 | |
社区测量 | 每页加载的最大社区测量 | Radar 将测量每页加载量的最大社区平台数量。** | 自动 * |
最大社区吞吐量测量 | 每页加载社区平台的最大吞吐量测量数量。** | 4 |
*“自动”表示 NetScaler Intelligent Traffic Management 根据最终用户的位置确定必须为某个会话测量多少个平台。对于数据稀疏的小型网络,我们尝试在每个会话中测量更多的平台,而对于数据密集的大型网络,则无需这样做。
**这是为每个会话尝试的最大测量次数。例如,Radar 可以在每个会话中测量 4 个私有平台,所有这些平台都配置为同时测量 RTT 和吞吐量。但是,如果“最大私有吞吐量测量数”设置为 2,则在测量前 2 个私有平台后,客户端将停止吞吐量测量。对于最后两个平台,它将只测量 RTT。
计时选项允许您设置 Radar 在开始测量之前必须等待的时间长度。
注意:启动延迟以秒为单位,而重复延迟以分钟为单位。
协议选项
通常,Radar 客户端仅测量符合以下条件的平台:其 URL 的协议与运行该客户端的页面的协议相匹配的平台。这些选项允许您在私有平台上覆盖该行为。例如,启用“始终允许私有 HTTPS 测量”允许客户端测量 http://example.com
中的 https://myprovider.com/r20.gif
,而“始终允许私有 HTTP 测量”则允许客户端测量 https://example.com
中的 http://myprovider.com/r20.gif
。
除极端用例外,通常必须避免使用这些选项。确保获得足够的私有测量密度的最佳方法是将您的平台配置为测量您在生产中实际使用的平台和协议(仅此而已),并在尽可能多的生产页面上部署 Radar 标记。我们有时将其称为“将 Radar 放在需要的地方。”
使用采样率,您可以设置要从中收集测量值的网页(被用户查看的)所占百分比。例如,如果您的网站每天的页面查看次数为 100,000,并且您设置了 5% 的采样率,那么 Radar 将仅从 100,000 次页面查看的 5% 中收集测量值。
私有测量
这些设置适用于您的私有平台的测量。私有平台是您在平台部分中设置的用于测量特定 CDN、云提供商和基础结构的其他部分的平台。有关更多信息,请参阅平台部分。
此选项允许您配置在向社区提供信息时 Radar 的行为。
关闭 Radar 测试
如果在发生意外情况时需要快速关闭 Radar 测量,则可以在门户中这样做,以避免紧急更改您的站点的代码。
在“Radar 标记配置”页面上,通过将启用开关按钮切换为“禁用”,关闭私有测量、社区测量或关闭两者。
单击保存 Radar 配置以确认更改。这些更改可能需要花费一两分钟进行传播,之后 Radar 测量就会停止。
Radar 客户端方法
客户端行为的一个基本维度是会话。客户端发送的所有数据都与会话相关联。会话是通过调用 NetScaler ITM 服务器(称为初始化请求)来创建的。会话过期相当快,这有助于确保只接受有效的 Radar 数据。由于此特征,Radar 测量始终是分批进行的,这些批次与其会话事务 ID 相关联,我们经常提及“Radar 会话”来描述与之关联的测量。
Radar 会话
Radar 会话是客户端执行的主要工作单元。它包括向 NetScaler ITM 服务器发送请求来获取客户配置和要测量的一组平台,然后请求测量这些平台并报告结果。这些操作以异步和序列化的方式进行,因此一次只发生一个请求。一个典型的会话在 10 秒内完成。
探测类型
客户端发送的每份报告都有一个关联的探测类型,它告诉系统这是什么类型的测量以及如何处理它。它还指出了要执行的测量类型,其中可能包括可用性、往返时间、吞吐量或其他指标集合。
可用性与性能探测(例如往返时间和吞吐量)之间存在着重要的关系。在任何特定的测量会话中,始终会首先测量特定资源的可用性。只有当可用性测量成功时,才可以在同一会话中对同一资源进行其他性能测量。
如果速度特别慢的网络出现可用性中断,这可能导致包括该网络的报告的总体性能实际上会提高。这只是一个报告非自然信号,因为 NetScaler Intelligent Traffic Management 始终使用最精细的、特定于网络的性能数据进行实时决策。
可用性
可用性也称为冷启动探测,旨在允许服务对其缓存进行预热。尽管有一个与此探测关联的测量值。我们使用可用性探测来确定提供程序是否可用。
如果平台未配置为执行冷启动探测,我们会使用 RTT 探测的结果代替冷启动报告来提供可用性指标。
类似地,对于测量站点加速服务的动态对象,客户端会将小型测试对象下载一次并报告冷启动和响应时间的测量值。
测试对象 | 定义 |
---|---|
标准 | 使用资源计时时间戳:responseStart - requestStart |
动态 | 使用资源计时时间戳:responseEnd - domainLookupStart |
RTT
测试对象 | 时间间隔 | API | 说明 |
---|---|---|---|
标准 | responseStart - requestStart | 资源计时 | 为响应 HTTP 请求而返回单个数据包的时间。 |
动态 | responseEnd - domainLookupStart | 资源计时 | 为请求提供服务的时间,包括 DNS 查询时间、连接时间和响应时间。 |
吞吐量
测试对象 | 时间间隔 | API | 说明 |
---|---|---|---|
标准 | 文件大小(千字节)* 8 / (responseEnd - requestStart) | 资源计时 | 基于大型测试对象下载为整个请求和响应测量到的吞吐量(千比特/每秒)。 |
动态 | 文件大小(千字节)* 8 / (responseEnd - domainLookupStart) | 资源计时 | 基于大型测试对象下载为整个请求和响应测量到的吞吐量(千比特/每秒)。如果 RTT 测试对象已经下载,这通常不包括连接时间或 DNS 查询时间。 |
测试对象
测试对象是托管在平台上并由客户端下载以生成测量值的文件。本部分介绍了客户端支持的各种类型的测试对象。并非所有对象类型都适用于每个平台。
所需标头:
为了允许 JavaScript 访问资源计时 API 提供的低级别计时数据,需要使用 Timing-Allow-Origin 响应标头。推荐的设置是 Timing-Allow-Origin: *
,这表示必须向在任何域上运行的 JavaScript 授予访问资源计时数据的权限。
标准
标准测试对象是媒体,客户端通过在图像对象上设置 src
属性来下载媒体。下载后,客户端使用资源计时 API 来收集性能数据。
这些测试对象必须与 Timing-Allow-Origin 响应标头一起提供。有关更多信息,请参阅 Timing-Allow-Origin 标头部分。
标准小型
标准小型测试对象是单像素图像文件,在客户端需要发出轻量级网络请求时使用。
标准小型测试对象用于以下用例:
- 非动态冷启动探测
- 非动态往返时间探测
标准大型
标准大型测试对象是一个 100KB 的图像文件,用于测量平台的吞吐量。
大型对象命名:要计算吞吐量,客户端需要知道测试对象的大小。客户端通过在文件名中的某处查找 KB 来确定文件名,例如 r20-100KB.png
。客户可以测量不同大小的图像文件,只要名称以相同的方式包含文件大小即可,例如 myimage-2048kb.jpg
。
动态
动态测试对象用于测量与站点加速服务相关的性能。 每个对象都是一个包含 JavaScript 的 HTML 文件,该 JavaScript 能够从导航计时 API 收集时间戳并将其发布到父级页面。客户端使用 iframe 下载测试对象并获取这些时间戳,并使用它来计算测量值。
安全与验证
该测试对象是一个 40KB 的对象。该测试对象的一项新功能是 HMAC(基于哈希的消息验证码),该功能基于查询参数和服务器可以访问的密钥提供。此 HMAC 随我们的测量值一起发回,这使我们能够验证 Radar 客户端是否能够访问测试对象,并且没有缓存任何内容。
动态测试对象与标准测试对象的区别:
对于标准 Radar 测量,我们尝试仅隔离与下载测试对象相关的主要请求活动,而对于站点加速服务,我们的目标是测量更多的活动。因此,还包括 DNS 查询和连接时间。 此外,动态测量旨在测量当请求被定向到服务源头(而不仅仅是边缘缓存)时的请求性能。
在门户中,您可以通过执行以下操作来选择此方法:
- 从左侧导航菜单中,转至平台。
- 单击页面右上角的添加平台图标。
- 转至私有平台 > 类别 > 动态内容。
- 在 Radar 测试对象对话框中,单击自定义探测复选框。
- 输入响应时间 URL,然后从对象类型 下拉列表中选择 Web 页面动态。
动态小型测试对象用于测量可用性和往返时间,并且对各项站点加速服务使用相同的探测。
iNav
iNav 测试对象是一个静态 HTML 文件,其中包含能够执行许多任务的 JavaScript。客户端通过在用于将 HTML 文件加载到 iframe 的 URL 中包括查询字符串参数来指示要执行的任务。 iNav 测试对象支持以下用例: iNav 冷启动 iNav 往返时间
iUNI
iUNI 测试对象用于检测与平台的一组 Radar 测量关联的 UNI 值(另一种方法是 CORS AJAX,它不需要单独的测试对象)。
AJAX GET
AJAX GET 方法通常可以用于客户想要测量的任何 URL,前提是该 URL 与 Timing-Allow-Origin 标头和相应的 Access-Control-Allow-Origin 标头一起提供。 在门户中,您可以通过执行以下操作来选择此方法:
- 从左侧导航菜单中,转至平台。
- 单击页面右上角的添加平台图标。
- 转至私有平台 > 类别 > 动态内容。
- 在 Radar 测试对象对话框中,单击自定义探测复选框。
- 输入响应时间,然后从对象类型下拉列表中选择 AJAX (GET)。
Timing-Allow-Origin 标头
为了允许 JavaScript 访问资源计时 API 提供的低级别计时数据,需要使用 Timing-Allow-Origin 响应标头。
推荐的设置是 Timing-Allow-Origin: *
,这表示必须向在任何域上运行的 JavaScript 授予访问资源计时数据的权限。
Radar API
Radar 针对操作功能和数据检索功能都提供了 API。
-
操作 API — 添加/编辑/删除 Radar 帐户,并提供通过 API 运行您的帐户的控制机制
-
Radar 数据 API – ITM Radar 数据 API 提供 Radar 公共社区和私有测量数据的聚合。 数据会持续更新,大约每 60 秒批处理一次,以供 API 检索。 提供数据 API 是为了让客户将 Radar 数据集成到自己的报告和控制板中。 对于每个平台,调用一次 API 可以为所有国家/地区和最多 30 个所关注的 ASN 提供 Radar 四分位值或测量平均值。
Radar 报告
Radar 报告对通过 Radar 标记收集的动态数据提供了强大的洞察力。
Radar 成员可以访问通过直观的交互式图表提供的丰富数据集。收集的数据集包含了数十亿次测量的完整公共数据集,以及从客户的 Radar 标记或移动 SDK 部署中收集的私有数据,并且公共数据充当私有数据的背景。页面加载时间信息是通过客户自己的标记捕获的,有助于深入了解您的网站和移动应用程序最终用户的实际性能体验。
除了性能指标外,Radar 报告还能深入洞察最终用户受众的许多方面,包括:数量、地理位置、用户代理、操作系统类型以及他们使用您的网站或移动应用程序的时间。
每个报告的定义如下,但下面是所有报告的重要方面:
主要和次要维度
图表的主要维度是通过图表上方的选择列表选择的。使用它作为报告的强大透视视图。还可以选择次要维度来进一步优化报告。
可视化背景切换
默认情况下,图表设置为白色背景。可以使用背景切换将背景切换为适合高对比度显示器的深色。
数据导出
此外,最终用户可以通过报告顶部的下载链接下载图表和表格数据。
过滤器:报告时间范围
可以为以下时间范围生成雷达报告:过去 60 分钟、过去 24 小时、过去 48 小时、过去 7 天、过去 30 天,或自定义范围。默认视图为“过去 24 小时”。
过滤器:平台和位置
适用于报告的过滤器根据数据情况可能略有不同。以下是最常见的:
- 平台 — 选择要包括的一个或多个平台(提供商)。
- 大陆 — 选择要包括的一个或多个大洲。
- 国家/地区 — 选择要包括的一个或多个国家/地区。
- 区域 — 选择一个或多个要包括的地理区域(如果适用)。
- 州 — 选择一个或多个要包括的地理州(如果适用)。
- 网络 — 选择要包括的一个或多个网络 (ASN)。
过滤器:资源
- 数据源 -包括来自整个 Radar 社区或仅来自您的网站访问者的数据。
- 位置来源 - 选择客户端 IP 或解析器 IP 作为您的位置来源。
- Radar 客户端类型 - 选择 JavaScript 标记、iOS SDK 或 Android SDK 作为 Radar 客户端类型。
我的页面查看地理位置报告
此报告显示每个国家/地区的页面查看量。通过选择图表底部的播放按钮,可以随着时间的推移查看此地图视图(基于为报告选择的时间范围)。
绩效报告
此报告显示所定义的每个平台的性能趋势。
统计分布报告
此报告显示为帐户定义的每个平台的统计明细。
单平台地理位置报告
此报告一次为一个平台显示按国家/地区划分的 Radar 流量随时间推移的分布情况。
单平台统计分布报告
此报告按响应时间显示 Radar 流量随时间推移的分布情况。