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 多个网络)。
- 在试用前获取有关服务提供商的重要信息,以便做出更明智的决策。
- 了解当前提供商的性能以及他们在您有用户和没有用户的地理区域中的表现。
- 关注对 Web 和移动用户产生真正影响的指标(性能、可用性 和 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 提供的信息使您能够查看实际最终用户在与您的网页交互时所体验到的性能。这些数据通过许多较新版本浏览器支持的 Navigation Timing API 提供。
Radar 标签
Radar 标签可以使用 JavaScript 代码段进行集成。要导航到“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 客户端即使从 HTTP 网站也能进行 HTTPS 测量。 | 测量 URL 协议与 Radar 客户端运行页面匹配的平台。 |
| 允许在 HTTPS 连接上进行私有 HTTP 测量。 | 允许 Radar 客户端从 HTTPS 网站进行 HTTP 测量。 | 测量 URL 协议与 Radar 客户端运行页面匹配的平台。 | |
| 采样率 | Radar 采样率 | 激活 Radar 标签以进行测量的页面百分比。 | 已禁用 |
| 私有测量 | 每页加载的最大私有测量数 | Radar 每页加载将测量的私有平台的最大数量。** | 自动* |
| 最大私有吞吐量测量数 | Radar 每页加载的私有平台的最大吞吐量测量数。** | 4 | |
| 社区测量 | 每页加载的最大社区测量数 | Radar 每页加载将测量的社区平台的最大数量。** | 自动* |
| 最大社区吞吐量测量数 | 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) | 资源计时 | 根据大型测试对象下载测量的整个请求和响应的吞吐量(千比特每秒)。这通常不包括连接时间或 DNS 查找时间,以防 RTT 测试对象已下载。 |
测试对象
测试对象是托管在平台上的文件,由客户端下载以生成测量。本节描述了客户端支持的不同类型的测试对象。并非所有对象类型都适用于每个平台。
所需标头:
需要 Timing-Allow-Origin 响应标头才能允许 JavaScript 访问 Resource Timing API 提供的低级计时数据。建议的设置是 Timing-Allow-Origin: *,这表示必须授予在任何域上运行的 JavaScript 访问资源计时数据的权限。
标准
标准测试对象是媒体,客户端通过在 Image 对象上设置 src 属性来下载它们。下载后,客户端使用 Resource Timing API 收集性能数据。这些测试对象必须与 Timing-Allow-Origin 响应标头一起提供。有关更多信息,请参阅“Timing-Allow-Origin 标头”部分。
标准小型
标准小型测试对象是单个像素图像文件,在客户端需要发出轻量级网络请求时使用。
标准小型测试对象用于以下用例:
- 非动态冷启动探测
- 非动态往返时间探测
标准大型
标准大型测试对象是 100KB 图像文件,用于测量平台的吞吐量。
大型对象命名:为了计算吞吐量,客户端需要知道测试对象的大小。客户端通过在文件名中查找 KB 来确定文件名;例如,r20-100KB.png。只要名称以相同方式包含文件大小,客户就可以测量不同大小的图像文件,例如 myimage-2048kb.jpg。
动态
动态测试对象用于测量与站点加速服务相关的性能。每个都是一个 HTML 文件,其中包含能够从 Navigation Timing API 收集时间戳并将其发布到父页面的 JavaScript。客户端使用 iframe 下载测试对象并获取这些时间戳,然后使用它们来计算测量。
安全性和验证
测试对象是一个 40KB 的对象。测试对象的一个新功能是它提供了一个基于查询参数和服务器有权访问的密钥的 HMAC(基于哈希的消息认证码)。此 HMAC 会随我们的测量结果一起发送回来,这使我们能够验证 Radar 客户端是否能够访问测试对象并且没有缓存任何内容。
动态测试对象与标准测试对象之间的区别:
对于标准 Radar 测量,我们尝试仅隔离与下载测试对象相关的主要请求活动,而对于站点加速服务,我们的目标是测量更多的活动。因此,也包括 DNS 查找和连接时间。此外,动态测量旨在测量命中服务源时的请求性能,而不仅仅是边缘缓存。
在门户中,您可以通过执行以下操作来选择此方法:
- 在左侧导航菜单中,转到“平台”。
- 单击页面右上角的“添加平台”图标。
- 转到“私有平台 > 类别 > 动态内容”。
- 在“Radar 测试对象”对话框中,单击“自定义探测”复选框。
- 输入“响应时间”URL,然后从“对象类型”下拉列表中选择“网页动态”。
动态小型测试对象用于使用相同的探测来测量站点加速服务的可用性和往返时间。
iNav
iNav 测试对象是一个静态 HTML 文件,其中包含能够执行多项任务的 JavaScript。客户端通过在加载 HTML 文件的 URL 中包含查询字符串参数来指示它希望执行的任务。iNav 测试对象支持以下用例:iNav 冷启动 iNav 往返时间
iUNI
iUNI 测试对象用于检测与平台的一组 Radar 测量相关联的 UNI 值(另一种方法是 CORS AJAX,它不需要单独的测试对象)。
AJAX GET
AJAX GET 方法通常可用于客户希望测量的任何 URL,前提是它与 Timing-Allow-Origin 标头和适当的 Access-Control-Allow-Origin 标头一起提供。
在门户中,您可以通过执行以下操作来选择此方法:
- 在左侧导航菜单中,转到“平台”。
- 单击页面右上角的“添加平台”图标。
- 转到“私有平台 > 类别 > 动态内容”。
- 在“Radar 测试对象”对话框中,单击“自定义探测”复选框。
- 输入“响应时间”,然后从“对象类型”下拉列表中选择“AJAX (GET)”。
Timing-Allow-Origin 标头
需要 Timing-Allow-Origin 响应标头才能允许 JavaScript 访问 Resource Timing API 提供的低级计时数据。建议的设置是 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 报告还提供了对最终用户受众许多方面的深入了解,包括:流量、地理位置、用户代理、操作系统类型以及他们使用您的网站或移动应用程序的时间。
每个报告的定义如下,但以下是所有报告的重要方面:
主要和次要维度

图表的主要维度通过图表上方的列表选择列表进行选择。将其用作报告的强大枢轴。也可以选择次要维度以进一步细化报告。
可视化背景切换

图表默认设置为白色背景。使用背景切换将背景切换为深色,以适用于高对比度显示器。
数据导出

此外,最终用户可以通过报告顶部的下载链接下载图表和表格数据。
筛选器:报告时间范围

Radar 报告可以生成的时间范围包括“最近 60 分钟”、“最近 24 小时”、“最近 48 小时”、“最近 7 天”、“最近 30 天”或自定义范围。默认视图是“最近 24 小时”。
筛选器:平台和位置

报告在哪些筛选器适合数据方面略有不同。以下是最常见的:
- 平台 – 选择一个或多个平台(提供商)以包括。
- 大陆 – 选择一个或多个大陆以包括。
- 国家/地区 – 选择一个或多个国家/地区以包括。
- 区域 – 选择一个或多个地理区域(如适用)以包括。
- 州 – 选择一个或多个地理州(如适用)以包括。
- 网络 – 选择一个或多个网络 (ASN) 以包括。
筛选器:资源
- 数据源 - 包括来自整个 Radar 社区的数据或仅来自您的站点访问者的数据。
- 位置源 - 选择客户端 IP 或解析器 IP 作为您的位置源。
- Radar 客户端类型 - 选择 Radar 客户端类型为 JavaScript 标签、iOS SDK 或 Android SDK。

我的页面浏览量地理位置报告
此报告显示每个国家/地区的页面浏览量。通过选择图表底部的“播放”按钮,可以随时间(根据为报告选择的时间范围)查看此地图视图。

性能报告
此报告显示所定义每个平台的性能趋势。

统计分布报告
此报告显示为帐户定义的每个平台的统计细分。

单平台地理位置报告
此报告显示单个平台随时间按国家/地区划分的 Radar 流量分布。

单平台统计分布报告
此报告显示 Radar 流量随时间按响应时间划分的分布。
