カスタム Analytics クエリ
Analytics API(アナリティクス API)
カスタム Analytics クエリ
Autocomplete、Chat、Command、PCW の各データに対して selections、フィルター、集計を指定できる柔軟な Analytics クエリ。
POST
カスタム Analytics クエリ
概要
Request
「Analytics Read」権限を持つお使いのサービスキー
結果を特定のグループに所属するユーザーに絞り込みます(任意)
取得するデータを定義するクエリリクエストオブジェクトの配列
クエリリクエストの構造
- data_source (必須): クエリ対象のデータソース
- selections (必須): 取得するフィールドを指定する selections の配列
- filters (任意): 適用するフィルタの配列
- aggregations (任意): グループ化に用いる集計の配列
Selections
- field (必須): 取得対象のフィールド名
- name (任意): フィールドのエイリアス
- aggregation_function (任意): 適用する集計関数
選択例
フィルター
- name(必須):フィルター対象とするフィールド名
- filter(必須):フィルター演算子
- value(必須):比較対象となる値
フィルター例
集計
- field (必須): グループ化に使用するフィールド名
- name (必須): 集計フィールドのエイリアス名
集計の例
利用可能なフィールド
ユーザーデータ
| フィールド名 | 説明 | 有効な集計 |
|---|---|---|
api_key | ユーザーAPIキーのハッシュ | UNSPECIFIED, COUNT |
date | AutocompleteのUTC日付 | UNSPECIFIED, COUNT |
date UTC-x | タイムゾーンオフセット付きの日付(例:「date UTC-8」はPST) | UNSPECIFIED, COUNT |
hour | AutocompleteのUTC時刻 | UNSPECIFIED, COUNT |
language | プログラミング言語 | UNSPECIFIED, COUNT |
ide | 使用中のIDE | UNSPECIFIED, COUNT |
version | Windsurfのバージョン | UNSPECIFIED, COUNT |
num_acceptances | Autocompleteの受け入れ回数 | SUM, MAX, MIN, AVG |
num_lines_accepted | 受け入れられたコード行数 | SUM, MAX, MIN, AVG |
num_bytes_accepted | 受け入れられたバイト数 | SUM, MAX, MIN, AVG |
distinct_users | ユニークユーザー数 | UNSPECIFIED, COUNT |
distinct_developer_days | ユニークな(ユーザー、日)タプル | UNSPECIFIED, COUNT |
distinct_developer_hours | ユニークな(ユーザー、時)タプル | UNSPECIFIED, COUNT |
Chat データ
| Field Name | Description | Valid Aggregations |
|---|---|---|
api_key | ユーザーの API キーのハッシュ | UNSPECIFIED, COUNT |
model_id | Chat の AI モデル ID | UNSPECIFIED, COUNT |
date | Chat 応答の UTC 日付 | UNSPECIFIED, COUNT |
date UTC-x | タイムゾーンオフセット付きの日付 | UNSPECIFIED, COUNT |
ide | 使用している IDE | UNSPECIFIED, COUNT |
version | Windsurf のバージョン | UNSPECIFIED, COUNT |
latest_intent_type | Chat のインテント種別(下記の Intent Types を参照) | UNSPECIFIED, COUNT |
num_chats_received | 受信したチャットメッセージ数 | SUM, MAX, MIN, AVG |
chat_accepted | チャットが承認されたか(サムズアップ) | SUM, COUNT |
chat_inserted_at_cursor | 「Insert」ボタンがクリックされたか | SUM, COUNT |
chat_applied | 「Apply Diff」ボタンがクリックされたか | SUM, COUNT |
chat_loc_used | Chat から使用されたコード行数 | SUM, MAX, MIN, AVG |
Chat のインテントタイプ
CHAT_INTENT_GENERIC- 通常の ChatCHAT_INTENT_FUNCTION_EXPLAIN- 関数の説明コードレンズCHAT_INTENT_FUNCTION_DOCSTRING- 関数のドックストリング用コードレンズCHAT_INTENT_FUNCTION_REFACTOR- 関数のリファクタリング用コードレンズCHAT_INTENT_CODE_BLOCK_EXPLAIN- コードブロックの説明コードレンズCHAT_INTENT_CODE_BLOCK_REFACTOR- コードブロックのリファクタリング用コードレンズCHAT_INTENT_PROBLEM_EXPLAIN- 問題の説明コードレンズCHAT_INTENT_FUNCTION_UNIT_TESTS- 関数のユニットテスト用コードレンズ
Command データ
accepted フィールドを使用して、受け入れられたコマンドのみに絞り込んでください。
| フィールド名 | 説明 | 有効な集計 |
|---|---|---|
api_key | ユーザー API キーのハッシュ | UNSPECIFIED, COUNT |
date | コマンドの UTC 日付 | UNSPECIFIED, COUNT |
timestamp | コマンドの UTC タイムスタンプ | UNSPECIFIED, COUNT |
language | プログラミング言語 | UNSPECIFIED, COUNT |
ide | 使用している IDE | UNSPECIFIED, COUNT |
version | Windsurf のバージョン | UNSPECIFIED, COUNT |
command_source | Command のトリガー元(下記の Command Sources を参照) | UNSPECIFIED, COUNT |
provider_source | 生成モードまたは編集モード | UNSPECIFIED, COUNT |
lines_added | 追加されたコード行数 | SUM, MAX, MIN, AVG |
lines_removed | 削除されたコード行数 | SUM, MAX, MIN, AVG |
bytes_added | 追加されたバイト数 | SUM, MAX, MIN, AVG |
bytes_removed | 削除されたバイト数 | SUM, MAX, MIN, AVG |
selection_lines | 選択された行数(生成時は 0) | SUM, MAX, MIN, AVG |
selection_bytes | 選択されたバイト数(生成時は 0) | SUM, MAX, MIN, AVG |
accepted | コマンドが受け入れられたか | SUM, COUNT |
Command のソース
COMMAND_REQUEST_SOURCE_LINE_HINT_CODE_LENSCOMMAND_REQUEST_SOURCE_DEFAULT- 一般的な Command の使用COMMAND_REQUEST_SOURCE_RIGHT_CLICK_REFACTORCOMMAND_REQUEST_SOURCE_FUNCTION_CODE_LENSCOMMAND_REQUEST_SOURCE_FOLLOWUPCOMMAND_REQUEST_SOURCE_CLASS_CODE_LENSCOMMAND_REQUEST_SOURCE_PLANCOMMAND_REQUEST_SOURCE_SELECTION_HINT_CODE_LENS
プロバイダーのソース
PROVIDER_SOURCE_COMMAND_GENERATE- 生成モードPROVIDER_SOURCE_COMMAND_EDIT- 編集モード
PCW データ
| Field Name | Description | Valid Aggregations |
|---|---|---|
percent_code_written | codeium_bytes / (codeium_bytes + user_bytes) で算出 | UNSPECIFIED |
codeium_bytes | Codeium が生成したバイト数の合計 | UNSPECIFIED |
user_bytes | ユーザーが記述したバイト数の合計 | UNSPECIFIED |
total_bytes | codeium_bytes + user_bytes | UNSPECIFIED |
codeium_bytes_by_autocomplete | Autocomplete による Codeium のバイト数 | UNSPECIFIED |
codeium_bytes_by_command | Command による Codeium のバイト数 | UNSPECIFIED |
PCW フィルター
| フィールド名 | 説明 | 例 |
|---|---|---|
language | プログラミング言語 | KOTLIN, GO, JAVA |
ide | 使用している IDE | jetbrains, vscode |
version | Windsurf のバージョン | 1.28.0, 130.0 |
start_timestamp と end_timestamp を使用してください。
例示リクエスト
ユーザー データの例
Chat データの例
Command データの例
PCW データの例
レスポンス
応答例
ユーザーデータの応答
Chat データのレスポンス
Command データレスポンス
PCW データ応答
重要な注意事項
- PCW(Percent Code Written)は日単位・ユーザー単位では値のばらつきが大きいため、より良いインサイトを得るには週単位で集計してください
- すべての selection フィールドは、集計関数をすべてに指定するか、いずれにも指定しないかのどちらかでなければなりません(混在不可)
- “distinct_*” パターンを持つフィールドは集計には使用できません
- フィールドのエイリアスは、すべての selections および aggregations をまたいで一意でなければなりません
- 集計関数が指定されていない場合、デフォルトで UNSPECIFIED が使用されます