Skip to main content
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

string
erforderlich
Ihr Service-Schlüssel mit „Analytics Read“-Berechtigungen
string
Ergebnisse auf Nutzer in einer bestimmten Gruppe beschränken (optional)
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

array
Array mit Abfrageergebnissen, eines für jede Abfrage
array
Array mit Ergebniseinträgen
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