Skip to main content
POST
Benutzerdefinierte Analytics-Abfrage

Überblick

Die Custom Analytics-API bietet flexible Abfragemöglichkeiten für Autocomplete-, Chat- und Command-Daten mit anpassbaren selections, Filtern, aggregations und Sortierungen.

Request

string
erforderlich
Ihr Service Key mit Berechtigung „Analytics Read“
string
Ergebnisse auf Nutzer in einer bestimmten Gruppe filtern (optional)
array
erforderlich
Array von Query-Request-Objekten, die die abzurufenden Daten definieren

Struktur der Query-Anfrage

Jedes Query-Anfrageobjekt enthält:
  • data_source (erforderlich): Abzufragende Datenquelle
  • selections (erforderlich): Array von Feldselections, die abgerufen werden sollen
  • filters (optional): Array von Filtern, die angewendet werden sollen
  • aggregations (optional): Array von Aggregations zum Gruppieren

Selections

Selections legen fest, welche Felder abgerufen werden und wie sie aggregiert werden.
  • field (erforderlich): Name des auszuwählenden Feldes
  • name (optional): Alias für das Feld
  • aggregation_function (optional): Anzuwendende Aggregationsfunktion

Beispiel zur Auswahl

Filter

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

Beispiel für Filter

Aggregations

Aggregationen gruppieren Daten anhand angegebener Kriterien.
  • field (required): Feldname, nach dem gruppiert werden soll
  • name (required): Alias für das Aggregationsfeld

Beispiel für Aggregation

Verfügbare Felder

Nutzerdaten

Alle Nutzerdaten werden pro Nutzer und pro 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 Chat-AI-Modells, nicht auf Benutzerfragen.

Chat-Intent-Typen

  • CHAT_INTENT_GENERIC - Normales 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 Erklärung eines Problems
  • CHAT_INTENT_FUNCTION_UNIT_TESTS - CodeLens für Unit-Tests einer Funktion

Command-Daten

Command-Daten umfassen alle Commands, einschließlich abgelehnter. Verwenden Sie das Feld accepted, um nur nach akzeptierten Commands zu filtern.

Command-Quellen

  • COMMAND_REQUEST_SOURCE_LINE_HINT_CODE_LENS
  • COMMAND_REQUEST_SOURCE_DEFAULT - Typische Command-Verwendung
  • 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

Providerquellen

  • PROVIDER_SOURCE_COMMAND_GENERATE - Generierungsmodus
  • PROVIDER_SOURCE_COMMAND_EDIT - Bearbeitungsmodus

PCW-Daten

Prozentsatz des geschriebenen Codes mit getrennter Erfassung der Beiträge von Autocomplete und Command.

PCW-Filter

Für die Datumsfilterung in PCW-Abfragen verwende die Parameter start_timestamp und end_timestamp im Hauptteil der Anfrage.

Beispielanfragen

Beispiel für Nutzerdaten

Beispiel für Chatdaten

Beispiel für Command-Daten

Beispiel für PCW-Daten

Antwort

array
Array mit Abfrageergebnissen, eines für jede Abfrage
array
Array mit Ergebniselementen
object
Objekt mit den ausgewählten Feldern und deren Werten

Beispielantworten

Antwort mit Benutzerdaten

Antwort mit Chat-Daten

Command-Datenantwort

PCW-Datenantwort

Wichtige Hinweise

  • PCW (Percent Code Written) weist innerhalb einzelner Tage oder bei einzelnen Nutzern eine hohe Varianz auf – aggregieren Sie über Wochen, um bessere Einblicke zu erhalten
  • Alle selection-Felder müssen entweder Aggregationsfunktionen haben oder keine (Mischformen sind nicht möglich)
  • Felder mit dem Muster “distinct_*” können nicht in aggregations verwendet werden
  • Feldaliase müssen über alle selections und aggregations hinweg eindeutig sein
  • Wenn keine Aggregationsfunktion angegeben ist, wird standardmäßig UNSPECIFIED verwendet