הפלאגין של טלמטריה של Firebase מייצא שילוב של מדדים, מעקבים ויומנים ל-Google Cloud Observability. במסמך הזה מוסבר אילו מדדים, מאפייני מעקב ויומני אירועים ייאספו, ומה צפוי מבחינת זמן אחזור, מכסות ועלות.
עיכוב בטלמטריה
יכול להיות שיהיה עיכוב קל עד שהנתונים הטלמטרים מהפעלה נתונה יהיו זמינים ב-Firebase. זה תלוי במרווח הזמן לייצוא (5 דקות כברירת מחדל).
מכסות ומגבלות
יש כמה מכסות שחשוב לזכור:
עלות
ל-Cloud Logging, ל-Cloud Trace ול-Cloud Monitoring יש רמות רחבות בחינם. המחירים הספציפיים מפורטים בקישורים הבאים:
מדדים
הפלאגין של טלמטריה ב-Firebase אוסף מספר מדדים שונים כדי לתמוך בסוגים השונים של פעולות ב-Genkit שמפורטים בקטעים הבאים.
מדדי תכונות
התכונות הן נקודת הכניסה ברמה העליונה לקוד של Genkit. ברוב המקרים, זה יהיה תהליך. אחרת, זה יהיה ה-span העליון ביותר במעקב.
שם | סוג | תיאור |
---|---|---|
genkit/feature/requests | מונה | מספר הבקשות |
genkit/feature/latency | היסטוגרמה | זמן האחזור של ההרצה באלפיות השנייה |
כל מדד של תכונה מכיל את המאפיינים הבאים:
שם | תיאור |
---|---|
שם | שם התכונה. ברוב המקרים, זהו תהליך Genkit ברמה העליונה |
סטטוס | 'success' או 'failure', בהתאם להצלחה או לכישלון של בקשת התכונה |
error | מוגדר רק כש-status=failure . מכיל את סוג השגיאה שגרמה לכשל |
source | שפת המקור של Genkit. למשל 'ts' |
sourceVersion | גרסת ה-framework של Genkit |
מדדי פעולה
פעולות מייצגות שלב כללי של ביצוע ב-Genkit. בכל אחד מהשלבים האלה יתבצע מעקב אחרי המדדים הבאים:
שם | סוג | תיאור |
---|---|---|
genkit/action/requests | מונה | מספר הפעמים שהפעולה בוצעה |
genkit/action/latency | היסטוגרמה | זמן האחזור של ההרצה באלפיות השנייה |
כל מדד של פעולה מכיל את המאפיינים הבאים:
שם | תיאור |
---|---|
שם | שם הפעולה |
featureName | השם של תכונת ההורה שמופעלת |
נתיב | נתיב ההרצה מהשורש של התכונה אל הפעולה הזו. לדוגמה: '/myFeature/parentAction/thisAction' |
סטטוס | 'success' או 'failure', בהתאם להצלחה או לכישלון של הפעולה |
error | מוגדר רק כש-status=failure . מכיל את סוג השגיאה שגרמה לכשל |
source | שפת המקור של Genkit. למשל 'ts' |
sourceVersion | גרסת ה-framework של Genkit |
יצירת מדדים
מדדים מיוחדים של פעולות שקשורים לפעולות שמקיימות אינטראקציה עם מודל. בנוסף לבקשות ולזמן האחזור, מתבצע גם מעקב אחרי הקלט והפלט, עם מאפיינים ספציפיים למודל שמקלים על ניפוי באגים ועל שינוי ההגדרות.
שם | סוג | תיאור |
---|---|---|
genkit/ai/generate/requests | מונה | מספר הפעמים שהמודל הזה הופעל |
genkit/ai/generate/latency | היסטוגרמה | זמן האחזור של ההרצה באלפיות השנייה |
genkit/ai/generate/input/tokens | מונה | טוקני קלט |
genkit/ai/generate/output/tokens | מונה | טוקני פלט |
genkit/ai/generate/input/characters | מונה | הזנת תווים |
genkit/ai/generate/output/characters | מונה | תווים בפלט |
genkit/ai/generate/input/images | מונה | תמונות קלט |
genkit/ai/generate/output/images | מונה | תמונות פלט |
genkit/ai/generate/input/audio | מונה | קלט קובצי אודיו |
genkit/ai/generate/output/audio | מונה | קובצי אודיו של פלט |
כל מדד יצירת נתונים מכיל את המאפיינים הבאים:
שם | תיאור |
---|---|
modelName | שם הדגם |
featureName | השם של תכונת ההורה שמופעלת |
נתיב | נתיב ההרצה מהשורש של התכונה אל הפעולה הזו. לדוגמה: '/myFeature/parentAction/thisAction' |
latencyMs | זמן התגובה של המודל |
סטטוס | 'success' או 'failure', בהתאם להצלחה או לכישלון של בקשת התכונה |
error | מוגדר רק כש-status=failure . מכיל את סוג השגיאה שגרמה לכשל |
source | שפת המקור של Genkit. למשל 'ts' |
sourceVersion | גרסת ה-framework של Genkit |
רכיבים מוליכים
כל הפעולות ב-Genkit מתועדות באופן אוטומטי כדי לספק מעקב מפורט אחרי תכונות ה-AI. באופן מקומי, העקבות מוצגים בממשק המשתמש למפתחים. באפליקציות שנפרסו, צריך להפעיל את Firebase Genkit Monitoring כדי לקבל את אותה רמת חשיפה.
בקטעים הבאים מתוארים מאפייני המעקב שאפשר לצפות להם על סמך סוג הפעולה של Genkit עבור span מסוים במעקב.
קטעי Root
למקפים ברמה הבסיסית יש מאפיינים מיוחדים שעוזרים להבדיל בין מאפייני המצב של כל המעקב לבין מאפייני המצב של מקף ספציפי.
שם המאפיין | תיאור |
---|---|
genkit/feature | השם של תכונת ההורה שמופעלת |
genkit/isRoot | הערך מסומן כ-true אם ה-span הזה הוא ה-span ברמה הבסיסית |
genkit/rootState | המצב של הביצוע הכולל כ-success או כ-error . המשמעות היא לא שהשלב הזה נכשל במיוחד. |
זרימה
שם המאפיין | תיאור |
---|---|
genkit/input | הקלט לתהליך. הערך הזה תמיד יהיה <redacted> בגלל מגבלות הגודל של מאפייני המעקב. |
genkit/metadata/subtype | סוג הפעולה של Genkit. לזרמים, זה יהיה flow . |
genkit/name | השם של הפעולה הזו ב-Genkit. במקרה הזה, שם התהליך |
genkit/output | הפלט שנוצר בתהליך. הערך הזה תמיד יהיה <redacted> בגלל מגבלות הגודל של מאפייני המעקב. |
genkit/path | נתיב הביצוע המלא שהוביל לשלב הזה במעקב, כולל פרטי הסוג. |
genkit/state | הסטטוס של ביצוע הקטע הזה כ-success או כ-error . |
genkit/type | הסוג של הרכיב הפרימיטיבי של Genkit שתואם ל-span הזה. בתהליכים, זה יהיה action . |
Util
שם המאפיין | תיאור |
---|---|
genkit/input | הקלט ל-util. הערך הזה תמיד יהיה <redacted> בגלל מגבלות הגודל של מאפייני המעקב. |
genkit/name | השם של הפעולה הזו ב-Genkit. במקרה הזה, שם התהליך |
genkit/output | הפלט שנוצר בכלי. הערך הזה תמיד יהיה <redacted> בגלל מגבלות הגודל של מאפייני המעקב. |
genkit/path | נתיב הביצוע המלא שהוביל לשלב הזה במעקב, כולל פרטי הסוג. |
genkit/state | הסטטוס של ביצוע הקטע הזה כ-success או כ-error . |
genkit/type | הסוג של הרכיב הפשוט של Genkit שתואם ל-span הזה. במקרה של תהליכים, זה יהיה util . |
דגם
שם המאפיין | תיאור |
---|---|
genkit/input | הקלט למודל. הערך הזה תמיד יהיה <redacted> בגלל מגבלות הגודל של מאפייני המעקב. |
genkit/metadata/subtype | סוג הפעולה של Genkit. במודלים, זה יהיה model . |
genkit/model | שם הדגם. |
genkit/name | השם של הפעולה הזו ב-Genkit. במקרה הזה, שם המודל. |
genkit/output | הפלט שנוצר על ידי המודל. הערך הזה תמיד יהיה <redacted> בגלל מגבלות הגודל של מאפייני המעקב. |
genkit/path | נתיב הביצוע המלא שהוביל לשלב הזה במעקב, כולל פרטי הסוג. |
genkit/state | הסטטוס של ביצוע הקטע הזה כ-success או כ-error . |
genkit/type | הסוג של הרכיב הפשוט של Genkit שתואם ל-span הזה. בתהליכים, זה יהיה action . |
כלי
שם המאפיין | תיאור |
---|---|
genkit/input | הקלט למודל. הערך הזה תמיד יהיה <redacted> בגלל מגבלות הגודל של מאפייני המעקב. |
genkit/metadata/subtype | סוג הפעולה ב-Genkit. לכלי זה יהיה הערך tool . |
genkit/name | השם של הפעולה הזו ב-Genkit. במקרה הזה, שם המודל. |
genkit/output | הפלט שנוצר על ידי המודל. הערך הזה תמיד יהיה <redacted> בגלל מגבלות הגודל של מאפייני המעקב. |
genkit/path | נתיב הביצוע המלא שהוביל לשלב הזה במעקב, כולל פרטי הסוג. |
genkit/state | הסטטוס של ביצוע הקטע הזה כ-success או כ-error . |
genkit/type | הסוג של הרכיב הפרימיטיבי של Genkit שתואם למקטע הזה. בתהליכים, זה יהיה action . |
יומנים
באפליקציות שנפרסו באמצעות Firebase Genkit Monitoring, יומנים משמשים לתיעוד של מטא-נתונים של קלט, פלט והגדרות, שמספקים פרטים עשירים על כל שלב בתכונה של ה-AI.
כל היומנים יכללו את שדות המטא-נתונים המשותפים הבאים:
שם השדה | תיאור |
---|---|
insertId | מזהה ייחודי של רשומת היומן |
jsonPayload | מאגר למידע על משתנים שונה לכל סוג יומן |
labels | {module: genkit} |
logName | projects/weather-gen-test-next/logs/genkit_log |
receivedTimestamp | השעה שבה היומן התקבל ב-Cloud |
משאב | מידע על המקור של היומן, כולל אזור פרטי הפריסה ו-projectId |
מידת החומרה | רמת היומן שנכתבה. LogSeverity ב-Cloud |
spanId | המזהה של ה-span שיצר את היומן הזה |
חותמת זמן | המועד שבו הלקוח תיעד הודעה ביומן |
יומן מעקב | מזהה למעקב אחר הפורמט projects/<project-id>/traces/<trace-id> |
traceSampled | ערך בוליאני שמייצג אם בוצעה דגימה של המעקב. לא מתבצעת דגימה של היומנים. |
לכל סוג יומן תהיה עומס נתונים שונה בפורמט JSON, שמתואר בכל קטע.
קלט
מטען ייעודי (payload) של JSON:
שם השדה | תיאור |
---|---|
הודעה | [genkit] Input[<path>, <featureName>] כולל (message X of N) להודעות שמחולקות לכמה חלקים |
מטא-נתונים | הקשר נוסף, כולל הודעת הקלט שנשלחה לפעולה |
מטא-נתונים:
שם השדה | תיאור |
---|---|
תוכן | תוכן הודעת הקלט שנשלח לפעולה הזו של Genkit |
featureName | השם של התהליך, הפעולה, הכלי, השירות או הכלי העזר של Genkit. |
messageIndex * | אינדקס שמציין את סדר ההודעות עבור קלטות שמכילות כמה הודעות. בהודעות בודדות, הערך הזה תמיד יהיה 0. |
model * | שם הדגם. |
נתיב | נתיב הביצוע שיצר את היומן הזה בפורמט step1 > step2 > step3 |
partIndex * | אינדקס שמציין את סדר החלקים בהודעה, בהודעות מרובות חלקים. המצב הזה נפוץ כשמשלבים טקסט ותמונות בקלט יחיד. |
qualifiedPath | נתיב הביצוע שיצר את היומן הזה, כולל פרטי הסוג בפורמט: /{flow1,t:flow}/{generate,t:util}/{modelProvider/model,t:action,s:model |
totalMessages * | המספר הכולל של ההודעות בקלט הזה. בהודעות בודדות, הערך הזה תמיד יהיה 1. |
totalParts * | המספר הכולל של החלקים בהודעה הזו. בהודעות עם חלק אחד, הערך הזה תמיד יהיה 1. |
(*) פריטים עם כוכב מופיעים רק ביומני הקלט של אינטראקציות עם מודלים.
פלט
מטען ייעודי (payload) של JSON:
שם השדה | תיאור |
---|---|
הודעה | [genkit] Output[<path>, <featureName>] כולל (message X of N) להודעות שמחולקות לכמה חלקים |
מטא-נתונים | הקשר נוסף, כולל הודעת הקלט שנשלחה לפעולה |
מטא-נתונים:
שם השדה | תיאור |
---|---|
candidateIndex * (הוצא משימוש) | אינדקס שמציין את סדר המועמדים לפלט שמכיל כמה מועמדים. ביומני נתונים עם מועמדים יחידים, הערך הזה תמיד יהיה 0. |
תוכן | הודעת הפלט שנוצרה על ידי הפעולה של Genkit |
featureName | השם של התהליך, הפעולה, הכלי, השירות או הכלי העזר של Genkit. |
messageIndex * | אינדקס שמציין את סדר ההודעות עבור קלטות שמכילות כמה הודעות. בהודעות בודדות, הערך הזה תמיד יהיה 0. |
model * | שם הדגם. |
נתיב | נתיב הביצוע שיצר את היומן הזה בפורמט 'step1 > step2 > step3 |
partIndex * | אינדקס שמציין את סדר החלקים בהודעה, בהודעות מרובות חלקים. המצב הזה נפוץ כשמשלבים טקסט ותמונות בפלט יחיד. |
qualifiedPath | נתיב הביצוע שיצר את היומן הזה, כולל פרטי הסוג בפורמט: /{flow1,t:flow}/{generate,t:util}/{modelProvider/model,t:action,s:model |
totalCandidates * (הוצא משימוש) | המספר הכולל של המועמדים שנוצרו כפלט. בהודעות עם מועמדים יחידים, הערך הזה תמיד יהיה 1. |
totalParts * | המספר הכולל של החלקים בהודעה הזו. בהודעות עם חלק אחד, הערך הזה תמיד יהיה 1. |
(*) פריטים עם כוכב מופיעים רק ביומני הפלט של אינטראקציות עם מודלים.
הגדרה
מטען ייעודי (payload) של JSON:
שם השדה | תיאור |
---|---|
הודעה | [genkit] Config[<path>, <featureName>] |
מטא-נתונים | הקשר נוסף, כולל הודעת הקלט שנשלחה לפעולה |
מטא-נתונים:
שם השדה | תיאור |
---|---|
featureName | השם של התהליך, הפעולה, הכלי, השירות או הכלי העזר של Genkit. |
מודל | שם הדגם. |
נתיב | נתיב הביצוע שיצר את היומן הזה בפורמט 'step1 > step2 > step3 |
qualifiedPath | נתיב הביצוע שיצר את היומן הזה, כולל פרטי הסוג בפורמט: /{flow1,t:flow}/{generate,t:util}/{modelProvider/model,t:action,s:model |
source | השפה שבה נעשה שימוש בספריית Genkit. הערך הזה תמיד יוגדר כ-'ts' כי זו השפה היחידה שנתמכת. |
sourceVersion | גרסת הספרייה של Genkit. |
טמפרטורה | הטמפרטורה של המודל שבה נעשה שימוש. |
נתיבים
מטען ייעודי (payload) של JSON:
שם השדה | תיאור |
---|---|
הודעה | [genkit] Paths[<path>, <featureName>] |
מטא-נתונים | הקשר נוסף, כולל הודעת הקלט שנשלחה לפעולה |
מטא-נתונים:
שם השדה | תיאור |
---|---|
flowName | השם של התהליך, הפעולה, הכלי, השירות או הכלי העזר של Genkit. |
נתיבים | מערך שמכיל את כל נתיבי הביצוע של ה-spans שנאספו. |