Consulta personalizada de Analytics
Analytics API
Consulta personalizada de Analytics
Consulta flexible de Analytics con selections, filtros y aggregations personalizados para datos de Autocomplete, Chat, Command y PCW.
POST
Consulta personalizada de Analytics
Descripción general
Request
Tu clave de servicio con permisos de “Analytics Read”
Limita los resultados a usuarios de un grupo específico (opcional)
Array de objetos de consulta que definen los datos a recuperar
Estructura de la solicitud de consulta
- data_source (obligatorio): Fuente de datos a consultar
- selections (obligatorio): Matriz de selecciones de campos que se recuperarán
- filters (opcional): Matriz de filtros que se aplicarán
- aggregations (opcional): Matriz de agregaciones para agrupar
Selections
- field (obligatorio): Nombre del campo a seleccionar
- name (opcional): Alias del campo
- aggregation_function (opcional): Función de agregación a aplicar
Ejemplo de selección
Filtros
- name (obligatorio): Nombre del campo por el que filtrar
- filter (obligatorio): Operación de filtro
- value (obligatorio): Valor con el que comparar
Ejemplo de filtro
Aggregations
- field (obligatorio): Nombre del campo por el que agrupar
- name (obligatorio): Alias para el campo de agregación
Ejemplo de agregación
Campos disponibles
Datos de usuario
| Field Name | Description | Valid Aggregations |
|---|---|---|
api_key | Hash de la clave de API del usuario | UNSPECIFIED, COUNT |
date | Fecha UTC del autocompletado | UNSPECIFIED, COUNT |
date UTC-x | Fecha con desplazamiento de zona horaria (p. ej., “date UTC-8” para PST) | UNSPECIFIED, COUNT |
hour | Hora UTC del autocompletado | UNSPECIFIED, COUNT |
language | Lenguaje de programación | UNSPECIFIED, COUNT |
ide | IDE en uso | UNSPECIFIED, COUNT |
version | Versión de Windsurf | UNSPECIFIED, COUNT |
num_acceptances | Número de aceptaciones de Autocomplete | SUM, MAX, MIN, AVG |
num_lines_accepted | Líneas de código aceptadas | SUM, MAX, MIN, AVG |
num_bytes_accepted | Bytes aceptados | SUM, MAX, MIN, AVG |
distinct_users | Usuarios únicos | UNSPECIFIED, COUNT |
distinct_developer_days | Tuplas únicas (usuario, día) | UNSPECIFIED, COUNT |
distinct_developer_hours | Tuplas únicas (usuario, hora) | UNSPECIFIED, COUNT |
Datos de Chat
| Field Name | Description | Valid Aggregations |
|---|---|---|
api_key | Hash de la clave de API del usuario | UNSPECIFIED, COUNT |
model_id | ID del modelo de Chat | UNSPECIFIED, COUNT |
date | Fecha UTC de la respuesta del Chat | UNSPECIFIED, COUNT |
date UTC-x | Fecha con desfase de zona horaria | UNSPECIFIED, COUNT |
ide | IDE en uso | UNSPECIFIED, COUNT |
version | Versión de Windsurf | UNSPECIFIED, COUNT |
latest_intent_type | Tipo de intención del Chat (ver Tipos de intención más abajo) | UNSPECIFIED, COUNT |
num_chats_received | Número de mensajes de Chat recibidos | SUM, MAX, MIN, AVG |
chat_accepted | Si se aceptó el Chat (pulgar arriba) | SUM, COUNT |
chat_inserted_at_cursor | Si se hizo clic en el botón “Insert” | SUM, COUNT |
chat_applied | Si se hizo clic en el botón “Apply Diff” | SUM, COUNT |
chat_loc_used | Líneas de código usadas desde el Chat | SUM, MAX, MIN, AVG |
Tipos de intención de Chat
CHAT_INTENT_GENERIC- Chat normalCHAT_INTENT_FUNCTION_EXPLAIN- Code Lens de explicación de funciónCHAT_INTENT_FUNCTION_DOCSTRING- Code Lens de docstring de funciónCHAT_INTENT_FUNCTION_REFACTOR- Code Lens de refactorización de funciónCHAT_INTENT_CODE_BLOCK_EXPLAIN- Code Lens de explicación de bloque de códigoCHAT_INTENT_CODE_BLOCK_REFACTOR- Code Lens de refactorización de bloque de códigoCHAT_INTENT_PROBLEM_EXPLAIN- Code Lens de explicación de problemaCHAT_INTENT_FUNCTION_UNIT_TESTS- Code Lens de pruebas unitarias de función
Datos de Command
accepted para filtrar solo los comandos aceptados.
| Field Name | Description | Valid Aggregations |
|---|---|---|
api_key | Hash de la clave de API del usuario | UNSPECIFIED, COUNT |
date | Fecha UTC del comando | UNSPECIFIED, COUNT |
timestamp | Marca de tiempo UTC del comando | UNSPECIFIED, COUNT |
language | Lenguaje de programación | UNSPECIFIED, COUNT |
ide | IDE en uso | UNSPECIFIED, COUNT |
version | Versión de Windsurf | UNSPECIFIED, COUNT |
command_source | Fuente del disparador de Command (ver Command Sources más abajo) | UNSPECIFIED, COUNT |
provider_source | Modo de generación o edición | UNSPECIFIED, COUNT |
lines_added | Líneas de código agregadas | SUM, MAX, MIN, AVG |
lines_removed | Líneas de código eliminadas | SUM, MAX, MIN, AVG |
bytes_added | Bytes agregados | SUM, MAX, MIN, AVG |
bytes_removed | Bytes eliminados | SUM, MAX, MIN, AVG |
selection_lines | Líneas seleccionadas (cero en generaciones) | SUM, MAX, MIN, AVG |
selection_bytes | Bytes seleccionados (cero en generaciones) | SUM, MAX, MIN, AVG |
accepted | Indica si el comando fue aceptado | SUM, COUNT |
Orígenes de Command
COMMAND_REQUEST_SOURCE_LINE_HINT_CODE_LENSCOMMAND_REQUEST_SOURCE_DEFAULT- Uso típico de CommandCOMMAND_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
Fuentes del proveedor
PROVIDER_SOURCE_COMMAND_GENERATE- Modo de generaciónPROVIDER_SOURCE_COMMAND_EDIT- Modo de edición
Datos de PCW
| Field Name | Description | Valid Aggregations |
|---|---|---|
percent_code_written | Calculado como codeium_bytes / (codeium_bytes + user_bytes) | UNSPECIFIED |
codeium_bytes | Total de bytes generados por Codeium | UNSPECIFIED |
user_bytes | Total de bytes escritos por el usuario | UNSPECIFIED |
total_bytes | codeium_bytes + user_bytes | UNSPECIFIED |
codeium_bytes_by_autocomplete | Bytes de Codeium provenientes de Autocomplete | UNSPECIFIED |
codeium_bytes_by_command | Bytes de Codeium provenientes de Command | UNSPECIFIED |
Filtros de PCW
| Nombre del campo | Descripción | Ejemplos |
|---|---|---|
language | Lenguaje de programación | KOTLIN, GO, JAVA |
ide | IDE utilizado | jetbrains, vscode |
version | Versión de Windsurf | 1.28.0, 130.0 |
start_timestamp y end_timestamp en el cuerpo principal de la solicitud.
Ejemplos de solicitudes
Ejemplo de datos de usuario
Ejemplo de datos de Chat
Ejemplo de datos de Command
Ejemplo de datos de PCW
Respuesta
Ejemplos de respuestas
Respuesta de datos de usuario
Respuesta de datos del Chat
Respuesta de datos de Command
Respuesta de datos de PCW
Notas importantes
- PCW (Percent Code Written) tiene una alta variabilidad en un mismo día o entre usuarios; agrégalo por semanas para obtener mejores conclusiones
- Todos los campos de selections deben tener funciones de aggregations o ninguno debe tenerlas (no se pueden mezclar)
- Los campos con el patrón “distinct_*” no se pueden usar en aggregations
- Los alias de campos deben ser únicos en todas las selections y aggregations
- Si no se especifica ninguna función de aggregations, el valor predeterminado es UNSPECIFIED