Consulta personalizada do Analytics
Analytics API
Consulta personalizada do Analytics
Consulta flexível do Analytics com selections, filtros e aggregations personalizados para dados de Autocomplete, Chat, Command e PCW.
POST
Consulta personalizada do Analytics
Visão geral
Request
Sua Service Key com permissões “Analytics Read”
Filtra os resultados para usuários de um grupo específico (opcional)
Array de objetos de requisição de consulta que definem os dados a serem obtidos
Estrutura da solicitação de consulta
- data_source (obrigatório): Fonte de dados a consultar
- selections (obrigatório): Array de seleções de campos a recuperar
- filters (opcional): Array de filtros a aplicar
- aggregations (opcional): Array de agregações para agrupar
Selections
- field (obrigatório): Nome do campo a selecionar
- name (opcional): Alias do campo
- aggregation_function (opcional): Função de agregação a ser aplicada
Exemplo de seleção
Filtros
- name (obrigatório): Nome do campo a ser usado no filtro
- filter (obrigatório): Operação de filtro
- value (obrigatório): Valor para comparação
Exemplo de filtro
Aggregations
- field (required): Nome do campo usado para agrupar
- name (required): Alias do campo de aggregation
Exemplo de agregação
Campos disponíveis
Dados do usuário
| Nome do campo | Descrição | Agregações válidas |
|---|---|---|
api_key | Hash da chave de API do usuário | UNSPECIFIED, COUNT |
date | Data em UTC do Autocomplete | UNSPECIFIED, COUNT |
date UTC-x | Data com deslocamento de fuso horário (por exemplo, “date UTC-8” para PST) | UNSPECIFIED, COUNT |
hour | Hora em UTC do Autocomplete | UNSPECIFIED, COUNT |
language | Linguagem de programação | UNSPECIFIED, COUNT |
ide | IDE em uso | UNSPECIFIED, COUNT |
version | Versão do Windsurf | UNSPECIFIED, COUNT |
num_acceptances | Número de aceitações do Autocomplete | SUM, MAX, MIN, AVG |
num_lines_accepted | Linhas de código aceitas | SUM, MAX, MIN, AVG |
num_bytes_accepted | Bytes aceitos | SUM, MAX, MIN, AVG |
distinct_users | Usuários distintos | UNSPECIFIED, COUNT |
distinct_developer_days | Tuplas distintas (usuário, dia) | UNSPECIFIED, COUNT |
distinct_developer_hours | Tuplas distintas (usuário, hora) | UNSPECIFIED, COUNT |
Dados do Chat
Os dados do Chat são separados dos dados do Cascade e representam o uso dos nossos plugins legados, não agentivos
| Field Name | Description | Valid Aggregations |
|---|---|---|
api_key | Hash da chave de API do usuário | UNSPECIFIED, COUNT |
model_id | ID do modelo de Chat | UNSPECIFIED, COUNT |
date | Data em UTC da resposta do chat | UNSPECIFIED, COUNT |
date UTC-x | Data com deslocamento de fuso horário | UNSPECIFIED, COUNT |
ide | IDE em uso | UNSPECIFIED, COUNT |
version | Versão do Windsurf | UNSPECIFIED, COUNT |
latest_intent_type | Tipo de intenção do Chat (veja Tipos de intenção abaixo) | UNSPECIFIED, COUNT |
num_chats_received | Número de mensagens de chat recebidas | SUM, MAX, MIN, AVG |
chat_accepted | Se o chat foi aceito (polegar para cima) | SUM, COUNT |
chat_inserted_at_cursor | Se o botão “Insert” foi clicado | SUM, COUNT |
chat_applied | Se o botão “Apply Diff” foi clicado | SUM, COUNT |
chat_loc_used | Linhas de código usadas pelo chat | SUM, MAX, MIN, AVG |
Tipos de intenção do Chat
CHAT_INTENT_GENERIC- Chat comumCHAT_INTENT_FUNCTION_EXPLAIN- Code lens de explicação de funçãoCHAT_INTENT_FUNCTION_DOCSTRING- Code lens de docstring de funçãoCHAT_INTENT_FUNCTION_REFACTOR- Code lens de refatoração de funçãoCHAT_INTENT_CODE_BLOCK_EXPLAIN- Code lens de explicação de bloco de códigoCHAT_INTENT_CODE_BLOCK_REFACTOR- Code lens de refatoração de bloco de códigoCHAT_INTENT_PROBLEM_EXPLAIN- Code lens de explicação de problemaCHAT_INTENT_FUNCTION_UNIT_TESTS- Code lens de testes unitários de função
Dados de Command
accepted para filtrar apenas os comandos aceitos.
| Field Name | Description | Valid Aggregations |
|---|---|---|
api_key | Hash da chave de API do usuário | UNSPECIFIED, COUNT |
date | Data UTC do comando | UNSPECIFIED, COUNT |
timestamp | Carimbo de data/hora (UTC) do comando | UNSPECIFIED, COUNT |
language | Linguagem de programação | UNSPECIFIED, COUNT |
ide | IDE em uso | UNSPECIFIED, COUNT |
version | Versão do Windsurf | UNSPECIFIED, COUNT |
command_source | Origem do acionamento do Command (veja Command Sources abaixo) | UNSPECIFIED, COUNT |
provider_source | Modo de geração ou edição | UNSPECIFIED, COUNT |
lines_added | Linhas de código adicionadas | SUM, MAX, MIN, AVG |
lines_removed | Linhas de código removidas | SUM, MAX, MIN, AVG |
bytes_added | Bytes adicionados | SUM, MAX, MIN, AVG |
bytes_removed | Bytes removidos | SUM, MAX, MIN, AVG |
selection_lines | Linhas selecionadas (zero para gerações) | SUM, MAX, MIN, AVG |
selection_bytes | Bytes selecionados (zero para gerações) | SUM, MAX, MIN, AVG |
accepted | Indica se o comando foi aceito | SUM, COUNT |
Fontes do Command
COMMAND_REQUEST_SOURCE_LINE_HINT_CODE_LENSCOMMAND_REQUEST_SOURCE_DEFAULT- Uso típico do 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
Fontes do provedor
PROVIDER_SOURCE_COMMAND_GENERATE- Modo de geraçãoPROVIDER_SOURCE_COMMAND_EDIT- Modo de edição
Dados de PCW
| Field Name | Description | Valid Aggregations |
|---|---|---|
percent_code_written | Calculado como codeium_bytes / (codeium_bytes + user_bytes) | UNSPECIFIED |
codeium_bytes | Total de bytes gerados pelo Codeium | UNSPECIFIED |
user_bytes | Total de bytes escritos pelo usuário | UNSPECIFIED |
total_bytes | codeium_bytes + user_bytes | UNSPECIFIED |
codeium_bytes_by_autocomplete | Bytes do Codeium provenientes de Autocomplete | UNSPECIFIED |
codeium_bytes_by_command | Bytes do Codeium provenientes de Command | UNSPECIFIED |
Filtros do PCW
| Nome do campo | Descrição | Exemplos |
|---|---|---|
language | Linguagem de programação | KOTLIN, GO, JAVA |
ide | IDE em uso | jetbrains, vscode |
version | Versão do Windsurf | 1.28.0, 130.0 |
start_timestamp e end_timestamp no corpo principal da requisição.
Exemplos de solicitações
Exemplo de dados do usuário
Exemplo de dados do Chat
Exemplo de dados do Command
Exemplo de dados do PCW
Resposta
Exemplos de respostas
Resposta de dados do usuário
Resposta de dados do Chat
Resposta de dados do Command
Resposta de dados do PCW
Notas importantes
- PCW (Percent Code Written) pode variar bastante ao longo de um único dia ou entre diferentes usuários – agregue por semanas para obter insights melhores
- Todos os campos em selections devem ou ter funções de agregação ou nenhum ter (não é possível misturar)
- Campos com o padrão “distinct_*” não podem ser usados em aggregations
- Apelidos de campos devem ser exclusivos em todas as selections e aggregations
- Se nenhuma função de agregação for especificada, o valor padrão será UNSPECIFIED