Passer au contenu principal
POST
Requête d’analyse personnalisée

Vue d’ensemble

L’API d’analyse personnalisée permet d’interroger de manière flexible les données d’autocomplétion, de chat et de Command, avec des sélections, filtres, agrégations et tris personnalisables.

Requête

service_key
string
requis
Votre clé de service avec les autorisations « Analytics Read »
group_name
string
Filtrer les résultats pour n’inclure que les utilisateurs d’un groupe spécifique (facultatif)
query_requests
array
requis
Tableau d’objets de requête définissant les données à récupérer

Structure de l’objet de 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 des filtres à appliquer
  • aggregations (facultatif) : tableau des agrégations à utiliser pour le regroupement

Sélections

Les sélections définissent les champs à récupérer et la manière 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 permettent de restreindre les données aux éléments qui répondent à des critères spécifiques.
  • name (obligatoire) : Nom du champ sur lequel appliquer le filtre
  • filter (obligatoire) : Opération de filtrage
  • value (obligatoire) : Valeur à laquelle 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 selon lequel regrouper
  • 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, par heure.

Données de chat

Les données de chat sont distinctes des données Cascade et correspondent à l’utilisation de nos anciens plugins 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’intention du chat

  • CHAT_INTENT_GENERIC - Chat standard
  • CHAT_INTENT_FUNCTION_EXPLAIN - Code lens d’explication de fonction
  • CHAT_INTENT_FUNCTION_DOCSTRING - Code lens de docstring de fonction
  • CHAT_INTENT_FUNCTION_REFACTOR - Code lens de refactorisation de fonction
  • CHAT_INTENT_CODE_BLOCK_EXPLAIN - Code lens d’explication de bloc de code
  • CHAT_INTENT_CODE_BLOCK_REFACTOR - Code lens de refactorisation de bloc de code
  • CHAT_INTENT_PROBLEM_EXPLAIN - Code lens d’explication du problème
  • CHAT_INTENT_FUNCTION_UNIT_TESTS - Code lens de tests unitaires pour une fonction

Données de Command

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

Origines de Command

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

Données PCW

Données sur le pourcentage de code écrit, avec un suivi distinct des contributions de l’autocomplétion 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 requêtes

Exemple de données utilisateur

Exemple de données de chat

Exemple de données Command

Exemple de données PCW

Réponse

queryResults
array
Tableau des résultats de requête, un pour chaque requête
responseItems
array
Tableau des éléments de résultat
item
object
Objet contenant les champs sélectionnés et leurs valeurs

Exemples de réponses

Réponse de données utilisateur

Réponse des données de chat

Réponse de données de Command

Réponse de données PCW

Remarques importantes

  • Le PCW (Percent Code Written) présente une forte variabilité d’un jour à l’autre ou d’un utilisateur à l’autre - agréguez sur plusieurs semaines pour obtenir des résultats plus pertinents
  • Tous les champs de sélection doivent soit avoir une fonction d’agrégation, soit n’en avoir aucune (impossible de 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 dans l’ensemble des sélections et des agrégations
  • Si aucune fonction d’agrégation n’est spécifiée, la valeur par défaut est UNSPECIFIED