Pular para o conteúdo principal
POST
Consulta personalizada de Custom Analytics

Visão geral

A API Custom Analytics permite consultas flexíveis em dados de preenchimento automático, chat e comandos, com seleções, filtros, agregações e ordenações personalizáveis.

Requisição

service_key
string
obrigatório
Sua chave de serviço com permissão “Analytics Read”
group_name
string
Filtra os resultados para usuários em um grupo específico (opcional)
query_requests
array
obrigatório
Array de objetos de requisição de consulta que definem os dados a recuperar

Estrutura da requisição de consulta

Cada objeto de requisição de consulta contém:
  • data_source (obrigatório): Fonte de dados a consultar
  • selections (obrigatório): Array de campos selecionados para recuperar
  • filters (opcional): Array de filtros a aplicar
  • aggregations (opcional): Array de agregações para agrupamento

Seleções

As seleções definem quais campos recuperar e como agregá-los.
  • field (obrigatório): Nome do campo a ser selecionado
  • name (opcional): Alias do campo
  • aggregation_function (opcional): Função de agregação a ser aplicada

Exemplo de seleção

Filtros

Os filtros restringem os dados aos elementos que atendem a critérios específicos.
  • name (obrigatório): Nome do campo usado para filtrar
  • filter (obrigatório): Operação de filtro
  • value (obrigatório): Valor de comparação

Exemplo de filtro

Agregações

As agregações agrupam os dados com base nos critérios especificados.
  • field (obrigatório): Nome do campo pelo qual agrupar
  • name (obrigatório): Alias do campo de agregação

Exemplo de agregação

Campos disponíveis

Dados do usuário

Todos os dados do usuário são agregados por usuário, por hora.

Dados de chat

Os dados de chat são separados dos dados do Cascade e representam o uso dos nossos plugins legados, sem agentes
Todos os Dados de chat representam respostas do modelo de chat, não perguntas do usuário.

Tipos de intenção de chat

  • CHAT_INTENT_GENERIC - Chat normal
  • CHAT_INTENT_FUNCTION_EXPLAIN - CodeLens de explicação da função
  • CHAT_INTENT_FUNCTION_DOCSTRING - CodeLens de docstring da função
  • CHAT_INTENT_FUNCTION_REFACTOR - CodeLens de refatoração da função
  • CHAT_INTENT_CODE_BLOCK_EXPLAIN - CodeLens de explicação do bloco de código
  • CHAT_INTENT_CODE_BLOCK_REFACTOR - CodeLens de refatoração do bloco de código
  • CHAT_INTENT_PROBLEM_EXPLAIN - CodeLens de explicação do problema
  • CHAT_INTENT_FUNCTION_UNIT_TESTS - CodeLens de testes unitários da função

dados de comando

Os dados de comando incluem todos os comandos, inclusive os recusados. Use o campo accepted para filtrar apenas os comandos aceitos.

Origens do comando

  • COMMAND_REQUEST_SOURCE_LINE_HINT_CODE_LENS
  • COMMAND_REQUEST_SOURCE_DEFAULT - Uso comum do comando
  • COMMAND_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

Origens do provedor

  • PROVIDER_SOURCE_COMMAND_GENERATE - Modo de geração
  • PROVIDER_SOURCE_COMMAND_EDIT - Modo de edição

Dados de PCW

Dados de Percentual de Código Escrito com rastreamento separado para contribuições de preenchimento automático e de comando.

Filtros de PCW

Para filtrar por data em consultas de PCW, use start_timestamp e end_timestamp no corpo principal da requisição.

Exemplos de requisições

Exemplo de dados do usuário

Exemplo de dados de chat

Exemplo de dados de comando

Exemplo de dados de PCW

Resposta

queryResults
array
Array de resultados da consulta, um para cada requisição de consulta
responseItems
array
Array de itens de resultado
item
object
Objeto que contém os campos selecionados e seus valores

Exemplos de resposta

Resposta de dados do usuário

Resposta de dados de chat

Resposta de dados de comando

Resposta de dados de PCW

Notas importantes

  • O PCW (Percent Code Written) apresenta alta variabilidade em um mesmo dia ou entre usuários — agregue ao longo de semanas para obter melhores insights
  • Todos os campos de seleção devem ter funções de agregação, ou nenhum deve ter (não é possível misturar)
  • Campos com o padrão “distinct_*” não podem ser usados em agregações
  • Os aliases dos campos devem ser exclusivos em todas as seleções e agregações
  • Se nenhuma função de agregação for especificada, o padrão será UNSPECIFIED