Skip to main content
POST
Consulta personalizada do 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 “Analytics Read”
string
Filtra os resultados para usuários de um grupo específico (opcional)
array
obrigatório
Array de objetos de requisição de consulta que definem os dados a serem obtidos

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 agregações para agrupar

Selections

Selections definem quais campos serão obtidos e como serão agregados.
  • field (obrigatório): Nome do campo a selecionar
  • name (opcional): Alias do campo
  • aggregation_function (opcional): Função de agregação a ser aplicada

Exemplo de seleção

Filtros

Filtros limitam 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 para comparação

Exemplo de filtro

Aggregations

As aggregations agrupam dados por critérios especificados.
  • field (required): Nome do campo usado para agrupar
  • name (required): Alias do 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 do Chat

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

Tipos de intenção do Chat

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

Dados de Command

Os dados de 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 requisição de consulta feita
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) pode variar bastante ao longo de um único dia ou entre diferentes usuários – agregue por semanas para obter insights melhores
  • Todos os campos em selections devem ou ter funções de agregação ou nenhum ter (não é possível misturar)
  • Campos com o padrão “distinct_*” não podem ser usados em aggregations
  • Apelidos de campos devem ser exclusivos em todas as selections e aggregations
  • Se nenhuma função de agregação for especificada, o valor padrão será UNSPECIFIED