一般問題

問:什麼是 Amazon CodeGuru?

Amazon CodeGuru 是一項全受管服務,可透過智慧建議協助您主動提高程式碼品質和應用程式效能。

問:Amazon CodeGuru 可以用來做什麼?

利用機器學習模型和學習到的最佳實務,Amazon CodeGuru 可提供智慧建議,來提高程式碼品質並實現應用程式效能最佳化。Amazon CodeGuru 包括 CodeGuru Reviewer 和 CodeGuru Profiler。CodeGuru Reviewer 可分析在您的程式碼儲存庫上提取請求的程式碼,而 CodeGuru Profiler 則在您的應用程式執行時分析其效能。

CodeGuru Reviewer 可在代碼審查過程中自動偵測程式碼問題,再將其交付生產,從而讓您在部署至生產之前,主動偵測問題,並提高整體應用程式的效能和品質。CodeGuru Profiler 可識別您的應用程式何時在日誌記錄常式上消耗過多的 CPU 容量,而不是執行核心業務邏輯。CodeGuru Profiler 致力於在生產中以最小的佔用空間,持續分析您的應用程式。

問:如何開始使用 Amazon CodeGuru?

Amazon CodeGuru 正式推出預覽版。您可以在 Amazon CodeGuru 主控台中立即開始使用。

若要開始使用 Amazon CodeGuru Reviewer,請登入 CodeGuru Reviewer 主控台,您可以在其中關聯 GitHub 或 AWS CodeCommit 上的現有程式碼儲存庫。一次設定之後,CodeGuru Reviewer 即可開始分析程式碼,並直接在提取請求或程式碼儲存庫內提供程式碼改進建議。

您也可以在幾分鐘內開始對應用程式進行效能分析。若要開始使用 Amazon CodeGuru Profiler,請登入 CodeGuru Profiler 主控台,您可在此設定應用程式。按照 CodeGuru Profiler 提供的逐步說明和程式碼,在您的應用程式中安裝一個不佔空間的小型代理程式。您可以讓 CodeGuru Profiler 持續執行,以便其可以主動擷取即時應用程式中的效能問題。

問︰Amazon CodeGuru 可在哪些 AWS 區域使用?

若要查看支援的 AWS 區域,請瀏覽所有 AWS 全球基礎架構的 AWS 區域表。如需詳細資訊,請參閱 AWS 一般參考中的區域和端點

Amazon CodeGuru Reviewer

問:什麼是 CodeGuru Reviewer?

Amazon CodeGuru Reviewer 是一種自動化程式碼審查服務,該服務可識別嚴重缺陷,以及與採用 Java 程式碼的 AWS 最佳實務的偏差。它可掃描提取請求或程式碼儲存庫中的程式碼行,並根據從大型開放原始碼專案,以及 Amazon 程式碼庫中學習到的標準提供智慧建議。CodeGuru Reviewer 與廣泛使用的開放原始碼控制系統 (如 AWS CodeCommit 和 GitHub) 上的現有程式碼審查工作流程無縫整合,並提供切實可行的建議以提高程式碼品質。

問:支援哪些程式設計語言和開放原始碼儲存庫?

Amazon CodeGuru Reviewer 目前支援儲存在 GitHub 和 AWS CodeCommit 儲存庫中的 Java 程式碼。

問:Amazon CodeGuru Reviewer 偵測到什麼類型的問題?

Amazon CodeGuru Reviewer 可檢查並行問題、潛在的競爭條件、未經處理的輸入、對敏感資料 (如登入資料) 的不當處理、資源洩漏,還會偵測並行代碼中的競爭條件。

問:如何開始使用 Amazon CodeGuru Reviewer?

造訪 Amazon CodeGuru 主控台,將 CodeGuru Reviewer 建議直接整合至您的程式碼提取請求中。您可以透過造訪 CodeGuru 主控台,並按照關聯 AWS CodeCommit 與 GitHub 儲存庫的步驟開始操作,以開始接收 CodeGuru Reviewer 的建議。CodeGuru Reviewer 需要唯讀存取權限,並且能夠在「提取請求」上發佈評論。啟用後,CodeGuru Reviewer 即會自動提供智慧建議,作為連線儲存庫產生的提取請求的註解。

問:Amazon CodeGuru Reviewer 是否可以存取我的程式碼?

Amazon CodeGuru Reviewer 需要唯讀存取您的程式碼,以便產生建議。我們將您的信任、您內容的隱私和安全性放在第一優先,而且實作適當的控制 (包括傳輸加密),以避免未授權人員存取或公開您的內容,同時確保對內容的使用絕對遵守我們對您所做的承諾。如需詳細資訊,請參閱 資料隱私權常見問答集

問:Amazon CodeGuru Reviewer 是否會保留我的程式碼副本?

否。Amazon CodeGuru Reviewer 不會儲存您的源程式碼。

問:Amazon CodeGuru Reviewer 如何接受訓練以提供智慧建議?

Amazon CodeGuru Reviewer 使用規則採擷和受監督的機器學習模型進行訓練,這些模型採用邏輯迴歸和神經網路的組合。

例如,在訓練與 AWS 和行業最佳實務之間的偏差時,CodeGuru Reviewer 使用搜尋技術和本機敏感模型,對包含 AWS API 叫用的提取請求採擷 Amazon 程式碼庫。它著眼於旨在提高程式碼品質的程式碼變更,並將其與文件資料進行交叉引用。因此建立一組新規則,在審查您的程式碼時,Reviewer 會向您推薦這些規則作為最佳實務。

在訓練資源和敏感資料洩漏期間,它將對所有使用該資源或敏感資料的程式碼路徑進行完整的程式碼分析,建立代表這些功能或敏感資料的功能集,然後將其用作邏輯迴歸模型和卷積神經網路 (CNN) 的輸入。

對於基於規則的模型和基於機器學習的模型,CodeGuru Reviewer 都將您提供的回饋用作標籤,並反覆提高程式碼偵測器的品質。

Amazon CodeGuru Profiler

問:什麼是 Amazon CodeGuru Profiler?

Amazon CodeGuru Profiler 可協助開發人員輕鬆了解其應用程式的執行階段行為,提高效能並降低運算成本。CodeGuru Profiler 將分析應用程式執行時間描述檔,並提供智慧建議和視覺化,指導開發人員如何提高其程式碼中最相關部分的效能。

問:我已經將大量日誌記錄和偵錯整合至我的程式碼中。還需要分析嗎?

雖然「自上而下」(日誌記錄和偵錯) 監控方法是個不錯的作法,但對於程式碼效率分析而言並不切實際。日誌記錄執行時間僅適用於少數情況,並且實作起來很耗時。這是「自下而上」的執行階段監控來源:Amazon CodeGuru Profiler 旨在收集有關該應用程式行為中發生的所有事件資料,而不管情況如何。CodeGuru Profiler 使用常見的效能低下的知識庫,來自動發現即時應用程式中影響其效能的代碼模式。開發人員隨後則可按照提供的建議修正問題。

問:CodeGuru Profiler 與傳統的 APM 和獨立的分析工具有何不同?

傳統的 APM 提供有關監控、追蹤和應用程式效能的實用資料。Amazon CodeGuru Profiler 透過提供應用程式執行階段資料視覺化,以及針對發現的效能問題的可行建議來補充這些 APM 功能。使用 CodeGuru Profiler,您可以輕鬆查看最有可能實現效能最佳化的程式碼部分,並獲得有關如何解決這些問題的指南,而無須具有精深的效能工程背景。此外,一些獨立的分析工具被設計為僅在測試環境中執行,而 CodeGuru Profiler 則被設計為在生產中的生產流量負載下持續執行,且不對應用程式產生影響。在排解生產中的操作問題 (包括在裸機主機上執行時),此功能很實用。

問:可以分析哪些應用程式類型?

Amazon CodeGuru Profiler 可分析 Amazon EC2 上託管的應用程式、Amazon ECS 和 Amazon EKS 上執行的容器化應用程式,以及 AWS Fargate 上執行的無伺服器應用程式。

問:支援哪些程式設計語言?

Amazon CodeGuru Profiler 目前支援 Java 應用程式。

問:CodeGuru Profiler 如何運作?

CodeGuru Profiler 由三部分組成:代理程式、分析工具服務和智慧建議。該代理程式作為應用程式中的進程內執行緒執行。它從執行代理程式的每個服務執行個體中獲取資料,然後每 5 分鐘將資料傳送至分析工具服務,然後對其進行匯總。CodeGuru Profiler 則以互動式火焰圖發佈描述檔資料,讓您可以視覺化應用程式的效能。CodeGuru Profiler 還會持續掃描分析的資料,並將其與 Amazon 和效能工程最佳實務比較,以及在發現效能問題時主動向您提醒智慧建議。

問:什麼是分析群組?

分析群組是您建立的邏輯分組。它代表一個應用程式的邊界。例如,在微型服務架構中,描述檔將彙集您指派給微型服務的描述檔,並為所有微型服務產生一個描述檔。

Product-Page_Standard-Icons_01_Product-Features_SqInk
進一步了解定價

瀏覽 Amazon CodeGuru 定價頁面。

進一步了解 
Product-Page_Standard-Icons_02_Sign-Up_SqInk
註冊免費帳戶

立即存取AWS 免費方案 

註冊 
Product-Page_Standard-Icons_03_Start-Building_SqInk
開始在主控台進行建置

開始在 AWS 管理主控台使用 Amazon CodeGuru 進行建置。

登入