Skip to main content
POST
Consulta Personalizada de Analytics

Visão geral

A Analytics API personalizada oferece recursos flexíveis de consulta para dados de Autocomplete, Chat e Command, com selections, filtros, aggregations e ordenações personalizáveis.

Request

string
obrigatório
Sua Service Key com permissões de “Analytics Read”
string
Filtra os resultados para usuários em um grupo específico (opcional)
array
obrigatório
Array de objetos de requisição de consulta que definem os dados a serem recuperados

Estrutura da solicitação de consulta

Cada objeto de solicitação de consulta contém:
  • 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

Selections definem quais campos recuperar e como agregá-los.
  • 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

Filtros restringem os dados a elementos que atendem a critérios específicos.
  • 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

Aggregations agrupam dados com base em critérios especificados.
  • 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

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

Dados de Chat

Todos os Dados de Chat representam respostas do modelo de chat, não perguntas do usuário.

Tipos de intenção do Chat

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

Dados do Command

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

Fontes do Command

  • COMMAND_REQUEST_SOURCE_LINE_HINT_CODE_LENS
  • COMMAND_REQUEST_SOURCE_DEFAULT - Uso típico do Command
  • 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

Fontes do provedor

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

Dados de PCW

Dados de Percent Code Written com rastreamento separado para contribuições de Autocomplete e Command.

Filtros do PCW

Para filtrar por data em consultas do PCW, use 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

array
Array de resultados de consulta, um para cada solicitação de consulta
array
Array de itens de resultado
object
Objeto contendo os campos selecionados e seus valores

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