Amazon CodeGuru 是一种开发工具,可提供智能建议以提高代码质量并确定应用程序中最昂贵的代码行。Amazon CodeGuru 帮助您利用它的两个组件自动执行代码审查和应用程序分析:
- Amazon CodeGuru Reviewer,利用机器学习 (ML) 标记代码中的常见问题并提供具体的修复建议。
- Amazon CodeGuru Profiler,利用 ML 识别应用程序中最昂贵的代码行。
相关的产品是 AWS BugBust,第一款让开发人员全部消除 100 万个软件错误的全球错误消除挑战,使用 Amazon CodeGuru 的组织面临 1 亿USD 的技术缺口。
本页中提供了 Amazon CodeGuru Reviewer、Amazon CodeGuru Profiler 和 AWS BugBust 的定价信息。这种三种服务均无需预付费用,也无长期合同或承诺。
Amazon CodeGuru Reviewer
对于 Amazon CodeGuru Reviewer,您需要支付一笔固定月费。此月度价格取决于您注册的所有存储库的总计代码行数,根据存储库的大小利用定价套餐计算。如果您的代码存储库具有多个代码分支,则将根据最大的代码分支收取费用。存储库中的非代码行(例如注释行和空行)不计算在内。
免费套餐
您可以免费试用 Amazon CodeGuru Reviewer。免费套餐期限为 90 天,可用于每个 AWS 账户的已注册存储库中的最多 10 万行代码。在此 90 天免费套餐过期后,或者如果您的存储库大小超过 10 万行代码,则您需要根据存储库大小等级按以下标准定价付费。
标准定价
当您在存储库上启用 CodeGuru Reviewer 后,您可以执行以下操作:1) 执行增量代码分析(录入拉取、推送或合并请求)来分析代码更改;或者 2) 执行完整存储库扫描以获取有关整个存储库的建议。此标准月度定价包含对所注册存储库的所有增量代码审查分析。此月度定价还包括每个注册的存储库每月不超过两次完整存储库扫描。超出的完整存储库扫描将按每 10 万行代码 10 USD 的价格收费。
每次增量代码审查分析和完整存储库扫描都包含 CodeGuru Reviewer 中所有可用的安全功能。(请参阅文档了解更多详细信息)。
CodeGuru Reviewer 定价示例
-
定价示例 1 – 免费套餐演示
假设您有 1 个包含 90,000 行代码的代码存储库。每月开发人员会提交 100 次增量代码审查并触发两次完整存储库扫描
存储库大小 前 10 万行代码的价格 超出后每 10 万行代码的价格 月度费用 9 万
0 USD(前 90 天)
10 USD(90 天免费套餐过期后)
不适用 0 USD(前 90 天)
10 USD(90 天免费套餐过期后)
-
以下示例考虑不使用免费套餐的场景。
定价示例 2
请考虑您的免费套餐已过期的场景。您有 1 个包含 45 万行代码的代码存储库。每月开发人员会提交 300 次增量代码审查并触发 2 次完整存储库扫描。在此场景中,您的固定月费将向上取整按 40 万行代码收取,您需要按 40 万行代码的存储库支付费用。
存储库大小 前 10 万行代码的价格 超出后每 10 万行代码的价格 月度费用 45 万
10 USD
30 USD * 4(35 万向上取整至 40 万/ 10 万)= 120 USD 10 USD + 120 USD = 130 USD
-
定价示例 3
您还可能需要对多个存储库执行代码分析。在此例中,假设您有三个代码存储库,每个存储库包含 30 万行代码。每月开发人员会为每个代码存储库提交 200 次增量代码审查并触发 2 次完整存储库扫描。
存储库大小 前 10 万行代码的价格 超出后每 10 万行代码的价格 月度费用 3*30 万 = 90 万
10 USD
30 USD * 8(80 万/ 10 万)= 240 USD 10 USD + 240 USD = 250 USD
-
定价示例 4
假设有一个包含多个代码分支的存储库。您可以对任何或全部分支运行代码分析,但您只需要为最大的代码分支付费。在此例中,您有一个包含 3 个分支的代码存储库。主分支包含 40 万行代码,另外两个分支分别包含 30 万行代码。每月开发人员为所有三个分支提交 300 次增量代码审查,平均每次审查 1000 行代码。
存储库大小 前 10 万行代码的价格 超出后每 10 万行代码的价格 月度费用 Max (40 万, 30 万, 30 万) = 40 万
10 USD
30 USD * 3(30 万/ 10 万)= 90 USD 10 USD + 90 USD = 100 USD
-
定价示例 5
在此例中,我们演示了每月每存储库执行超过两次完整存储库扫描时对月度费用的影响。假设您有 3 个代码存储库,每个存储库包含 30 万行代码。每月开发人员会为每个代码存储库提交 200 次增量代码审查。他们为第一个存储库触发了三次完整存储库扫描,为两外两个存储库触发了三次完整存储库扫描。
存储库大小 前 10 万行代码 超出后的 10 万行代码 月度费用 3*30 万 = 90 万
10 USD
30 USD * 8(80 万/ 10 万)= 240 USD 10 USD + 240 USD = 250 USD
存储库 存储库大小 完整存储库扫描 上限(每存储库) 超限费用 一 30 万 3 2 (3-2) * 10 USD *(30 万/10 万)= 30 USD 二 30 万 2 2 0 USD 三 30 万 2 2 0 USD 月度总费用 = 250 USD+ 30 USD = 280 USD
Amazon CodeGuru Profiler
当启用 Amazon CodeGuru Profiler 来分析您的应用程序时,它会对应用程序运行时的 CPU 使用率和延迟特征进行采样,以创建一个应用程序配置文件。对于在 Amazon Elastic Cloud Compute (EC2) 实例、Amazon Elastic Container Service (ECS)、Amazon EKS、AWS Fargate 或 AWS Lambda 上运行的应用程序,每个应用程序配置文件都根据 CodeGuru Profiler 执行的采样小时数定价。一个采样小时等效于在一个实例或容器上运行 CodeGuru Profiler 代理一小时。同理,如果一个应用程序在两个实例或容器上各运行一小时,而代理在这两个实例上运行,则代理将收集两个采样小时。
免费套餐
您可以免费试用 Amazon CodeGuru Profiler。 免费套餐有效期为 90 天。在此 90 天免费套餐过期后,您需要根据采样小时数按以下标准定价付费。
标准定价
对 Amazon EC2 实例和 Amazon ECS、EKS 和 AWS Fargate 容器上的应用程序进行分析 | 每月每分析组前 36,000 个采样小时每采样小时 0.005 USD。每月每分析组超过 36,000 个采样小时的部分不收取额外费用。 |
对 AWS Lambda 上的应用程序进行分析 | 每个付款人账户前 500 个采样小时免费。超出后每月每分析组前 36,000 个采样小时每采样小时 0.005 USD。每月每分析组超过 36,000 个采样小时的部分不收取额外费用。 |
CodeGuru Profiler 定价示例
-
定价示例 1
假设您希望 CodeGuru Profiler 分析一个在 50 个 Amazon EC2 实例上运行的应用程序。在此例中,分析组仅包含一个应用程序。
应用程序数 EC2 实例数 采样小时数 每应用程序采用小时数 月度费用 1
50
1 个应用程序 * 50 个实例 * 24 小时/天 * 30 天/月 = 36,000 采样小时 每小时 0.005 USD
36,000 * 0.005 USD = 180 USD -
定价示例 2
假设您希望 CodeGuru Profiler 分析 10 个在 Amazon EC2 实例上运行的应用程序,每个应用程序作为一个不同的分析组,在 15 个 EC2 实例上运行。
应用程序数 EC2 实例数 每应用程序采用小时数 每采样小时价格 月度费用 10
15
1 个应用程序 * 15 个实例 * 24 小时/天 * 30 天/月 = 10,800 采样小时 每小时 0.005 USD
10,800 * 0.005 USD * 10 个应用程序 = 540 USD -
定价示例 3
假设您希望 CodeGuru Profiler 分析在 70 个 Amazon ECS 容器上运行的单个应用程序。
应用程序数 EC2 实例数 每应用程序采用小时数 每采样小时价格 月度费用 1
70
1 个应用程序 * 70 个实例 * 24 小时/天 * 30 天/月 = 50,400 采样小时 每小时 0.005 USD
36,000 * 0.005 USD = 180 USD -
定价示例 4
假设您希望 CodeGuru Profiler 分析一个 AWS Lambda 函数,该函数在一个月内执行了 100 万次调用,每次调用运行 5 秒。
在此例中,由于每个付款人账户前 500 个采样小时免费,CodeGuru Profiler 在此计费周期内从您的账户收取 888.89 个采样小时的费用,费率为 0.005 USD/小时。
采样小时数 每采样小时价格 月度费用 (5 秒 * 100 万次调用)/ 3,600 秒 = 1,388.89 采样小时
每小时 0.005 USD
(1,388.89 小时- 500 小时)* 0.005 USD = 4.44 USD -
定价示例 5
假设您希望 CodeGuru Profiler 对同一分析组中的两个 AWS Lambda 函数进行分析。第一个 Lambda 函数在每个调用上运行 3 秒,一个月内调用了 10,000,000 次。第二个 Lambda 函数在一个月内执行了 2,000 万次调用,每次调用运行 6 秒。
在此例中,假设这是您的账户中进行的全部 AWS Lambda 分析,由于每个付款人账户前 500 个采样小时免费,而且我们对每个分析组超过 36,000 小时的部分不收费。
采样小时数 每采样小时价格 月度费用 (3 秒 * 1,000 万次调用 + 6 秒 * 2,000 万次调用)/ 3,600 秒 = 41,666.67 采样小时
每小时 0.005 USD
(36,000-500) * 0.005 = 177.50 USD
AWS BugBust
您可以免费开始使用 AWS BugBust。无需预付费用,也无长期合同或承诺。
30 天免费套餐
当您创建第一个 AWS BugBust 事件时,Amazon CodeGuru Reviewer 和 Amazon CodeGuru Profiler 的基础使用产生的费用可以免收,每个 AWS 账户的免费期限为 30 天。即使您已使用过 Amazon CodeGuru Reviewer 和 Amazon CodeGuru Profiler 的免费套餐,此 30 天免费期仍然适用。在 30 天的免费套餐期限内,您可以创建多个 AWS BugBust 事件。当 30 天的免费套餐到期后,将根据您在挑战中的使用收取 Amazon CodeGuru Reviewer 和 Amazon CodeGuru Profiler 的费用。收费根据本页中概括的单项服务定价模型计算。
AWS BugBust 定价示例
-
定价示例 1
请考虑您创建第 1 个 BugBust 事件的场景。您通过从包含 20 万行代码的存储库导入错误创建了 BugBust 事件(使用 CodeGuru Reviewer 分析),并添加了 10 个分析组(通过 CodeGuru Profiler 创建)。
由于每个 AWS 账户的前 30 天都是免费的,因此月度费用将为 0 USD。您将有 30 天的时间来运行 BugBust 挑战,不会产生任何收费。
存储库大小 分析组 月度费用 20 万行代码
10
0 USD(新的和现有的 CodeGuru 客户) -
定价示例 2
请考虑您创建了第二个 BugBust 事件的场景,在创建第一个事件后 30 天的期限内开始和结束。您通过从包含 50 万行代码的存储库导入错误创建了 BugBust 事件(使用 CodeGuru Reviewer 分析),并添加了 15 个分析组(通过 CodeGuru Profiler 创建)。由于每个 AWS 账户的前 30 天都是免费的,因此您可以根据自己的需要运行多个事件,月度费用将为 0 USD。您必须在前 30 天内完成这些事件。
存储库大小 分析组 月度费用 50 万行代码
15
0 USD -
定价示例 3
请考虑您在创建第一个事件 35 天后创建 BugBust 事件的场景。您已超出了 AWS BugBust 的免费套餐期限。但是,您此前从未使用过 Amazon Code Guru Reviewer 或 Amazon CodeGuru Profiler,因此 90 天免费套餐定价仍然适用于这些服务。您通过从包含 20 万行代码的存储库导入错误创建了 BugBust 事件(使用 CodeGuru Reviewer 分析),并添加了 10 个分析组(通过 CodeGuru Profiler 创建)。
存储库大小 分析组 月度费用 20 万行代码
10
20 万行代码存储库的 CodeGuru Reviewer 费用:前 10 万行代码 0 USD + 接下来的 10 万代码 30 USD = 30 USD
CodeGuru Profiler 运行 10 个
分析组的费用:0 USD总费用 = 30 USD + 0 USD = 30 USD
-
定价示例 4
请考虑您在创建第一个事件 35 天后创建 BugBust 事件的场景,这意味着 AWS BugBust 免费套餐期限已结束。您已使用过 Amazon CodeGuru Reviewer 和 Amazon CodeGuru Profiler 的免费套餐定价。您通过从包含 20 万行代码的存储库导入错误创建了 BugBust 事件(使用 CodeGuru Reviewer 分析),并添加了 10 个分析组,各监控 1 个实例(通过 CodeGuru Profiler 创建)。
存储库大小 分析组 月度费用 20 万行代码
10
20 万行代码存储库的 CodeGuru Reviewer 费用:前 10 万行代码 10 USD + 接下来的 10 万代码 30 USD = 40 USD
CodeGuru Profiler 运行 10 个分析组的费用:0.005 USD * 10 个分析组 * 1 个实例 * 每天 24 个小时 * 每月 30 天 = 36 USD
总费用 = 40 USD + 36 USD = 76 USD
从 2022 年 2 月 14 日到 2022 年 3 月 17 日,CodeGuru Reviewer 定价页面上发布了一个错误。如果您认为在此期间被错误收费,请提交一个 AWS 计费请求。