Amazon CodeGuru 是一種開發人員工具,能針對增進程式碼的品質提供智慧型建議,並且找出應用程式之中最昂貴的程式碼行。Amazon CodeGuru 可協助您使用其兩個元件自動執行程式碼審查和應用程式分析:
- Amazon CodeGuru Reviewer,使用機器學習 (ML) 標記程式碼中的常見問題,並提供有關修復的特定建議。
- Amazon CodeGuru Profiler,使用 ML 識別應用程式中最昂貴的程式碼行。
一個相關的產品為 AWS BugBust,這是首個針對開發人員的全球錯誤解決挑戰,旨在使用 Amazon CodeGuru 為他們的組織消除 100 萬個軟體錯誤和 1 億美元的技術債務。
此頁面包含 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 – 免費方案插圖
假設您有單一個程式碼儲存庫,其中包含 90,000 行程式碼。開發人員每月提交 100 次增量程式碼審查,並觸發兩次完整的儲存庫掃描
儲存庫大小 前 10 萬行程式碼的價格 其他 10 萬行程式碼的價格 每月費用 90,000
0 USD (前 90 天)
10 USD (90 天免費方案後)
不適用 0 USD (前 90 天)
10 USD (90 天免費方案後)
-
以下範例考慮了免費方案之外的情況。
定價範例 #2
假設您的免費方案已過期。您有單個程式碼儲存庫,其中包含 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
您可能有一個包含多個程式碼分支的儲存庫。您可以執行程式碼分析或任何或所有分支,並且僅對最大的程式碼分支收費。在此範例中,您有單一程式碼儲存庫,其中包含三個分支。主分支包含 40 萬行程式碼,其他兩個分支各包含 30 萬行程式碼。開發人員每月在所有三個分支中提交 300 次增量程式碼審查,平均每個審查 1,000 行程式碼。
儲存庫大小 前 10 萬行程式碼的價格 其他 10 萬行程式碼的價格 每月費用 最大值 (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 Containers 上的應用程式分析 | 每個分析群組每月的前 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 函數,該函數在每次叫用時執行 5 秒,並在一個月內被叫用 1,000,000 次。
在此範例中,因為每個付款人帳戶的前 500 個取樣小時都是免費的,CodeGuru Profiler 在此計費期間對您的帳戶收取的費用為 888.89 個取樣小時,每小時費率為 0.005 USD。
取樣時數 每個取樣小時的價格 每月費用 (5 秒 * 1,000,000 次叫用) / 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 函數在每次叫用時執行 6 秒,並在一個月內被叫用 20,000,000 次。
在此範例中,假設這就是您在帳戶中針對 AWS Lambda 分析的全部內容,因為前 500 個取樣小時對於您的帳戶是免費的,並且我們對每個分析群組的收費不超過 36,000 小時。
取樣時數 每個取樣小時的價格 每月費用 (3 秒 * 10,000,000 次叫用 + 6 秒 * 20,000,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
假設您建立第一個 BugBust 事件。您透過從包含 20 萬行程式碼的儲存庫建立 BugBust 事件 (使用 CodeGuru Reviewer 進行分析) 並新增 10 個分析群組 (透過 CodeGuru Profiler 建立)。
由於每個 AWS 帳戶的前 30 天是免費的,因此每月費用為 0 美元。您將有 30 天的時間來執行 BugBust 挑戰,而不會產生任何費用。
儲存庫大小 分析群組 每月費用 20 萬行程式碼
10
0 USD (新的和現有的 CodeGuru 客戶) -
定價範例 #2
假設您建立了第二個 BugBust 事件,該事件在建立第一個事件後的 30 天時段內開始和結束。您透過從 50 萬行程式碼的儲存庫匯入錯誤來建立 BugBust 事件 (使用 CodeGuru Reviewer 進行分析) 並新增 15 個分析群組 (透過 CodeGuru Profiler 建立)。由於每個 AWS 帳戶的前 30 天免費,您可以根據需要執行任意數量的事件,每月費用為 0 美元。您必須在前 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
CodeGuru Reviewer 20 萬行程式碼儲存庫的費用為:前 10 萬行程式碼 0 USD + 接下來 10 萬行程式碼 30 USD = 30 USD
執行 10 個分析群組的 CodeGuru Profiler
費用為: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
CodeGuru Reviewer 20 萬行程式碼儲存庫的費用為:前 10 萬行程式碼 10 USD + 接下來 10 萬行程式碼 30 USD = 40 USD
執行 10 個分析群組的 CodeGuru Profiler 費用為:0.005 USD * 10 個分析群組 * 1 個執行個體 * 每天 24 小時 * 一個月 30 天 = 36 USD
總費用 = 40 USD + 36 USD = 76 USD
從 2022 年 2 月 14 日到 2022 年 3 月 17 日,CodeGuru Reviewer 定價頁面上發佈了一個錯誤。如果您認為您在此期間被誤收費用,請提交 AWS 帳單請求。