本文档介绍如何生成 Gemini Code Assist 指标。例如,您可以生成指标来报告各种 Google Cloud 产品(包括 Cloud Logging、Google Cloud CLI、Cloud Monitoring 和 BigQuery)的每日活跃使用情况或代码建议的接受情况。
如果您需要启用并查看 Gemini for Google Cloud提示、回答和元数据日志,请参阅查看 Gemini for Google Cloud 日志。
限制
本页面专门介绍如何生成用户在 IDE 中与 Gemini Code Assist 互动的指标。
如需了解如何为 Gemini CLI 记录指标(需要设置 Open Telemetry),请参阅 Gemini CLI 遥测。
GitHub 中的 Gemini Code Assist 不支持登录 Google Cloud。
准备工作
- 确保您已在项目中设置 Gemini Code Assist。
确保您已在项目中为 Gemini 启用 Google Cloud 日志记录。
In the Google Cloud console, 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 的唯一用户数:
在 shell 环境中,确保您已将 gcloud CLI 的所有已安装组件更新到最新版本:
gcloud components update查看 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
创建显示每日用量的图表
以下步骤介绍了如何使用监控功能创建每日使用情况图表,以显示每日活跃 Gemini Code Assist 用户的总数以及他们每天的请求数。
使用日志数据创建一个监控指标,用于记录 Gemini Code Assist 用户数量:
-
在 Google Cloud 控制台中,转到 Logs Explorer 页面:
如果您使用搜索栏查找此页面,请选择子标题为 Logging 的结果。
在查询字段中,输入以下查询,然后点击运行查询。
resource.type="cloudaicompanion.googleapis.com/Instance" AND labels.product="code_assist" AND jsonPayload.@type="type.googleapis.com/google.cloud.cloudaicompanion.logging.v1.ResponseLog"在工具栏中,点击操作,然后选择创建指标。
此时会显示创建基于日志的指标对话框。
配置以下指标详情:
- 确保指标类型已设置为计数器。
- 将指标命名为
code_assist_example。 确保过滤条件选择设置为指向存储日志的位置,即项目或存储桶。
如需了解如何根据日志数据生成监控指标,请参阅基于日志的指标概览。
点击创建指标。
系统会显示一条成功横幅,说明指标已创建。
在该成功横幅中,点击在 Metrics Explorer 中查看。
Metrics Explorer 会打开并显示预配置的图表。
-
将图表保存到信息中心:
- 在工具栏中,点击保存图表。
- 可选:更新图表标题。
- 使用信息中心菜单选择现有自定义信息中心或创建新信息中心。
- 点击保存图表。
使用 BigQuery 分析使用情况
以下步骤介绍了如何使用 BigQuery 分析日志数据。
您可以通过以下两种方法在 BigQuery 中分析日志数据:
- 创建日志接收器,并将日志数据导出到 BigQuery 数据集。
- 将存储日志数据的日志存储桶升级为使用 Log Analytics,然后创建关联的 BigQuery 数据集。
无论采用哪种方法,您都可以使用 SQL 查询和分析日志数据,还可以将这些查询的结果绘制成图表。如果您使用的是 Log Analytics,则可以将图表保存到自定义信息中心。但这两种方法在价格方面存在差异。如需了解详情,请参阅 Log Analytics 价格和 BigQuery 价格。
本部分介绍了如何创建日志接收器以将所选日志条目导出到 BigQuery,并提供了示例查询列表。如需详细了解 Log Analytics,请参阅使用 Log Analytics 查询和分析日志以及查询关联的 BigQuery 数据集。
创建日志接收器
-
在 Google Cloud 控制台中,前往日志路由器页面:
如果您使用搜索栏查找此页面,请选择子标题为 Logging 的结果。
- 选择您要路由的日志条目的来源 Google Cloud 项目。
- 选择创建接收器。
在接收器详情面板中,输入以下详细信息:
对于接收器名称,提供接收器的标识符。接收器创建后将无法重命名,但您可以将其删除并重新创建。
对于接收器说明,请描述接收器的用途或使用场景。
在接收器目标位置面板中,配置以下详细信息:
- 对于选择接收器服务,请选择 BigQuery 数据集。
- 对于选择 BigQuery 数据集,请创建一个新的 BigQuery 数据集并将其命名为
code_assist_bq。
打开选择要包含在接收器中的日志面板,然后在构建包含过滤器字段中输入以下内容:
resource.type="cloudaicompanion.googleapis.com/Instance" AND labels.product="code_assist"可选:如需验证您输入的过滤条件是否正确,请选择预览日志。Logs Explorer 会在新的标签页中打开,其中预填充了过滤条件。
点击创建接收器。
授权日志接收器将日志条目写入数据集
如果您拥有 BigQuery 数据集的所有者访问权限,Cloud Logging 会向日志接收器授予写入日志数据的必要权限。
如果您没有 Owner 访问权限,或在数据集中未看到任何条目,可能是日志接收器未被授予必要权限。如需解决此失败问题,请按照设置目标位置权限中的说明操作。
查询
您可以使用以下 BigQuery 示例查询,生成用户级和汇总级数据,了解每日活跃使用情况及建议生成量。
在使用以下示例查询之前,您必须获取新创建的接收器的完全限定路径。如需获取路径,请执行以下操作:
在 Google Cloud 控制台中,前往 BigQuery 页面。
在资源列表中,找到名为
code_assist_bq的数据集。此数据是接收器目标位置。从
code_assist_bq_dataset下方选择回答表格,点击 图标,然后点击复制 ID 以生成数据集 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