Consulta personalizada de Analytics
Analytics API
Consulta personalizada de Analytics
Consultas flexibles 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 “Analytics Read”
Filtra los resultados para usuarios de un grupo específico (opcional)
Array de objetos de solicitud de consulta que definen los datos a recuperar
Estructura de la solicitud de consulta
- data_source (obligatorio): Fuente de datos a consultar
- selections (obligatorio): Arreglo de selecciones de campos para recuperar
- filters (opcional): Arreglo de filtros a aplicar
- aggregations (opcional): Arreglo de aggregations para agrupar
Selections
- field (obligatorio): Nombre del campo a seleccionar
- name (opcional): Alias del campo
- aggregation_function (opcional): Función de agregación que se aplicará
Ejemplo de selección
Filtros
- name (obligatorio): Nombre del campo por el que filtrar
- filter (obligatorio): Operación de filtro
- value (obligatorio): Valor a comparar
Ejemplo de filtrado
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
| Nombre del campo | Descripción | Agregaciones válidas |
|---|---|---|
api_key | Hash de la clave de API del usuario | UNSPECIFIED, COUNT |
date | Fecha UTC de autocompletado | UNSPECIFIED, COUNT |
date UTC-x | Fecha con desfase de zona horaria (p. ej., “date UTC-8” para PST) | UNSPECIFIED, COUNT |
hour | Hora UTC de autocompletado | UNSPECIFIED, COUNT |
language | Lenguaje de programación | UNSPECIFIED, COUNT |
ide | IDE utilizado | 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
Los datos de Chat están separados de los datos de Cascade y representan el uso de nuestros plugins heredados, no agentivos
| 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 en UTC de la respuesta de chat | UNSPECIFIED, COUNT |
date UTC-x | Fecha con desplazamiento 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 de 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 el chat fue aceptado (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- Indicador Code Lens de explicación de funciónCHAT_INTENT_FUNCTION_DOCSTRING- Indicador Code Lens de docstring de funciónCHAT_INTENT_FUNCTION_REFACTOR- Indicador Code Lens de refactorización de funciónCHAT_INTENT_CODE_BLOCK_EXPLAIN- Indicador Code Lens de explicación de bloque de códigoCHAT_INTENT_CODE_BLOCK_REFACTOR- Indicador Code Lens de refactorización de bloque de códigoCHAT_INTENT_PROBLEM_EXPLAIN- Indicador Code Lens de explicación de problemaCHAT_INTENT_FUNCTION_UNIT_TESTS- Indicador Code Lens de pruebas unitarias de función
Datos de Command
accepted para filtrar únicamente los comandos aceptados.
| Nombre del campo | Descripción | Agregaciones válidas |
|---|---|---|
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 | Origen 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 | Si el comando fue aceptado | SUM, COUNT |
Fuentes 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 generaciónPROVIDER_SOURCE_COMMAND_EDIT- Modo 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 en uso | 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 del usuario
Ejemplo de datos de Chat
Ejemplo de datos de Command
Ejemplo de datos de PCW
Respuesta
Ejemplos de respuestas
Respuesta de datos del usuario
Respuesta de datos de Chat
Respuesta de datos de Command
Respuesta de datos de PCW
Notas importantes
- PCW (Percent Code Written) presenta una gran variabilidad dentro de un mismo día o entre usuarios; agrégalo por semanas para obtener información más útil
- Todos los campos de selección deben tener funciones de agregación 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 agregación, el valor predeterminado es UNSPECIFIED