產生 Gemini Code Assist 指標

本文說明如何產生 Gemini Code Assist 指標。舉例來說,您可以產生指標,回報各種 Google Cloud 產品 (包括 Cloud Logging、Google Cloud CLI、Cloud Monitoring 和 BigQuery) 的每日活躍使用情形或程式碼最佳化建議接受情形。

如果您需要啟用並查看 Gemini 的 Google Cloud提示、回覆和中繼資料記錄,請參閱查看 Gemini 記錄 Google Cloud

事前準備

  • 確認您已在專案中設定 Gemini Code Assist
  • 請確認您已為專案啟用 Gemini 記錄功能。 Google Cloud

  • In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

列出不重複使用者人數

以下操作說明說明如何使用 gcloud CLI 列出最近 28 天內 Gemini Code Assist 的不重複使用者人數:

  1. 在殼層環境中,請確認您已將 gcloud CLI 的所有已安裝元件更新至最新版本:

    gcloud components update
    
  2. 讀取 Gemini Code Assist 使用者和使用情形的記錄項目:

    gcloud logging read 'resource.type=cloudaicompanion.googleapis.com/Instance labels.product=~"code_assist"' \
    --freshness 28d \
    --project PROJECT_ID \
    --format "csv(timestamp.date('%Y-%m-%d'),labels.user_id)"
    

    PROJECT_ID 替換為您的 Google Cloud 專案 ID。

    您可以使用 Unix 指令 uniq,針對每天的使用者進行唯一識別。

    輸出結果會與下列內容相似:

    2024-10-30,user1@company.com
    2024-10-29,user2@company.com
    2024-10-29,user2@company.com
    2024-10-29,user2@company.com
    2024-10-29,user1@company.com
    2024-10-28,user1@company.com
    

建立顯示每日使用量的圖表

下列步驟說明如何使用 Monitoring 建立每日使用率圖表,顯示每日活躍 Gemini Code Assist 使用者總數,以及他們每天提出的要求數量。

  1. 根據記錄資料建立監控指標,記錄 Gemini Code Assist 使用者人數:

    1. 前往 Google Cloud 控制台的「Logs Explorer」頁面:

      前往「Logs Explorer」(記錄檔探索工具)

      如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果

    2. 在查詢窗格中輸入以下查詢,然後按一下「執行查詢」

       resource.type="cloudaicompanion.googleapis.com/Instance" AND labels.product="code_assist" AND jsonPayload.@type="type.googleapis.com/google.cloud.cloudaicompanion.logging.v1.ResponseLog"
      
    3. 在工具列中,按一下「動作」,然後選取「建立指標」

      系統會顯示「Create log-based metric」對話方塊。

    4. 設定下列指標詳細資料:

      • 確認「指標類型」已設為「計數器」
      • 將指標命名為 code_assist_example
      • 確認「篩選器選項」已設為指向記錄儲存的位置,也就是「專案」或「儲存桶」

        如要瞭解如何從記錄資料產生 Monitoring 指標,請參閱「記錄指標總覽」。

    5. 點選「建立指標」

      系統會顯示成功橫幅,說明已建立指標。

    6. 在成效橫幅中,按一下「在 Metrics Explorer 中查看」

      Metrics Explorer 會開啟並顯示預先設定的圖表。

  2. 將圖表儲存至資訊主頁:

    1. 按一下工具列中的「儲存圖表」
    2. 選用:更新圖表標題。
    3. 使用「Dashboard」選單,選取現有的自訂資訊主頁或建立新資訊主頁。
    4. 按一下「儲存圖表」

使用 BigQuery 分析用量

下列步驟說明如何使用 BigQuery 分析記錄資料。

您可以透過兩種方式在 BigQuery 中分析記錄資料:

  • 建立記錄接收器,並將記錄資料匯出至 BigQuery 資料集。
  • 升級儲存記錄資料的記錄檔 bucket,以便使用 Log Analytics,然後建立連結的 BigQuery 資料集。

無論採用哪種方法,您都可以使用 SQL 查詢及分析記錄資料,並將查詢結果繪製成圖表。如果您使用 Log Analytics,可以將圖表儲存至自訂資訊主頁。不過,價格會有所不同。詳情請參閱 Log Analytics 定價BigQuery 定價

本節說明如何建立記錄接收器,將特定記錄項目匯出至 BigQuery,並提供查詢範例清單。如要進一步瞭解 Log Analytics,請參閱「使用 Log Analytics 查詢及分析記錄檔」和「查詢已連結的 BigQuery 資料集」。

建立記錄接收器

  1. 在 Google Cloud 控制台中,前往「Log Router」頁面:

    前往「記錄檔路由器

    如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果

  2. 選取您要轉送記錄項目的 Google Cloud 專案。
  3. 選取「Create Sink」(建立接收器)
  4. 在「Sink details」面板中,輸入下列詳細資料:

    • 在「Sink name」(接收器名稱) 中,提供接收器的 ID。建立接收器後,您無法重新命名接收器,但可以刪除接收器並建立新的接收器。

    • 針對「Sink 說明」,請說明 Sink 的用途或用途。

  5. 在「Sink destination」面板中,設定下列詳細資料:

    • 針對「選取接收器服務」,選取「BigQuery 資料集」
    • 針對「選取 BigQuery 資料集」,請建立新的 BigQuery 資料集,並將其命名為 code_assist_bq
  6. 開啟「Choose logs to include in sink」面板,然後在「Build inclusion filter」欄位中輸入以下內容:

    resource.type="cloudaicompanion.googleapis.com/Instance" AND labels.product="code_assist"
    
  7. 選用步驟:如要確認您輸入的篩選器正確無誤,請選取「預覽記錄」。系統會在新分頁中開啟 Logs Explorer,並預先填入篩選條件。

  8. 按一下「Create Sink」(建立接收器)

授權記錄接收器將記錄項目寫入資料集

如果您具備 BigQuery 資料集的擁有者存取權,Cloud Logging 會授予記錄匯入器寫入記錄資料的必要權限。

如果您沒有擁有者存取權,或是資料集中沒有任何項目,則記錄匯入端可能沒有必要的權限。如要解決這項失敗問題,請按照「設定目的地權限」一文中的操作說明進行。

查詢

您可以使用下列 BigQuery 查詢範例,針對每日活躍使用情形和產生的建議,產生使用者和匯總層級資料。

使用下列查詢範例前,您必須取得新建立的接收器的完整路徑。如要取得路徑,請執行下列操作:

  1. 前往 Google Cloud 控制台的「BigQuery」頁面。

    前往 BigQuery

  2. 在資源清單中,找出名為 code_assist_bq 的資料集。這項資料是接收器目的地

  3. code_assist_bq_dataset 下方選取回覆表格,按一下 圖示,然後點選「複製 ID」,產生資料集 ID。請記下該值,以便在後續章節中將其用作 GENERATED_BIGQUERY_TABLE 變數。

按日期列出個別使用者

SELECT DISTINCT labels.user_id as user, DATE(timestamp) as use_date
FROM GENERATED_BIGQUERY_TABLE
ORDER BY use_date

GENERATED_BIGQUERY_TABLE 替換為您在建立接收端的先前步驟中記下的 BigQuery 回應資料表完整路徑。

按天列出匯總使用者

SELECT COUNT(DISTINCT labels.user_id) as total_users, DATE(timestamp) as use_date
FROM GENERATED_BIGQUERY_TABLE
GROUP BY use_date
ORDER BY use_date

依使用者列出每日個別要求

SELECT COUNT(*), DATE(timestamp) as use_date, labels.user_id as user
FROM GENERATED_BIGQUERY_TABLE
GROUP BY use_date, user
ORDER BY use_date

按日期列出每日匯總要求

SELECT COUNT(*), DATE(timestamp) as use_date
FROM GENERATED_BIGQUERY_TABLE
GROUP BY use_date
ORDER BY use_date

後續步驟