Aperçu
Requête
Votre clé de service avec l’autorisation “Teams Read-only”
Filtrer les résultats aux utilisateurs d’un groupe spécifique (facultatif)
Tableau d’objets de requête définissant les données à extraire
Structure de la requête
Source de données à interroger. Options :
QUERY_DATA_SOURCE_USER_DATA
- Données AutocompleteQUERY_DATA_SOURCE_CHAT_DATA
- Données ChatQUERY_DATA_SOURCE_COMMAND_DATA
- Données CommandQUERY_DATA_SOURCE_PCW_DATA
- Données Percent Code Written
Tableau des sélections de champs à récupérer (voir la section Selections)
Tableau de filtres à appliquer (voir la section Filters)
Tableau d’aggregations pour le regroupement (voir la section Aggregations)
Selections
Nom du champ à sélectionner (voir la section Available Fields)
Alias du champ. S’il n’est pas renseigné, la valeur par défaut est
{aggregation_function}_{field_name}
(en minuscules)Fonction d’agrégation à appliquer :
QUERY_AGGREGATION_UNSPECIFIED
(valeur par défaut)QUERY_AGGREGATION_COUNT
QUERY_AGGREGATION_SUM
QUERY_AGGREGATION_AVG
QUERY_AGGREGATION_MAX
QUERY_AGGREGATION_MIN
Exemple de sélection
Filtres
Nom du champ à filtrer
Valeur de comparaison
Opération de filtrage :
QUERY_FILTER_EQUAL
QUERY_FILTER_NOT_EQUAL
QUERY_FILTER_GREATER_THAN
QUERY_FILTER_LESS_THAN
QUERY_FILTER_GE
(supérieur ou égal)QUERY_FILTER_LE
(inférieur ou égal)
Exemple de filtre
Aggregations
Nom du champ à utiliser pour le regroupement
Alias du champ d’aggregation
Exemple d’agrégation
Champs disponibles
Données utilisateur
Nom du champ | Description | Agrégations valides |
---|---|---|
api_key | Hachage de la clé API de l’utilisateur | UNSPECIFIED, COUNT |
date | Date UTC de l’autocomplétion | UNSPECIFIED, COUNT |
date UTC-x | Date avec décalage de fuseau horaire (p. ex. « date UTC-8 » pour le PST) | UNSPECIFIED, COUNT |
hour | Heure UTC de l’autocomplétion | UNSPECIFIED, COUNT |
language | Langage de programmation | UNSPECIFIED, COUNT |
ide | IDE utilisé | UNSPECIFIED, COUNT |
version | Version de Windsurf | UNSPECIFIED, COUNT |
num_acceptances | Nombre d’acceptations Autocomplete | SUM, MAX, MIN, AVG |
num_lines_accepted | Lignes de code acceptées | SUM, MAX, MIN, AVG |
num_bytes_accepted | Octets acceptés | SUM, MAX, MIN, AVG |
distinct_users | Utilisateurs distincts | UNSPECIFIED, COUNT |
distinct_developer_days | Couples distincts (utilisateur, jour) | UNSPECIFIED, COUNT |
distinct_developer_hours | Couples distincts (utilisateur, heure) | UNSPECIFIED, COUNT |
Données Chat
Field Name | Description | Valid Aggregations |
---|---|---|
api_key | Hachage de la clé API de l’utilisateur | UNSPECIFIED, COUNT |
model_id | ID du modèle de Chat | UNSPECIFIED, COUNT |
date | Date UTC de la réponse de chat | UNSPECIFIED, COUNT |
date UTC-x | Date avec décalage de fuseau horaire | UNSPECIFIED, COUNT |
ide | IDE utilisé | UNSPECIFIED, COUNT |
version | Version de Windsurf | UNSPECIFIED, COUNT |
latest_intent_type | Type d’intention du Chat (voir Types d’intention ci‑dessous) | UNSPECIFIED, COUNT |
num_chats_received | Nombre de messages de chat reçus | SUM, MAX, MIN, AVG |
chat_accepted | Indique si le chat a été accepté (pouce levé) | SUM, COUNT |
chat_inserted_at_cursor | Indique si le bouton « Insert » a été cliqué | SUM, COUNT |
chat_applied | Indique si le bouton « Apply Diff » a été cliqué | SUM, COUNT |
chat_loc_used | Lignes de code utilisées à partir du chat | SUM, MAX, MIN, AVG |
Types d’intentions Chat
CHAT_INTENT_GENERIC
- Chat standardCHAT_INTENT_FUNCTION_EXPLAIN
- CodeLens d’explication de fonctionCHAT_INTENT_FUNCTION_DOCSTRING
- CodeLens de docstring de fonctionCHAT_INTENT_FUNCTION_REFACTOR
- CodeLens de refactorisation de fonctionCHAT_INTENT_CODE_BLOCK_EXPLAIN
- CodeLens d’explication de bloc de codeCHAT_INTENT_CODE_BLOCK_REFACTOR
- CodeLens de refactorisation de bloc de codeCHAT_INTENT_PROBLEM_EXPLAIN
- CodeLens d’explication de problèmeCHAT_INTENT_FUNCTION_UNIT_TESTS
- CodeLens de tests unitaires de fonction
Données Command
accepted
pour filtrer les seules commandes acceptées.
Field Name | Description | Valid Aggregations |
---|---|---|
api_key | Hachage de la clé API de l’utilisateur | UNSPECIFIED, COUNT |
date | Date UTC de la commande | UNSPECIFIED, COUNT |
timestamp | Horodatage UTC de la commande | UNSPECIFIED, COUNT |
language | Langage de programmation | UNSPECIFIED, COUNT |
ide | IDE utilisé | UNSPECIFIED, COUNT |
version | Version de Windsurf | UNSPECIFIED, COUNT |
command_source | Source du déclenchement de Command (voir Command Sources ci-dessous) | UNSPECIFIED, COUNT |
provider_source | Mode de génération ou d’édition | UNSPECIFIED, COUNT |
lines_added | Lignes de code ajoutées | SUM, MAX, MIN, AVG |
lines_removed | Lignes de code supprimées | SUM, MAX, MIN, AVG |
bytes_added | Octets ajoutés | SUM, MAX, MIN, AVG |
bytes_removed | Octets supprimés | SUM, MAX, MIN, AVG |
selection_lines | Lignes sélectionnées (zéro pour les générations) | SUM, MAX, MIN, AVG |
selection_bytes | Octets sélectionnés (zéro pour les générations) | SUM, MAX, MIN, AVG |
accepted | Indique si la commande a été acceptée | SUM, COUNT |
Sources de Command
COMMAND_REQUEST_SOURCE_LINE_HINT_CODE_LENS
COMMAND_REQUEST_SOURCE_DEFAULT
- Utilisation classique de CommandCOMMAND_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érationPROVIDER_SOURCE_COMMAND_EDIT
- Mode d’édition
Données PCW
Nom du champ | Description | Agrégations valides |
---|---|---|
percent_code_written | Calculé comme codeium_bytes / (codeium_bytes + user_bytes) | UNSPECIFIED |
codeium_bytes | Nombre total d’octets générés par Codeium | UNSPECIFIED |
user_bytes | Nombre total d’octets écrits par l’utilisateur | UNSPECIFIED |
total_bytes | codeium_bytes + user_bytes | UNSPECIFIED |
codeium_bytes_by_autocomplete | Octets Codeium provenant d’Autocomplete | UNSPECIFIED |
codeium_bytes_by_command | Octets Codeium provenant de Command | UNSPECIFIED |
Filtres PCW
Nom du champ | Description | Exemples |
---|---|---|
language | Langage de programmation | KOTLIN, GO, JAVA |
ide | IDE utilisé | jetbrains, vscode |
version | Version de Windsurf | 1.28.0, 130.0 |
start_timestamp
et end_timestamp
dans le corps de la requête.
Exemples de demandes
Exemple de données utilisateur
Exemple de données du Chat
Exemple de données de Command
Exemple de données PCW
Réponse
Exemples de réponses
Réponse de données utilisateur
Réponse de données du Chat
Réponse de données Command
Réponse de données PCW
Notes importantes
- Le PCW (Percent Code Written) peut fortement varier au cours d’une même journée ou d’un même utilisateur — agrégez sur plusieurs semaines pour des insights plus pertinents
- Tous les champs de sélection doivent soit avoir des fonctions d’agrégation, soit n’en avoir aucune (impossible de les mélanger)
- Les champs correspondant au motif “distinct_*” ne peuvent pas être utilisés dans des aggregations
- Les alias de champs doivent être uniques dans toutes les selections et aggregations
- Si aucune fonction d’agrégation n’est spécifiée, la valeur par défaut est UNSPECIFIED