Prezentare generală
Cerere
Cheia ta de serviciu cu permisiuni „Teams Read-only”
Filtrează rezultatele la utilizatorii dintr-un anumit grup (opțional)
Array de obiecte de solicitare a interogării care definesc datele de extras
Structura cererii de interogare
Sursa de date pentru interogare. Opțiuni:
QUERY_DATA_SOURCE_USER_DATA
- date AutocompleteQUERY_DATA_SOURCE_CHAT_DATA
- date ChatQUERY_DATA_SOURCE_COMMAND_DATA
- date CommandQUERY_DATA_SOURCE_PCW_DATA
- date Percent Code Written
Array de selecții de câmp de returnat (vezi secțiunea Selections)
Array de filtre de aplicat (vezi secțiunea Filters)
Array de agregări pentru grupare (vezi secțiunea Aggregations)
Selections
Numele câmpului de selectat (vezi secțiunea Available Fields)
Alias pentru câmp. Dacă nu este specificat, valoarea implicită este
{aggregation_function}_{field_name}
(cu litere mici)Funcția de agregare de aplicat:
QUERY_AGGREGATION_UNSPECIFIED
(implicit)QUERY_AGGREGATION_COUNT
QUERY_AGGREGATION_SUM
QUERY_AGGREGATION_AVG
QUERY_AGGREGATION_MAX
QUERY_AGGREGATION_MIN
Exemplu de selecție
Filtre
Numele câmpului după care se filtrează
Valoarea de comparat
Operațiune de filtrare:
QUERY_FILTER_EQUAL
QUERY_FILTER_NOT_EQUAL
QUERY_FILTER_GREATER_THAN
QUERY_FILTER_LESS_THAN
QUERY_FILTER_GE
(mai mare sau egal cu)QUERY_FILTER_LE
(mai mic sau egal cu)
Exemplu de filtrare
Agregations
Numele câmpului după care se grupează
Alias pentru câmpul de agregare
Exemplu de agregare
Câmpuri disponibile
Date despre utilizator
Nume câmp | Descriere | Agregări valide |
---|---|---|
api_key | Hash-ul cheii API a utilizatorului | NESPECIFICAT, COUNT |
date | Data UTC a completării automate | NESPECIFICAT, COUNT |
date UTC-x | Dată cu decalaj de fus orar (de ex., „date UTC-8” pentru PST) | NESPECIFICAT, COUNT |
hour | Ora UTC a completării automate | NESPECIFICAT, COUNT |
language | Limbaj de programare | NESPECIFICAT, COUNT |
ide | IDE utilizat | NESPECIFICAT, COUNT |
version | Versiunea Windsurf | NESPECIFICAT, COUNT |
num_acceptances | Număr de acceptări Autocomplete | SUM, MAX, MIN, AVG |
num_lines_accepted | Linii de cod acceptate | SUM, MAX, MIN, AVG |
num_bytes_accepted | Octeți acceptați | SUM, MAX, MIN, AVG |
distinct_users | Utilizatori unici | NESPECIFICAT, COUNT |
distinct_developer_days | Perechi distincte (utilizator, zi) | NESPECIFICAT, COUNT |
distinct_developer_hours | Perechi distincte (utilizator, oră) | NESPECIFICAT, COUNT |
Date de Chat
Field Name | Description | Valid Aggregations |
---|---|---|
api_key | Hash-ul cheii API a utilizatorului | UNSPECIFIED, COUNT |
model_id | ID-ul modelului de Chat | UNSPECIFIED, COUNT |
date | Data UTC a răspunsului din chat | UNSPECIFIED, COUNT |
date UTC-x | Data cu decalaj de fus orar | UNSPECIFIED, COUNT |
ide | IDE utilizat | UNSPECIFIED, COUNT |
version | Versiunea Windsurf | UNSPECIFIED, COUNT |
latest_intent_type | Tipul intenției din Chat (vezi Tipuri de intenții mai jos) | UNSPECIFIED, COUNT |
num_chats_received | Numărul de mesaje de chat primite | SUM, MAX, MIN, AVG |
chat_accepted | Dacă chatul a fost acceptat (apreciere cu thumbs up) | SUM, COUNT |
chat_inserted_at_cursor | Dacă a fost apăsat butonul „Insert” | SUM, COUNT |
chat_applied | Dacă a fost apăsat butonul „Apply Diff” | SUM, COUNT |
chat_loc_used | Linii de cod folosite din chat | SUM, MAX, MIN, AVG |
Tipuri de intent Chat
CHAT_INTENT_GENERIC
- Chat obișnuitCHAT_INTENT_FUNCTION_EXPLAIN
- Code Lens pentru explicarea funcțieiCHAT_INTENT_FUNCTION_DOCSTRING
- Code Lens pentru docstringul funcțieiCHAT_INTENT_FUNCTION_REFACTOR
- Code Lens pentru refactorizarea funcțieiCHAT_INTENT_CODE_BLOCK_EXPLAIN
- Code Lens pentru explicarea blocului de codCHAT_INTENT_CODE_BLOCK_REFACTOR
- Code Lens pentru refactorizarea blocului de codCHAT_INTENT_PROBLEM_EXPLAIN
- Code Lens pentru explicarea problemeiCHAT_INTENT_FUNCTION_UNIT_TESTS
- Code Lens pentru testele unitare ale funcției
Date despre Command
accepted
pentru a filtra doar comenzile acceptate.
Numele câmpului | Descriere | Agregări valide |
---|---|---|
api_key | Hash-ul cheii API a utilizatorului | UNSPECIFIED, COUNT |
date | Data UTC a comenzii | UNSPECIFIED, COUNT |
timestamp | Marcajul temporal (UTC) al comenzii | UNSPECIFIED, COUNT |
language | Limbaj de programare | UNSPECIFIED, COUNT |
ide | IDE utilizat | UNSPECIFIED, COUNT |
version | Versiunea Windsurf | UNSPECIFIED, COUNT |
command_source | Sursa declanșării Command (vedeți Command Sources mai jos) | UNSPECIFIED, COUNT |
provider_source | Mod de generare sau editare | UNSPECIFIED, COUNT |
lines_added | Linii de cod adăugate | SUM, MAX, MIN, AVG |
lines_removed | Linii de cod eliminate | SUM, MAX, MIN, AVG |
bytes_added | Octeți adăugați | SUM, MAX, MIN, AVG |
bytes_removed | Octeți eliminați | SUM, MAX, MIN, AVG |
selection_lines | Linii selectate (zero pentru generări) | SUM, MAX, MIN, AVG |
selection_bytes | Octeți selectați (zero pentru generări) | SUM, MAX, MIN, AVG |
accepted | Dacă a fost acceptată comanda | SUM, COUNT |
Surse Command
COMMAND_REQUEST_SOURCE_LINE_HINT_CODE_LENS
COMMAND_REQUEST_SOURCE_DEFAULT
- Utilizare tipică a 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
Surse ale furnizorului
PROVIDER_SOURCE_COMMAND_GENERATE
- Modul de generarePROVIDER_SOURCE_COMMAND_EDIT
- Modul de editare
Date PCW
Numele câmpului | Descriere | Agregări valide |
---|---|---|
percent_code_written | Calculat ca codeium_bytes / (codeium_bytes + user_bytes) | UNSPECIFIED |
codeium_bytes | Totalul de bytes generați de Codeium | UNSPECIFIED |
user_bytes | Totalul de bytes scriși de utilizator | UNSPECIFIED |
total_bytes | codeium_bytes + user_bytes | UNSPECIFIED |
codeium_bytes_by_autocomplete | Bytes Codeium din Autocomplete | UNSPECIFIED |
codeium_bytes_by_command | Bytes Codeium din Command | UNSPECIFIED |
Filtre PCW
Numele câmpului | Descriere | Exemple |
---|---|---|
language | Limbaj de programare | KOTLIN, GO, JAVA |
ide | IDE utilizat | jetbrains, vscode |
version | Versiunea Windsurf | 1.28.0, 130.0 |
start_timestamp
și end_timestamp
în corpul principal al solicitării.
Exemple de solicitări
Exemplu de date de utilizator
Exemplu de date Chat
Exemplu de date pentru Command
Exemplu de date PCW
Răspuns
Exemple de răspuns
Răspuns privind datele utilizatorului
Răspunsul datelor Chat
Răspunsul de date pentru Command
Răspunsul de date PCW
Note importante
- PCW (Percent Code Written) poate avea o variație mare în aceeași zi sau pentru același utilizator – agregați la nivel săptămânal pentru informații mai bune
- Toate câmpurile de selecție trebuie fie să aibă funcții de agregare, fie niciunul (nu se pot combina)
- Câmpurile cu modelul „distinct_*” nu pot fi folosite în agregations
- Aliasurile câmpurilor trebuie să fie unice în toate selections și aggregations
- Dacă nu este specificată nicio funcție de agregare, valoarea implicită este UNSPECIFIED