Das Firebase-Telemetrie-Plug-in exportiert eine Kombination aus Messwerten, Traces und Protokollen in Google Cloud Observability. In diesem Dokument wird beschrieben, welche Messwerte, Trace-Attribute und Protokolle erfasst werden und welche Latenz, Kontingente und Kosten zu erwarten sind.
Telemetrieverzögerung
Es kann zu einer kurzen Verzögerung kommen, bis die Telemetriedaten einer bestimmten Aufrufe in Firebase verfügbar sind. Das hängt vom Exportintervall ab (standardmäßig 5 Minuten).
Kontingente und Limits
Es gibt mehrere Kontingente, die Sie beachten sollten:
Kosten
Cloud Logging, Cloud Trace und Cloud Monitoring sind in großzügigen kostenlosen Stufen verfügbar. Spezifische Preise finden Sie unter den folgenden Links:
Messwerte
Das Firebase-Telemetrie-Plug-in erfasst eine Reihe verschiedener Messwerte, um die verschiedenen Genkit-Aktionstypen zu unterstützen, die in den folgenden Abschnitten beschrieben werden.
Messwerte zu Funktionen
Funktionen sind der Einstiegspunkt auf oberster Ebene in Ihren Genkit-Code. In den meisten Fällen ist das ein Ablauf. Andernfalls ist dies die oberste Spanne in einem Trace.
Name | Typ | Beschreibung |
---|---|---|
genkit/feature/requests | Zähler | Anzahl von Anfragen |
genkit/feature/latency | Histogramm | Ausführungslatenz in ms |
Jeder Messwert für Funktionen enthält die folgenden Dimensionen:
Name | Beschreibung |
---|---|
Name | Der Name der Funktion. In den meisten Fällen ist dies der Genkit-Flow der obersten Ebene. |
Status | „success“ oder „failure“, je nachdem, ob die Funktionsanfrage erfolgreich war |
Fehler | Nur festgelegt, wenn status=failure . Enthält den Fehlertyp, der den Fehler verursacht hat |
source | Die Genkit-Quellsprache. z. B. 'ts' |
sourceVersion | Die Genkit-Framework-Version |
Aktionsmesswerte
Aktionen stellen einen generischen Ausführungsschritt in Genkit dar. Für jeden dieser Schritte werden die folgenden Messwerte erfasst:
Name | Typ | Beschreibung |
---|---|---|
genkit/action/requests | Zähler | Häufigkeit, mit der diese Aktion ausgeführt wurde |
genkit/action/latency | Histogramm | Ausführungslatenz in ms |
Jeder Messwert für Aktionen enthält die folgenden Dimensionen:
Name | Beschreibung |
---|---|
Name | Der Name der Aktion |
featureName | Der Name der ausgeführten übergeordneten Funktion |
Pfad | Der Ausführungspfad vom Stamm des Features zu dieser Aktion. Beispiel: '/myFeature/parentAction/thisAction' |
Status | „success“ oder „failure“, je nachdem, ob die Aktion erfolgreich war |
Fehler | Nur festgelegt, wenn status=failure . Enthält den Fehlertyp, der den Fehler verursacht hat |
source | Die Genkit-Quellsprache. z. B. 'ts' |
sourceVersion | Die Genkit-Framework-Version |
Messwerte generieren
Das sind spezielle Aktionsmesswerte, die sich auf Aktionen beziehen, die mit einem Modell interagieren. Zusätzlich zu Anfragen und Latenz werden auch Eingabe und Ausgabe erfasst. Dabei werden modellspezifische Dimensionen verwendet, die das Debuggen und die Konfigurationsoptimierung erleichtern.
Name | Typ | Beschreibung |
---|---|---|
genkit/ai/generate/requests | Zähler | Häufigkeit, mit der dieses Modell aufgerufen wurde |
genkit/ai/generate/latency | Histogramm | Ausführungslatenz in ms |
genkit/ai/generate/input/tokens | Zähler | Eingabetokens |
genkit/ai/generate/output/tokens | Zähler | Ausgabetokens |
genkit/ai/generate/input/characters | Zähler | Eingabezeichen |
genkit/ai/generate/output/characters | Zähler | Ausgabezeichen |
genkit/ai/generate/input/images | Zähler | Eingabebilder |
genkit/ai/generate/output/images | Zähler | Ausgabebilder |
genkit/ai/generate/input/audio | Zähler | Audiodateien eingeben |
genkit/ai/generate/output/audio | Zähler | Audiodateien ausgeben |
Jeder generierte Messwert enthält die folgenden Dimensionen:
Name | Beschreibung |
---|---|
modelName | Der Name des Modells |
featureName | Der Name der ausgeführten übergeordneten Funktion |
Pfad | Der Ausführungspfad vom Stamm des Features zu dieser Aktion. Beispiel: '/myFeature/parentAction/thisAction' |
latencyMs | Die vom Modell benötigte Antwortzeit |
Status | „success“ oder „failure“, je nachdem, ob die Funktionsanfrage erfolgreich war |
Fehler | Nur festgelegt, wenn status=failure . Enthält den Fehlertyp, der den Fehler verursacht hat |
source | Die Genkit-Quellsprache. z. B. 'ts' |
sourceVersion | Die Genkit-Framework-Version |
Traces
Alle Genkit-Aktionen werden automatisch instrumentiert, um detaillierte Traces für Ihre KI-Funktionen bereitzustellen. Lokal sind Traces in der Entwickler-Benutzeroberfläche sichtbar. Aktivieren Sie für bereitgestellte Apps Firebase Genkit Monitoring, um dieselben Informationen zu erhalten.
In den folgenden Abschnitten wird beschrieben, welche Trace-Attribute Sie je nach Genkit-Aktion für einen bestimmten Span im Trace erwarten können.
Stamm-Spans
Stamm-Späne haben spezielle Attribute, die helfen, die Statusattribute für den gesamten Trace von denen einer einzelnen Spanne zu unterscheiden.
Attributname | Beschreibung |
---|---|
genkit/feature | Der Name der ausgeführten übergeordneten Funktion |
genkit/isRoot | „Wahr“, wenn diese Span die Stammspan ist |
genkit/rootState | Der Status der Gesamtausführung als success oder error . Dies bedeutet nicht, dass dieser Schritt fehlgeschlagen ist. |
Flow
Attributname | Beschreibung |
---|---|
genkit/input | Die Eingabe für den Ablauf. Aufgrund von Größenbeschränkungen für Trace-Attribute ist dies immer <redacted> . |
genkit/metadata/subtype | Der Typ der Genkit-Aktion. Für Abläufe ist das flow . |
genkit/name | Der Name dieser Genkit-Aktion. In diesem Fall der Name des Ablaufs |
genkit/output | Die im Ablauf generierte Ausgabe. Aufgrund von Größenbeschränkungen für Trace-Attribute ist dies immer <redacted> . |
genkit/path | Der vollqualifizierte Ausführungspfad, der zu diesem Schritt im Trace geführt hat, einschließlich Typinformationen. |
genkit/state | Der Status der Ausführung dieser Spanne als success oder error . |
genkit/type | Der Typ des Genkit-Elements, der dieser Spanne entspricht. Bei Abläufen ist das action . |
Util
Attributname | Beschreibung |
---|---|
genkit/input | Die Eingabe für das Dienstprogramm. Aufgrund von Größenbeschränkungen für Trace-Attribute ist dies immer <redacted> . |
genkit/name | Der Name dieser Genkit-Aktion. In diesem Fall der Name des Ablaufs |
genkit/output | Die im util generierte Ausgabe. Aufgrund von Größenbeschränkungen für Trace-Attribute ist dies immer <redacted> . |
genkit/path | Der vollqualifizierte Ausführungspfad, der zu diesem Schritt im Trace geführt hat, einschließlich Typinformationen. |
genkit/state | Der Status der Ausführung dieser Spanne als success oder error . |
genkit/type | Der Typ des Genkit-Elements, der dieser Spanne entspricht. Bei Abläufen ist das util . |
Modell
Attributname | Beschreibung |
---|---|
genkit/input | Die Eingabe für das Modell. Aufgrund von Größenbeschränkungen für Trace-Attribute ist dies immer <redacted> . |
genkit/metadata/subtype | Der Typ der Genkit-Aktion. Bei Modellen ist das model . |
genkit/model | Der Name des Modells. |
genkit/name | Der Name dieser Genkit-Aktion. In diesem Fall der Name des Modells. |
genkit/output | Die vom Modell generierte Ausgabe. Aufgrund von Größenbeschränkungen für Trace-Attribute ist dies immer <redacted> . |
genkit/path | Der vollqualifizierte Ausführungspfad, der zu diesem Schritt im Trace geführt hat, einschließlich Typinformationen. |
genkit/state | Der Status der Ausführung dieser Spanne als success oder error . |
genkit/type | Der Typ des Genkit-Elements, der dieser Spanne entspricht. Bei Abläufen ist das action . |
Tool
Attributname | Beschreibung |
---|---|
genkit/input | Die Eingabe für das Modell. Aufgrund von Größenbeschränkungen für Trace-Attribute ist dies immer <redacted> . |
genkit/metadata/subtype | Der Typ der Genkit-Aktion. Bei Tools ist das tool . |
genkit/name | Der Name dieser Genkit-Aktion. In diesem Fall der Name des Modells. |
genkit/output | Die vom Modell generierte Ausgabe. Aufgrund von Größenbeschränkungen für Trace-Attribute ist dies immer <redacted> . |
genkit/path | Der vollqualifizierte Ausführungspfad, der zu diesem Schritt im Trace geführt hat, einschließlich Typinformationen. |
genkit/state | Der Status der Ausführung dieser Spanne als success oder error . |
genkit/type | Der Typ des Genkit-Elements, der dieser Spanne entspricht. Bei Abläufen ist das action . |
Logs
Bei bereitgestellten Apps mit Firebase Genkit Monitoring werden Protokolle verwendet, um Eingabe-, Ausgabe- und Konfigurationsmetadaten zu erfassen, die detaillierte Informationen zu jedem Schritt Ihrer KI-Funktion enthalten.
Alle Protokolle enthalten die folgenden gemeinsamen Metadatenfelder:
Feldname | Beschreibung |
---|---|
insertId | Eindeutige ID für den Protokolleintrag |
jsonPayload | Container für variable Informationen, die für jeden Protokolltyp eindeutig sind |
Labels | {module: genkit} |
logName | projects/weather-gen-test-next/logs/genkit_log |
receivedTimestamp | Zeitpunkt, zu dem das Protokoll von Cloud empfangen wurde |
Ressource | Informationen zur Quelle des Logs, einschließlich Bereitstellungsinformationen (Region und projectId) |
die Ausprägung | Die geschriebene Protokollebene. LogSeverity in Google Cloud ansehen |
spanId | Kennung für den Span, für den dieses Protokoll erstellt wurde |
timestamp | Zeitpunkt, zu dem der Client eine Nachricht protokolliert hat |
Trace | Kennung für den Trace im Format projects/<project-id>/traces/<trace-id> |
traceSampled | Boolescher Wert, der angibt, ob die Trace-Daten gesampled wurden. Es werden keine Logstichproben erstellt. |
Für jeden Protokolltyp gibt es eine andere JSON-Nutzlast, die in den einzelnen Abschnitten beschrieben wird.
Eingabe
JSON-Nutzlast:
Feldname | Beschreibung |
---|---|
Nachricht | [genkit] Input[<path>, <featureName>] einschließlich (message X of N) für mehrteilige Nachrichten |
Metadaten | Zusätzlicher Kontext, einschließlich der an die Aktion gesendeten Eingabenachricht |
Metadaten:
Feldname | Beschreibung |
---|---|
Inhalte | Der Inhalt der Eingabenachricht, die an diese Genkit-Aktion gesendet wurde |
featureName | Der Name des Genkit-Flows, der Genkit-Aktion, des Genkit-Tools, des Genkit-Dienstprogramms oder des Genkit-Hilfsprogramms. |
messageIndex * | Index, der die Reihenfolge der Nachrichten für Eingaben angibt, die mehrere Nachrichten enthalten. Bei einzelnen Nachrichten ist dieser Wert immer 0. |
model * | Modellname. |
Pfad | Der Ausführungspfad, über den dieses Protokoll im Format step1 > step2 > step3 generiert wurde |
partIndex * | Index, der die Reihenfolge der Teile innerhalb einer Nachricht für mehrteilige Nachrichten angibt. Das ist typisch, wenn Text und Bilder in einer einzigen Eingabe kombiniert werden. |
qualifiedPath | Der Ausführungspfad, über den dieses Protokoll generiert wurde, einschließlich Typinformationen im Format: /{flow1,t:flow}/{generate,t:util}/{modelProvider/model,t:action,s:model |
totalMessages * | Die Gesamtzahl der Nachrichten für diese Eingabe. Bei einzelnen Nachrichten ist das immer „1“. |
totalParts * | Die Gesamtzahl der Teile dieser Nachricht. Bei Nachrichten mit nur einem Teil ist dies immer „1“. |
(*) Mit einem Stern markierte Elemente sind nur in Eingabeprotokollen für Modellinteraktionen vorhanden.
Ausgabe
JSON-Nutzlast:
Feldname | Beschreibung |
---|---|
Nachricht | [genkit] Output[<path>, <featureName>] einschließlich (message X of N) für mehrteilige Nachrichten |
Metadaten | Zusätzlicher Kontext, einschließlich der an die Aktion gesendeten Eingabenachricht |
Metadaten:
Feldname | Beschreibung |
---|---|
candidateIndex * (verworfen) | Index, der die Reihenfolge der Kandidaten für Ausgaben angibt, die mehrere Kandidaten enthalten. Bei Protokollen mit einzelnen Kandidaten ist dieser Wert immer 0. |
Inhalte | Die von der Genkit-Aktion generierte Ausgabenachricht |
featureName | Der Name des Genkit-Flows, der Genkit-Aktion, des Genkit-Tools, des Genkit-Dienstprogramms oder des Genkit-Hilfsprogramms. |
messageIndex * | Index, der die Reihenfolge der Nachrichten für Eingaben angibt, die mehrere Nachrichten enthalten. Bei einzelnen Nachrichten ist dieser Wert immer 0. |
model * | Modellname. |
Pfad | Der Ausführungspfad, der dieses Protokoll im Format „Schritt1 > Schritt2 > Schritt3“ generiert hat |
partIndex * | Index, der die Reihenfolge der Teile innerhalb einer Nachricht für mehrteilige Nachrichten angibt. Das ist typisch, wenn Text und Bilder in einer einzigen Ausgabe kombiniert werden. |
qualifiedPath | Der Ausführungspfad, über den dieses Protokoll generiert wurde, einschließlich Typinformationen im Format: /{flow1,t:flow}/{generate,t:util}/{modelProvider/model,t:action,s:model |
totalCandidates * (verworfen) | Gesamtzahl der Kandidaten, die als Ausgabe generiert wurden. Bei Nachrichten mit einem einzigen Kandidaten ist dies immer „1“. |
totalParts * | Die Gesamtzahl der Teile dieser Nachricht. Bei Nachrichten mit nur einem Teil ist dies immer „1“. |
(*) Mit einem Stern markierte Elemente sind nur in Ausgabeprotokollen für Modellinteraktionen vorhanden.
Konfiguration
JSON-Nutzlast:
Feldname | Beschreibung |
---|---|
Nachricht | [genkit] Config[<path>, <featureName>] |
Metadaten | Zusätzlicher Kontext, einschließlich der an die Aktion gesendeten Eingabenachricht |
Metadaten:
Feldname | Beschreibung |
---|---|
featureName | Der Name des Genkit-Flows, der Genkit-Aktion, des Genkit-Tools, des Genkit-Dienstprogramms oder des Genkit-Hilfsprogramms. |
Modell | Modellname. |
Pfad | Der Ausführungspfad, der dieses Protokoll im Format „Schritt1 > Schritt2 > Schritt3“ generiert hat |
qualifiedPath | Der Ausführungspfad, über den dieses Protokoll generiert wurde, einschließlich Typinformationen im Format: /{flow1,t:flow}/{generate,t:util}/{modelProvider/model,t:action,s:model |
source | Die verwendete Genkit-Bibliothekssprache. Dieser Wert ist immer auf „ts“ festgelegt, da es sich um die einzige unterstützte Sprache handelt. |
sourceVersion | Die Version der Genkit-Bibliothek. |
Temperatur | Verwendete Modelltemperatur. |
Pfade
JSON-Nutzlast:
Feldname | Beschreibung |
---|---|
Nachricht | [genkit] Paths[<path>, <featureName>] |
Metadaten | Zusätzlicher Kontext, einschließlich der an die Aktion gesendeten Eingabenachricht |
Metadaten:
Feldname | Beschreibung |
---|---|
flowName | Der Name des Genkit-Flows, der Genkit-Aktion, des Genkit-Tools, des Genkit-Dienstprogramms oder des Genkit-Hilfsprogramms. |
Pfade | Ein Array mit allen Ausführungspfaden für die erfassten Bereiche. |