Le plug-in de télémétrie Firebase exporte une combinaison de métriques, de traces et de journaux vers Google Cloud Observability. Ce document décrit les métriques, les attributs de trace et les journaux qui seront collectés, ainsi que ce à quoi vous pouvez vous attendre en termes de latence, de quotas et de coût.
Délai de télémétrie
Un léger délai peut s'écouler avant que la télémétrie d'une invocation donnée ne soit disponible dans Firebase. Cela dépend de l'intervalle d'exportation (cinq minutes par défaut).
Quotas et limites
Plusieurs quotas sont importants à prendre en compte:
Coût
Cloud Logging, Cloud Trace et Cloud Monitoring proposent des niveaux sans frais généreux. Vous trouverez les tarifs spécifiques sur les liens suivants:
Métriques
Le plug-in de télémétrie Firebase collecte un certain nombre de métriques différentes pour prendre en charge les différents types d'actions Genkit décrits dans les sections suivantes.
Métriques des fonctionnalités
Les fonctionnalités sont le point d'entrée de premier niveau de votre code Genkit. Dans la plupart des cas, il s'agit d'un flux. Sinon, il s'agit de la partie supérieure d'une trace.
Nom | Type | Description |
---|---|---|
genkit/feature/requests | Compteur | Nombre de requêtes |
genkit/feature/latency | Histogramme | Latence d'exécution en ms |
Chaque métrique d'éléments géographiques contient les dimensions suivantes:
Nom | Description |
---|---|
nom | Nom de la fonctionnalité. Dans la plupart des cas, il s'agit du flux Genkit de premier niveau. |
état | "success" ou "failure", selon que la demande de fonctionnalité a réussi ou non |
erreur | Défini uniquement lorsque status=failure . Indique le type d'erreur à l'origine de l'échec |
source | Langue source de Genkit. Par exemple, 'ts' |
sourceVersion | Version du framework Genkit |
Métriques d'action
Les actions représentent une étape d'exécution générique dans Genkit. Les métriques suivantes seront suivies pour chacune de ces étapes:
Nom | Type | Description |
---|---|---|
genkit/action/requests | Compteur | Nombre de fois où cette action a été exécutée |
genkit/action/latency | Histogramme | Latence d'exécution en ms |
Chaque métrique d'action contient les dimensions suivantes:
Nom | Description |
---|---|
nom | Nom de l'action |
featureName | Nom de la fonctionnalité parente en cours d'exécution |
chemin d'accès | Chemin d'exécution depuis la racine de l'élément géographique jusqu'à cette action. Exemple : '/myFeature/parentAction/thisAction' |
état | "success" ou "failure", selon que l'action a réussi ou non |
erreur | Défini uniquement lorsque status=failure . Indique le type d'erreur à l'origine de l'échec |
source | Langue source de Genkit. Par exemple, 'ts' |
sourceVersion | Version du framework Genkit |
Générer des métriques
Il s'agit de métriques d'action spéciales liées aux actions qui interagissent avec un modèle. En plus des requêtes et de la latence, les entrées et les sorties sont également suivies, avec des dimensions spécifiques au modèle qui facilitent le débogage et le réglage de la configuration.
Nom | Type | Description |
---|---|---|
genkit/ai/generate/requests | Compteur | Nombre de fois où ce modèle a été appelé |
genkit/ai/generate/latency | Histogramme | Latence d'exécution en ms |
genkit/ai/generate/input/tokens | Compteur | Jetons d'entrée |
genkit/ai/generate/output/tokens | Compteur | Jetons de sortie |
genkit/ai/generate/input/characters | Compteur | Caractères d'entrée |
genkit/ai/generate/output/characters | Compteur | Caractères de sortie |
genkit/ai/generate/input/images | Compteur | Images d'entrée |
genkit/ai/generate/output/images | Compteur | Images de sortie |
genkit/ai/generate/input/audio | Compteur | Fichiers audio d'entrée |
genkit/ai/generate/output/audio | Compteur | Fichiers audio de sortie |
Chaque métrique de génération contient les dimensions suivantes:
Nom | Description |
---|---|
modelName | Nom du modèle |
featureName | Nom de la fonctionnalité parente en cours d'exécution |
chemin d'accès | Chemin d'exécution depuis la racine de l'élément géographique jusqu'à cette action. Exemple : '/myFeature/parentAction/thisAction' |
latencyMs | Temps de réponse du modèle |
état | "success" ou "failure", selon que la demande de fonctionnalité a réussi ou non |
erreur | Défini uniquement lorsque status=failure . Indique le type d'erreur à l'origine de l'échec |
source | Langue source de Genkit. Par exemple, 'ts' |
sourceVersion | Version du framework Genkit |
Traces
Toutes les actions Genkit sont automatiquement instrumentées pour fournir des traces détaillées de vos fonctionnalités d'IA. Localement, les traces sont visibles dans l'interface utilisateur du développeur. Pour les applications déployées, activez Firebase Genkit Monitoring pour obtenir le même niveau de visibilité.
Les sections suivantes décrivent les attributs de trace que vous pouvez attendre en fonction du type d'action Genkit pour une période donnée de la trace.
Segments racines
Les segments racine comportent des attributs spéciaux pour aider à dissocier les attributs d'état de l'ensemble de la trace de ceux d'un segment individuel.
Nom de l'attribut | Description |
---|---|
genkit/feature | Nom de la fonctionnalité parente en cours d'exécution |
genkit/isRoot | Valeur "true" si cette étendue est l'étendue racine |
genkit/rootState | État de l'exécution globale, sous la forme success ou error . Cela n'indique pas que cette étape a échoué en particulier. |
Flow
Nom de l'attribut | Description |
---|---|
genkit/input | Entrée du flux. Cette valeur sera toujours <redacted> en raison des limites de taille des attributs de trace. |
genkit/metadata/subtype | Type d'action Genkit. Pour les flux, il s'agit de flow . |
genkit/name | Nom de cette action Genkit. Dans ce cas, le nom du flux |
genkit/output | Résultat généré dans le flux. Cette valeur sera toujours <redacted> en raison des limites de taille des attributs de trace. |
genkit/path | Chemin d'exécution complet qui a conduit à cette étape de la trace, y compris des informations sur le type. |
genkit/state | État de l'exécution de cette étendue, sous la forme success ou error . |
genkit/type | Type de primitive Genkit qui correspond à cette plage. Pour les flux, il s'agit de action . |
Util
Nom de l'attribut | Description |
---|---|
genkit/input | Entrée de l'utilitaire. Cette valeur sera toujours <redacted> en raison des limites de taille des attributs de trace. |
genkit/name | Nom de cette action Genkit. Dans ce cas, le nom du flux |
genkit/output | Sortie générée dans l'utilitaire. Cette valeur sera toujours <redacted> en raison des limites de taille des attributs de trace. |
genkit/path | Chemin d'exécution complet qui a conduit à cette étape de la trace, y compris des informations sur le type. |
genkit/state | État de l'exécution de cette étendue, sous la forme success ou error . |
genkit/type | Type de primitive Genkit qui correspond à cette plage. Pour les flux, il s'agit de util . |
Modèle
Nom de l'attribut | Description |
---|---|
genkit/input | Entrée du modèle. Cette valeur sera toujours <redacted> en raison des limites de taille des attributs de trace. |
genkit/metadata/subtype | Type d'action Genkit. Pour les modèles, il s'agit de model . |
genkit/model | Nom du modèle. |
genkit/name | Nom de cette action Genkit. Dans ce cas, le nom du modèle. |
genkit/output | Résultat généré par le modèle. Cette valeur sera toujours <redacted> en raison des limites de taille des attributs de trace. |
genkit/path | Chemin d'exécution complet qui a conduit à cette étape de la trace, y compris des informations sur le type. |
genkit/state | État de l'exécution de cette étendue, sous la forme success ou error . |
genkit/type | Type de primitive Genkit qui correspond à cette plage. Pour les flux, il s'agit de action . |
Outil
Nom de l'attribut | Description |
---|---|
genkit/input | Entrée du modèle. Cette valeur sera toujours <redacted> en raison des limites de taille des attributs de trace. |
genkit/metadata/subtype | Type d'action Genkit. Pour les outils, il s'agit de tool . |
genkit/name | Nom de cette action Genkit. Dans ce cas, le nom du modèle. |
genkit/output | Résultat généré par le modèle. Cette valeur sera toujours <redacted> en raison des limites de taille des attributs de trace. |
genkit/path | Chemin d'exécution complet qui a conduit à cette étape de la trace, y compris des informations sur le type. |
genkit/state | État de l'exécution de cette étendue, sous la forme success ou error . |
genkit/type | Type de primitive Genkit qui correspond à cette plage. Pour les flux, il s'agit de action . |
Journaux
Pour les applications déployées avec Firebase Genkit Monitoring, les journaux sont utilisés pour capturer les métadonnées d'entrée, de sortie et de configuration qui fournissent des informations détaillées sur chaque étape de votre fonctionnalité d'IA.
Tous les journaux incluront les champs de métadonnées partagés suivants:
Nom du champ | Description |
---|---|
insertId | ID unique de l'entrée de journal |
jsonPayload | Conteneur d'informations variables propres à chaque type de journal |
labels | {module: genkit} |
logName | projects/weather-gen-test-next/logs/genkit_log |
receivedTimestamp | Heure à laquelle le journal a été reçu par Cloud |
ressource | Informations sur la source du journal, y compris la région des informations de déploiement et le projectId |
de gravité, | Niveau de journalisation écrit. Consultez LogSeverity dans Cloud. |
spanId | Identifiant de la période ayant créé ce journal |
timestamp | Heure à laquelle le client a consigné un message |
trace | Identifiant de la trace au format projects/<project-id>/traces/<trace-id> |
traceSampled | Valeur booléenne indiquant si la trace a été échantillonnée. Les journaux ne sont pas échantillonnés. |
Chaque type de journal aura une charge utile JSON différente, décrite dans chaque section.
Entrée
Charge utile JSON:
Nom du champ | Description |
---|---|
message | [genkit] Input[<path>, <featureName>] , y compris (message X of N) pour les messages multi-parties |
métadonnées | Contexte supplémentaire, y compris le message d'entrée envoyé à l'action |
Métadonnées :
Nom du champ | Description |
---|---|
contenu | Contenu du message d'entrée envoyé à cette action Genkit |
featureName | Nom du flux, de l'action, de l'outil, de l'utilitaire ou de l'assistant Genkit. |
messageIndex * | Indice indiquant l'ordre des messages pour les entrées contenant plusieurs messages. Pour les messages individuels, cette valeur est toujours égale à 0. |
model * | Nom du modèle. |
chemin d'accès | Chemin d'exécution ayant généré ce journal au format step1 > step2 > step3 |
partIndex * | Indice indiquant l'ordre des parties dans un message pour les messages multiparties. Cela est courant lorsque vous combinez du texte et des images dans une seule entrée. |
qualifiedPath | Le chemin d'exécution qui a généré ce journal, y compris les informations de type au format: /{flow1,t:flow}/{generate,t:util}/{modelProvider/model,t:action,s:model |
totalMessages * | Nombre total de messages pour cette entrée. Pour les messages individuels, cette valeur est toujours égale à 1. |
totalParts * | Nombre total de parties de ce message. Pour les messages en une seule partie, cette valeur est toujours égale à 1. |
(*) Les éléments avec une étoile ne sont présents que dans les journaux d'entrée pour les interactions avec le modèle.
Sortie
Charge utile JSON:
Nom du champ | Description |
---|---|
message | [genkit] Output[<path>, <featureName>] , y compris (message X of N) pour les messages multi-parties |
métadonnées | Contexte supplémentaire, y compris le message d'entrée envoyé à l'action |
Métadonnées :
Nom du champ | Description |
---|---|
candidateIndex * (obsolète) | Indice indiquant l'ordre des candidats pour les sorties contenant plusieurs candidats. Pour les journaux avec des candidats uniques, cette valeur est toujours égale à 0. |
contenu | Message de sortie généré par l'action Genkit |
featureName | Nom du flux, de l'action, de l'outil, de l'utilitaire ou de l'assistant Genkit. |
messageIndex * | Indice indiquant l'ordre des messages pour les entrées contenant plusieurs messages. Pour les messages individuels, cette valeur est toujours égale à 0. |
model * | Nom du modèle. |
chemin d'accès | Chemin d'exécution ayant généré ce journal au format "étape1 > étape2 > étape3" |
partIndex * | Indice indiquant l'ordre des parties dans un message pour les messages multiparties. C'est le cas typiquement lorsque vous combinez du texte et des images dans une seule sortie. |
qualifiedPath | Le chemin d'exécution qui a généré ce journal, y compris les informations de type au format: /{flow1,t:flow}/{generate,t:util}/{modelProvider/model,t:action,s:model |
totalCandidates * (obsolète) | Nombre total de candidats générés en sortie. Pour les messages concernant un seul candidat, cette valeur est toujours égale à 1. |
totalParts * | Nombre total de parties de ce message. Pour les messages en une seule partie, cette valeur est toujours égale à 1. |
(*) Les éléments avec une étoile ne sont présents que dans les journaux de sortie pour les interactions de modèle.
Config
Charge utile JSON:
Nom du champ | Description |
---|---|
message | [genkit] Config[<path>, <featureName>] |
métadonnées | Contexte supplémentaire, y compris le message d'entrée envoyé à l'action |
Métadonnées :
Nom du champ | Description |
---|---|
featureName | Nom du flux, de l'action, de l'outil, de l'utilitaire ou de l'assistant Genkit. |
modèle | Nom du modèle. |
chemin d'accès | Chemin d'exécution ayant généré ce journal au format "étape1 > étape2 > étape3" |
qualifiedPath | Le chemin d'exécution qui a généré ce journal, y compris les informations de type au format: /{flow1,t:flow}/{generate,t:util}/{modelProvider/model,t:action,s:model |
source | Langue de la bibliothèque Genkit utilisée. Cette valeur est toujours définie sur "ts", car il s'agit de la seule langue prise en charge. |
sourceVersion | Version de la bibliothèque Genkit. |
température | Température du modèle utilisée. |
Chemins d'accès
Charge utile JSON:
Nom du champ | Description |
---|---|
message | [genkit] Paths[<path>, <featureName>] |
métadonnées | Contexte supplémentaire, y compris le message d'entrée envoyé à l'action |
Métadonnées :
Nom du champ | Description |
---|---|
flowName | Nom du flux, de l'action, de l'outil, de l'utilitaire ou de l'assistant Genkit. |
paths | Tableau contenant tous les chemins d'exécution des plages collectées. |