Zum Hauptinhalt springen
POST
Benutzerdefinierte Analytics-Abfrage

Überblick

Die Custom Analytics API ermöglicht flexible Abfragen von Autovervollständigungs-, Chat- und Befehlsdaten mit anpassbarer Auswahl, Filtern, Aggregationen und Sortierungen.

Anfrage

service_key
string
erforderlich
Ihr Service-Schlüssel mit „Analytics Read“-Berechtigungen
group_name
string
Ergebnisse auf Nutzer in einer bestimmten Gruppe beschränken (optional)
query_requests
array
erforderlich
Array von Abfrageobjekten, die die abzurufenden Daten definieren

Struktur der Query-Anfrage

Jedes Abfrageobjekt enthält:
  • data_source (erforderlich): Abzufragende Datenquelle
  • selections (erforderlich): Array der abzurufenden Feldauswahlen
  • filters (optional): Array der anzuwendenden Filter
  • aggregations (optional): Array der Aggregationen zur Gruppierung

Auswahlen

Auswahlen legen fest, welche Felder abgerufen und wie sie aggregiert werden.
  • field (erforderlich): Name des Felds, das ausgewählt werden soll
  • name (optional): Alias für das Feld
  • aggregation_function (optional): Anzuwendende Aggregationsfunktion

Beispiel für eine Auswahl

Filter

Filter schränken Daten auf Elemente ein, die bestimmte Kriterien erfüllen.
  • name (erforderlich): Feldname, nach dem gefiltert werden soll
  • filter (erforderlich): Filteroperation
  • value (erforderlich): Wert, mit dem verglichen werden soll

Beispiel für einen Filter

Aggregationen

Aggregationen fassen Daten nach angegebenen Kriterien zusammen.
  • field (erforderlich): Feldname, nach dem gruppiert wird
  • name (erforderlich): Alias für das Aggregationsfeld

Beispiel für eine Aggregation

Verfügbare Felder

Nutzerdaten

Alle Nutzerdaten werden pro Nutzer und Stunde aggregiert.

Chat-Daten

Chat-Daten sind von Cascade-Daten getrennt und erfassen die Nutzung unserer älteren, nicht-agentischen Plugins
Alle Chat-Daten beziehen sich auf Antworten des Chatmodells, nicht auf Fragen von Nutzern.

Chat-Intent-Typen

  • CHAT_INTENT_GENERIC - Regulärer Chat
  • CHAT_INTENT_FUNCTION_EXPLAIN - CodeLens zur Erklärung einer Funktion
  • CHAT_INTENT_FUNCTION_DOCSTRING - CodeLens für den Docstring einer Funktion
  • CHAT_INTENT_FUNCTION_REFACTOR - CodeLens zum Refactoring einer Funktion
  • CHAT_INTENT_CODE_BLOCK_EXPLAIN - CodeLens zur Erklärung eines Codeblocks
  • CHAT_INTENT_CODE_BLOCK_REFACTOR - CodeLens zum Refactoring eines Codeblocks
  • CHAT_INTENT_PROBLEM_EXPLAIN - CodeLens zur Problemerklärung
  • CHAT_INTENT_FUNCTION_UNIT_TESTS - CodeLens für Unit-Tests einer Funktion

Befehlsdaten

Befehlsdaten umfassen alle Befehle, einschließlich abgelehnter. Verwenden Sie das Feld accepted, um nur akzeptierte Befehle zu filtern.

Befehlsquellen

  • COMMAND_REQUEST_SOURCE_LINE_HINT_CODE_LENS
  • COMMAND_REQUEST_SOURCE_DEFAULT - Typische Nutzung von Befehlen
  • 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

Provider-Quellen

  • PROVIDER_SOURCE_COMMAND_GENERATE - Generierungsmodus
  • PROVIDER_SOURCE_COMMAND_EDIT - Bearbeitungsmodus

PCW-Daten

Daten zu „Percent Code Written“ mit separater Erfassung von Beiträgen durch Autovervollständigung und Befehle.

PCW-Filter

Verwenden Sie für die Datumsfilterung in PCW-Abfragen start_timestamp und end_timestamp im Hauptteil des Request-Bodys.

Beispielanfragen

Beispiel für Nutzerdaten

Beispiel für Chat-Daten

Beispiel für Befehlsdaten

Beispiel für PCW-Daten

Antwort

queryResults
array
Array mit Abfrageergebnissen, eines für jede Abfrage
responseItems
array
Array mit Ergebniseinträgen
item
object
Objekt mit den ausgewählten Feldern und ihren Werten

Beispielantworten

Antwort mit Nutzerdaten

Antwort mit Chat-Daten

Antwort mit Befehlsdaten

Antwort mit PCW-Daten

Wichtige Hinweise

  • PCW (Percent Code Written) weist innerhalb einzelner Tage oder bei einzelnen Nutzern eine hohe Varianz auf – für aussagekräftigere Ergebnisse über mehrere Wochen aggregieren
  • Alle Auswahlfelder müssen entweder Aggregationsfunktionen haben oder keines darf eine haben (eine Mischung ist nicht möglich)
  • Felder mit dem Muster “distinct_*” können nicht in Aggregationen verwendet werden
  • Feldaliase müssen über alle Auswahlen und Aggregationen hinweg eindeutig sein
  • Wenn keine Aggregationsfunktion angegeben ist, wird standardmäßig UNSPECIFIED verwendet