Consulta Personalizada de Analytics
Analytics API
Consulta Personalizada de Analytics
Consulta de Analytics flexível com selections, filtros e aggregations personalizados para dados de Autocomplete, Chat, Command e PCW.
POST
Consulta Personalizada de Analytics
Visão geral
Request
Sua Service Key com permissões de “Analytics Read”
Filtra os resultados para usuários em um grupo específico (opcional)
Array de objetos de requisição de consulta que definem os dados a serem recuperados
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 aggregations para agrupamento
Selections
- field (obrigatório): Nome do campo a selecionar
- name (opcional): Apelido (alias) para o campo
- aggregation_function (opcional): Função de agregação a aplicar
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 a ser usado na comparação
Exemplo de filtro
Aggregations
- field (obrigatório): Nome do campo usado para agrupar
- name (obrigatório): Alias para o 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 da autocompletação | 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 da autocompletação | 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 de Chat
| 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 offset 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 | Indica se o chat foi aceito (polegar para cima) | SUM, COUNT |
chat_inserted_at_cursor | Indica se o botão “Insert” foi clicado | SUM, COUNT |
chat_applied | Indica 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- CodeLens de explicação de funçãoCHAT_INTENT_FUNCTION_DOCSTRING- CodeLens de docstring de funçãoCHAT_INTENT_FUNCTION_REFACTOR- CodeLens de refatoração de funçãoCHAT_INTENT_CODE_BLOCK_EXPLAIN- CodeLens de explicação de bloco de códigoCHAT_INTENT_CODE_BLOCK_REFACTOR- CodeLens de refatoração de bloco de códigoCHAT_INTENT_PROBLEM_EXPLAIN- CodeLens de explicação de problemaCHAT_INTENT_FUNCTION_UNIT_TESTS- CodeLens de testes unitários de função
Dados do 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 | Timestamp (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) apresenta alta variância dentro de um mesmo dia ou entre usuários — faça agregações em janelas semanais para obter insights mais consistentes
- Todos os campos em selections devem ter funções de agregação, ou nenhum deles deve ter (não é possível misturar)
- Campos com o padrão “distinct_*” não podem ser usados em aggregations
- Os aliases de campos devem ser exclusivos em todas as selections e aggregations
- Se nenhuma função de agregação for especificada, o valor padrão é UNSPECIFIED