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 agrupamento (veja a seção Aggregations)
Selections
Nome do campo a selecionar (consulte a seção Available Fields)
Apelido (alias) para o campo. Se não for especificado, o padrão é
{aggregation_function}_{field_name}
(em minúsculas)Função de agregação a aplicar:
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 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_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 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 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 (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