このドキュメントでは、Gemini Code Assist 指標を生成する方法について説明します。たとえば、Cloud Logging、Google Cloud CLI、Cloud Monitoring、BigQuery など、さまざまな Google Cloud プロダクトの 1 日あたりのアクティブな使用状況やコードの推奨の受け入れ状況を報告する指標を生成できます。
Gemini Code Assist のプロンプト、レスポンス、メタデータログを有効にして表示する必要がある場合は、Gemini Code Assist のログを表示するをご覧ください。
制限事項
このページの内容は、IDE 内の Gemini Code Assist でユーザー インタラクションの指標を生成する場合に適用されます。
Gemini CLI の指標をロギングするには、Open Telemetry を設定する必要があります。詳細については、Gemini CLI のテレメトリをご覧ください。
GitHub の Gemini Code Assist は、 Google Cloudでのロギングをサポートしていません。
始める前に
- プロジェクトで Gemini Code Assist が設定されていることを確認します。
プロジェクトで Gemini Code Assist のロギングが有効になっていることを確認します。
Google Cloud コンソールで Cloud Shell をアクティブにします。
Google Cloud コンソールの下部にある Cloud Shell セッションが開始し、コマンドライン プロンプトが表示されます。Cloud Shell はシェル環境です。Google Cloud CLI がすでにインストールされており、現在のプロジェクトの値もすでに設定されています。セッションが初期化されるまで数秒かかることがあります。
ユニーク ユーザー数を一覧表示する
次の手順では、gcloud CLI を使用して、直近の 28 日間に Gemini Code Assist を使用したユニーク ユーザー数を一覧表示する方法について説明します。
シェル環境で、gcloud CLI のインストール済みコンポーネントがすべて最新バージョンに更新されていることを確認します。
gcloud components updateGemini 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を使用すると、1 日あたりのユーザー数を一意に識別できます。出力は次のようになります。
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 を使用して、1 日あたりのアクティブな Gemini Code Assist ユーザーの合計数と 1 日あたりのリクエスト数を示す日次の使用状況グラフを作成する方法について説明します。
Gemini Code Assist ユーザーの数を記録するログデータから Monitoring 指標を作成します。
-
Google Cloud コンソールで、 [ログ エクスプローラ] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが [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という名前を付けます。 [フィルタの選択] が、ログが保存されている場所([プロジェクト] または [バケット])を参照するように設定されていることを確認します。
ログデータから Monitoring 指標を生成する方法については、ログベースの指標の概要をご覧ください。
[指標を作成] をクリックします。
指標が作成されたことを示す成功のバナーが表示されます。
成功のバナーで、[Metrics Explorer で表示] をクリックします。
Metrics Explorer が開き、事前構成されたグラフが表示されます。
-
グラフをダッシュボードに保存します。
- ツールバーで [グラフを保存] をクリックします。
- 省略可: [グラフのタイトル] を更新します。
- [ダッシュボード] メニューを使用して、既存のカスタム ダッシュボードを選択するか、新しいダッシュボードを作成します。
- [グラフを保存] をクリックします。
BigQuery を使用して使用状況を分析する
次の手順では、BigQuery を使用してログデータを分析する方法を示します。
BigQuery でログデータを分析するには、次の 2 つの方法があります。
- ログシンクを作成し、ログデータを BigQuery データセットにエクスポートします。
- ログデータを保存するログバケットをアップグレードしてオブザーバビリティ分析を使用し、リンクされた BigQuery データセットを作成します。
どちらのアプローチでも、SQL を使用してログデータのクエリと分析を行い、クエリの結果をグラフ化できます。オブザーバビリティ分析を使用している場合は、グラフをカスタム ダッシュボードに保存できます。ただし、料金には違いがあります。詳細については、オブザーバビリティ分析の料金と BigQuery の料金をご覧ください。
このセクションでは、選択したログエントリを BigQuery にエクスポートするログシンクを作成する方法について説明し、サンプルクエリのリストを示します。オブザーバビリティ分析の詳細については、オブザーバビリティ分析でログのクエリと分析を行うとリンクされた BigQuery データセットに対してクエリを実行するをご覧ください。
ログシンクを作成する
-
Google Cloud コンソールで、[ログルーター] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが「Logging」の結果を選択します。
- ルーティングしたいログエントリが発生している Google Cloud プロジェクトを選択します。
- [シンクを作成] を選択します。
[シンクの詳細] パネルで、次の詳細を入力します。
[シンク名] で、シンクの識別子を指定します。シンクを作成した後は、シンクの名前は変更できませんが、シンクを削除して新しいシンクを作成することはできます。
[シンクの説明] で、シンクの目的またはユースケースについて説明します。
[シンクのエクスポート先] パネルで、次の詳細を構成します。
- [シンクサービスの選択] で [BigQuery データセット] を選択します。
- [BigQuery データセットを選択] で、新しい BigQuery データセットを作成し、名前を
code_assist_bqにします。
[シンクに含めるログの選択] パネルを開き、[包含フィルタの作成] フィールドに次のように入力します。
resource.type="cloudaicompanion.googleapis.com/Instance" AND labels.product="code_assist"(省略可)正しいフィルタを入力したことを確認するには、[ログをプレビュー] を選択します。フィルタが事前に入力された状態で、ログ エクスプローラが新しいタブで開きます。
[シンクの作成] をクリックします。
ログシンクにデータセットへのログエントリの書き込みを許可する
BigQuery データセットに対するオーナー権限が付与されている場合、Cloud Logging はログシンクにログデータの書き込みに必要な権限を付与します。
所有者権限がない場合や、データセットにエントリが表示されない場合は、ログシンクに必要な権限がない可能性があります。このエラーを解決するには、エクスポート先の権限を設定するの手順に沿って操作します。
クエリ
次の BigQuery サンプルクエリを使用すると、1 日のアクティブ使用数や生成された提案に関するユーザーレベルと集計レベルのデータを生成できます。
次のサンプルクエリを使用する前に、新しく作成されたシンクの完全修飾パスを取得する必要があります。パスを取得する手順は次のとおりです。
Google Cloud コンソールで、[BigQuery] ページに移動します。
リソースリストで、
code_assist_bqという名前のデータセットを見つけます。このデータはシンクの宛先です。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
1 日あたりの集計リクエスト数を表示する(日付別)
SELECT COUNT(*), DATE(timestamp) as use_date
FROM GENERATED_BIGQUERY_TABLE
GROUP BY use_date
ORDER BY use_date
次のステップ
- Gemini Code Assist のロギングの詳細を確認する。
- Gemini Code Assist のモニタリングの詳細を確認する。