Skip to main content
POST
Requête Analytics personnalisée

Vue d’ensemble

L’Analytics API personnalisée offre des capacités de requête flexibles pour les données Autocomplete, Chat et Command, avec des selections, des filtres, des aggregations et des tris personnalisables.

Requête

string
requis
Votre clé de service disposant des autorisations “Analytics Read”
string
Limiter les résultats aux utilisateurs d’un groupe spécifique (facultatif)
array
requis
Tableau d’objets de requête définissant les données à récupérer

Structure de la requête

Chaque objet de requête contient :
  • data_source (obligatoire) : Source de données à interroger
  • selections (obligatoire) : Tableau de sélections de champs à récupérer
  • filters (facultatif) : Tableau de filtres à appliquer
  • aggregations (facultatif) : Tableau d’aggregations pour le regroupement

Selections

Les selections définissent les champs à récupérer et la façon de les agréger.
  • field (obligatoire) : nom du champ à sélectionner
  • name (facultatif) : alias du champ
  • aggregation_function (facultatif) : fonction d’agrégation à appliquer

Exemple de sélection

Filtres

Les filtres restreignent les données aux éléments qui satisfont à des critères spécifiques.
  • name (obligatoire) : Nom du champ sur lequel appliquer le filtre
  • filter (obligatoire) : Opération de filtrage
  • value (obligatoire) : Valeur à comparer

Exemple de filtre

Agrégations

Les agrégations regroupent les données selon des critères spécifiés.
  • field (obligatoire) : Nom du champ à utiliser pour le regroupement
  • name (obligatoire) : Alias du champ d’agrégation

Exemple d’agrégation

Champs disponibles

Données utilisateur

Toutes les données utilisateur sont agrégées par utilisateur et par heure.

Données de Chat

Toutes les données de Chat correspondent aux réponses du modèle d’IA, et non aux questions des utilisateurs.

Types d’intentions de Chat

  • CHAT_INTENT_GENERIC - Chat classique
  • CHAT_INTENT_FUNCTION_EXPLAIN - CodeLens d’explication de fonction
  • CHAT_INTENT_FUNCTION_DOCSTRING - CodeLens de docstring de fonction
  • CHAT_INTENT_FUNCTION_REFACTOR - CodeLens de refactorisation de fonction
  • CHAT_INTENT_CODE_BLOCK_EXPLAIN - CodeLens d’explication de bloc de code
  • CHAT_INTENT_CODE_BLOCK_REFACTOR - CodeLens de refactorisation de bloc de code
  • CHAT_INTENT_PROBLEM_EXPLAIN - CodeLens d’explication de problème
  • CHAT_INTENT_FUNCTION_UNIT_TESTS - CodeLens de tests unitaires de fonction

Données de Command

Les données de Command incluent toutes les commandes, y compris celles refusées. Utilisez le champ accepted pour filtrer uniquement les commandes acceptées.

Sources de Command

  • COMMAND_REQUEST_SOURCE_LINE_HINT_CODE_LENS
  • COMMAND_REQUEST_SOURCE_DEFAULT - Utilisation typique de 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

Sources du fournisseur

  • PROVIDER_SOURCE_COMMAND_GENERATE - Mode génération
  • PROVIDER_SOURCE_COMMAND_EDIT - Mode édition

Données PCW

Données « Percent Code Written » avec un suivi distinct des contributions d’Autocomplete et de Command.

Filtres PCW

Pour filtrer par date dans les requêtes PCW, utilisez start_timestamp et end_timestamp dans le corps principal de la requête.

Exemples de demandes

Exemple de données utilisateur

Exemple de données pour Chat

Exemple de données de Command

Exemple de données PCW

Réponse

array
Tableau de résultats de requête, un par requête
array
Tableau d’éléments de résultats
object
Objet contenant les champs sélectionnés et leurs valeurs

Exemples de réponses

Réponse de données de l’utilisateur

Réponse de données du Chat

Réponse de données de Command

Réponse de PCW concernant les données

Notes importantes

  • Le PCW (Percent Code Written) présente une forte variance au cours d’une même journée ou pour un même utilisateur : agrégerez les données sur plusieurs semaines pour obtenir de meilleures informations
  • Tous les champs de selections doivent soit avoir des fonctions d’agrégation, soit n’en avoir aucune (on ne peut pas mélanger)
  • Les champs avec le motif “distinct_*” ne peuvent pas être utilisés dans des agrégations
  • Les alias de champ doivent être uniques sur l’ensemble des selections et des aggregations
  • Si aucune fonction d’agrégation n’est spécifiée, la valeur par défaut est UNSPECIFIED