Visão geral
Solicitação
Sua Service Key com permissões “Teams Read-only”
Filtre os resultados para usuários de um grupo específico (opcional)
Array de objetos de solicitação de consulta que definem os dados a serem recuperados
Estrutura da solicitação de consulta
Fonte de dados a consultar. Opções:
QUERY_DATA_SOURCE_USER_DATA
- dados de AutocompleteQUERY_DATA_SOURCE_CHAT_DATA
- dados de ChatQUERY_DATA_SOURCE_COMMAND_DATA
- dados de CommandQUERY_DATA_SOURCE_PCW_DATA
- dados de Percent Code Written
Array de seleções de campos a recuperar (veja a seção Selections)
Array de filtros a aplicar (veja a seção Filters)
Array de aggregations para agrupar (veja a seção Aggregations)
Selections
Nome do campo a selecionar (consulte a seção Available Fields)
Alias do campo. Se não for especificado, o padrão será
{aggregation_function}_{field_name}
(em minúsculas)Função de agregação a ser aplicada:
QUERY_AGGREGATION_UNSPECIFIED
(padrão)QUERY_AGGREGATION_COUNT
QUERY_AGGREGATION_SUM
QUERY_AGGREGATION_AVG
QUERY_AGGREGATION_MAX
QUERY_AGGREGATION_MIN
Exemplo de seleção
Filtros
Nome do campo a ser filtrado
Valor a ser comparado
Operação de filtro:
QUERY_FILTER_EQUAL
QUERY_FILTER_NOT_EQUAL
QUERY_FILTER_GREATER_THAN
QUERY_FILTER_LESS_THAN
QUERY_FILTER_GE
(maior ou igual)QUERY_FILTER_LE
(menor ou igual)
Exemplo de filtro
Aggregations
Nome do campo pelo qual agrupar
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 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
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 do 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 a partir do 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_LENS
COMMAND_REQUEST_SOURCE_DEFAULT
- Uso típico do CommandCOMMAND_REQUEST_SOURCE_RIGHT_CLICK_REFACTOR
COMMAND_REQUEST_SOURCE_FUNCTION_CODE_LENS
COMMAND_REQUEST_SOURCE_FOLLOWUP
COMMAND_REQUEST_SOURCE_CLASS_CODE_LENS
COMMAND_REQUEST_SOURCE_PLAN
COMMAND_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 de 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
Observações importantes
- O PCW (Percent Code Written) apresenta alta variabilidade ao longo de um mesmo dia ou entre usuários — agregue por semanas para obter insights melhores
- Todos os campos de seleção devem ou ter funções de agregação, ou nenhum deve tê-las (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 padrão será UNSPECIFIED