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

Aperçu

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

Requête

string
requis
Votre clé de service avec l’autorisation « 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 des sélections de champs à récupérer
  • filters (facultatif) : Tableau de filtres à appliquer
  • aggregations (facultatif) : Tableau d’agrégations pour le regroupement

Selections

Les selections définissent les champs à récupérer et la manière de les agréger.
  • field (obligatoire) : Nom du champ à sélectionner
  • name (optionnel) : Alias du champ
  • aggregation_function (optionnel) : Fonction d’agrégation à appliquer

Exemple de sélection

Filtres

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

Exemple de filtre

Aggregations

Les aggregations regroupent les données selon des critères spécifiés.
  • field (requis) : Nom du champ sur lequel effectuer le regroupement
  • name (requis) : Alias du champ d’aggregation

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

Les données de Chat sont distinctes des données Cascade et correspondent à l’usage de nos plugins hérités non agentiques
Toutes les données de Chat correspondent aux réponses du modèle de chat, et non aux questions des utilisateurs.

Types d’intentions Chat

  • CHAT_INTENT_GENERIC - Chat standard
  • 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 Command

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

Sources de Command

  • COMMAND_REQUEST_SOURCE_LINE_HINT_CODE_LENS
  • COMMAND_REQUEST_SOURCE_DEFAULT - Utilisation classique 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 de génération
  • PROVIDER_SOURCE_COMMAND_EDIT - Mode d’édition

Données PCW

Données Percent Code Written avec suivi distinct des contributions Autocomplete et Command.

Filtres PCW

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

Exemples de demandes

Exemple de données utilisateur

Exemple de données de Chat

Exemple de données pour Command

Exemple de données PCW

Réponse

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

Exemples de réponses

Réponse de données utilisateur

Réponse de données de Chat

Réponse de données Command

Réponse de données PCW

Notes importantes

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