يصدِّر المكوّن الإضافي لقياس الأداء في Firebase مجموعة من المقاييس والتتبّعات والسجلّات إلى ميزة "مراقبة Google Cloud". يوضّح هذا المستند بالتفصيل المقاييس وملفّات التتبّع والسمات والسجلّات التي سيتم جمعها والنتائج المتوقّعة من حيث وقت الاستجابة والحصص والتكلفة.
تأخُّر القياس عن بُعد
قد يحدث تأخير طفيف قبل أن تصبح بيانات القياس من طلب معيّن متاحة في Firebase. يعتمد ذلك على الفاصل الزمني للتصدير (5 دقائق بشكل تلقائي).
الحصص والحدود
هناك عدة حصص مهمة يجب أخذها في الاعتبار:
التكلفة
تتوفّر مستويات مجانية سخية لخدمات Cloud Logging وCloud Trace وCloud Monitoring. يمكن العثور على أسعار محدّدة في الروابط التالية:
المقاييس
يجمع مكوّن Firebase الإضافي لقياس الأداء عددًا من المقاييس المختلفة للسماح بأنواع إجراءات Genkit المختلفة الموضّحة بالتفصيل في الأقسام التالية.
مقاييس الميزات
الميزات هي نقطة الدخول ذات المستوى الأعلى إلى رمز Genkit. وفي معظم الحالات، سيكون هذا مسارًا. بخلاف ذلك، سيكون هذا هو النطاق العلوي في التتبّع.
الاسم | النوع | الوصف |
---|---|---|
genkit/feature/requests | عدّاد | عدد الطلبات |
genkit/feature/latency | التردد الرسومي | وقت استجابة التنفيذ بالملي ثانية |
يحتوي كل مقياس ميزة على السمات التالية:
الاسم | الوصف |
---|---|
الاسم | اسم الميزة في معظم الحالات، يكون هذا هو مسار Genkit من المستوى الأعلى. |
الحالة | "success" أو "failure" حسب ما إذا كان طلب الميزة ناجحًا أم لا |
خطأ | لا يتم ضبطه إلا عند status=failure . يحتوي على نوع الخطأ الذي أدّى إلى حدوث المشكلة |
المصدر | لغة مصدر Genkit على سبيل المثال: 'ts' |
sourceVersion | إصدار إطار عمل Genkit |
مقاييس الإجراءات
تمثّل الإجراءات خطوة عامة للتنفيذ ضمن Genkit. سيتم تتبُّع المقاييس التالية لكلّ خطوة من هذه الخطوات:
الاسم | النوع | الوصف |
---|---|---|
genkit/action/requests | عدّاد | عدد مرّات تنفيذ هذا الإجراء |
genkit/action/latency | التردد الرسومي | وقت استجابة التنفيذ بالملي ثانية |
يحتوي كل مقياس إجراء على السمات التالية:
الاسم | الوصف |
---|---|
الاسم | اسم الإجراء |
featureName | اسم الميزة الرئيسية التي يتم تنفيذها |
المسار | مسار التنفيذ من جذر الميزة إلى هذا الإجراء، على سبيل المثال: '/myFeature/parentAction/thisAction' |
الحالة | "success" أو "failure" حسب ما إذا كان الإجراء ناجحًا أم لا |
خطأ | لا يتم ضبطه إلا عند status=failure . يحتوي على نوع الخطأ الذي أدّى إلى حدوث المشكلة |
المصدر | لغة مصدر Genkit على سبيل المثال: 'ts' |
sourceVersion | إصدار إطار عمل 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" حسب ما إذا كان طلب الميزة ناجحًا أم لا |
خطأ | لا يتم ضبطه إلا عند status=failure . يحتوي على نوع الخطأ الذي أدّى إلى حدوث المشكلة |
المصدر | لغة مصدر Genkit على سبيل المثال: 'ts' |
sourceVersion | إصدار إطار عمل Genkit |
عمليات التتبّع
يتمّ تلقائيًا تجهيز جميع إجراءات Genkit لتقديم عمليات تتبُّع مفصّلة لميزات الذكاء الاصطناعي. تظهر عمليات التتبّع على الجهاز في واجهة مستخدِم المطوّر. بالنسبة إلى التطبيقات التي تم نشرها، يمكنك تفعيل ميزة "مراقبة Firebase Genkit" للحصول على المستوى نفسه من مستوى العرض.
توضّح الأقسام التالية سمات التتبّع التي يمكنك توقّعها استنادًا إلى نوع إجراء Genkit لمقطع معيّن في التتبّع.
نطاقات الجذر
تحتوي النطاقات الجذرية على سمات خاصة للمساعدة في إزالة الغموض عن سمات الحالة لمسار التتبّع بأكمله مقارنةً بنطاق فردي.
اسم السمة | الوصف |
---|---|
genkit/feature | اسم الميزة الرئيسية التي يتم تنفيذها |
genkit/isRoot | يتم وضع علامة صحيحة إذا كان هذا النطاق هو النطاق الجذر. |
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 الأساسي الذي يتوافق مع هذا النطاق بالنسبة إلى عمليات التنقّل، سيكون هذا الرقم هو action . |
Util
اسم السمة | الوصف |
---|---|
genkit/input | الإدخال إلى الأداة سيكون هذا الحجم دائمًا <redacted> بسبب حدود حجم سمة التتبّع. |
genkit/name | اسم إجراء Genkit هذا. في هذه الحالة، اسم العملية |
genkit/output | الناتج الذي تم إنشاؤه في الأداة سيكون هذا الحجم دائمًا <redacted> بسبب حدود حجم سمة التتبّع. |
genkit/path | مسار التنفيذ المؤهَّل بالكامل الذي يؤدّي إلى هذه الخطوة في التتبُّع، بما في ذلك معلومات النوع |
genkit/state | حالة تنفيذ هذا النطاق على أنّها success أو error . |
genkit/type | نوع عنصر Genkit الأساسي الذي يتوافق مع هذا النطاق بالنسبة إلى عمليات التنقّل، سيكون هذا الرقم هو 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 الأساسي الذي يتوافق مع هذا النطاق بالنسبة إلى عمليات التنقّل، سيكون هذا الرقم هو 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"، يتم استخدام السجلات لتسجيل metadata المتعلقة بالمدخلات والمخرجات والإعدادات، والتي تقدّم تفاصيل غنية عن كل خطوة في ميزة الذكاء الاصطناعي.
ستتضمّن جميع السجلات حقول البيانات الوصفية المشترَكة التالية:
اسم الحقل | الوصف |
---|---|
insertId | المعرّف الفريد لإدخال السجلّ |
jsonPayload | حاوية للمعلومات المتغيّرة الفريدة لكل نوع من أنواع السجلات |
التصنيفات | {module: genkit} |
logName | projects/weather-gen-test-next/logs/genkit_log |
receivedTimestamp | وقت استلام السحابة الإلكترونية للسجلّ |
المصدر | معلومات عن مصدر السجلّ، بما في ذلك معلومات النشر والمنطقة وprojectId |
مستوى الخطورة | مستوى السجلّ الذي تمّت كتابته اطّلِع على LogSeverity في Cloud. |
spanId | معرّف النطاق الذي أنشأ هذا السجلّ |
الطابع الزمني | وقت تسجيل العميل لرسالة |
تتبّع | معرّف لتتبُّع التنسيق projects/<project-id>/traces/<trace-id> |
traceSampled | قيمة منطقية تمثّل ما إذا تم أخذ عيّنة من التتبّع. لا يتم تحليل عينات من السجلّات. |
سيكون لكل نوع من أنواع السجلّات حمولة json مختلفة موضّحة في كل قسم.
الإدخال
الحمولة بتنسيق JSON:
اسم الحقل | الوصف |
---|---|
رسالة | [genkit] Input[<path>, <featureName>] بما في ذلك (message X of N) للرسائل المكوّنة من أجزاء متعددة |
البيانات الوصفية | سياق إضافي، بما في ذلك رسالة الإدخال المُرسَلة إلى الإجراء |
البيانات الوصفية:
اسم الحقل | الوصف |
---|---|
المحتوى | محتوى رسالة الإدخال المُرسَل إلى إجراء Genkit هذا |
featureName | اسم مسار أو إجراء أو أداة أو أداة مساعدة أو مساعد في Genkit |
messageIndex * | فهرس يشير إلى ترتيب الرسائل للإدخالات التي تحتوي على رسائل متعددة بالنسبة إلى الرسائل الفردية، سيكون هذا الرقم دائمًا 0. |
الطراز * | اسم الطراز |
المسار | مسار التنفيذ الذي أنشأ هذا السجلّ بالتنسيق step1 > step2 > step3 |
partIndex * | فهرس يشير إلى ترتيب الأجزاء ضمن رسالة تتألف من أجزاء متعددة ويحدث ذلك عادةً عند دمج النصوص والصور في إدخال واحد. |
qualifiedPath | مسار التنفيذ الذي أنشأ هذا السجلّ، بما في ذلك معلومات النوع للتنسيق: /{flow1,t:flow}/{generate,t:util}/{modelProvider/model,t:action,s:model |
totalMessages * | إجمالي عدد الرسائل لهذا الإدخال. بالنسبة إلى الرسائل الفردية، سيكون هذا الرقم دائمًا 1. |
totalParts * | إجمالي عدد أجزاء هذه الرسالة. بالنسبة إلى الرسائل المكوّنة من جزء واحد، سيكون هذا الرقم دائمًا 1. |
(*) لا تظهر العناصر التي تم وضع علامة عليها إلا في سجلّات الإدخال لتفاعلات النماذج.
الناتج
الحمولة بتنسيق JSON:
اسم الحقل | الوصف |
---|---|
رسالة | [genkit] Output[<path>, <featureName>] بما في ذلك (message X of N) للرسائل المكوّنة من عدة أجزاء |
البيانات الوصفية | سياق إضافي، بما في ذلك رسالة الإدخال المُرسَلة إلى الإجراء |
البيانات الوصفية:
اسم الحقل | الوصف |
---|---|
candidateIndex * (متوقّفة نهائيًا) | فهرس يشير إلى ترتيب المرشحين للنتائج التي تحتوي على مرشحين متعدّدين بالنسبة إلى السجلات التي تحتوي على مرشح واحد، سيكون هذا الرقم دائمًا 0. |
المحتوى | رسالة الإخراج التي تم إنشاؤها بواسطة إجراء Genkit |
featureName | اسم مسار أو إجراء أو أداة أو أداة مساعدة أو مساعد في Genkit |
messageIndex * | فهرس يشير إلى ترتيب الرسائل للإدخالات التي تحتوي على رسائل متعددة بالنسبة إلى الرسائل الفردية، سيكون هذا الرقم دائمًا 0. |
الطراز * | اسم الطراز |
المسار | مسار التنفيذ الذي أنشأ هذا السجلّ بالتنسيق "الخطوة 1 > الخطوة 2 > الخطوة 3" |
partIndex * | فهرس يشير إلى ترتيب الأجزاء ضمن رسالة تتألف من أجزاء متعددة ويحدث ذلك عادةً عند دمج النصوص والصور في إخراج واحد. |
qualifiedPath | مسار التنفيذ الذي أنشأ هذا السجلّ، بما في ذلك معلومات النوع للتنسيق: /{flow1,t:flow}/{generate,t:util}/{modelProvider/model,t:action,s:model |
totalCandidates * (متوقّفة نهائيًا) | إجمالي عدد المرشحين الذين تم إنشاؤهم كإخراج بالنسبة إلى الرسائل التي تتضمّن مرشحًا واحدًا، سيكون هذا الرقم دائمًا 1. |
totalParts * | إجمالي عدد أجزاء هذه الرسالة. بالنسبة إلى الرسائل المكوّنة من جزء واحد، سيكون هذا الرقم دائمًا 1. |
(*) لا تظهر العناصر التي تم وضع علامة عليها إلا في سجلّات "النتائج" لتفاعلات النماذج.
الإعدادات
الحمولة بتنسيق JSON:
اسم الحقل | الوصف |
---|---|
رسالة | [genkit] Config[<path>, <featureName>] |
البيانات الوصفية | سياق إضافي، بما في ذلك رسالة الإدخال المُرسَلة إلى الإجراء |
البيانات الوصفية:
اسم الحقل | الوصف |
---|---|
featureName | اسم مسار أو إجراء أو أداة أو أداة مساعدة أو مساعد في Genkit |
model | اسم الطراز |
المسار | مسار التنفيذ الذي أنشأ هذا السجلّ بالتنسيق "الخطوة 1 > الخطوة 2 > الخطوة 3" |
qualifiedPath | مسار التنفيذ الذي أنشأ هذا السجلّ، بما في ذلك معلومات النوع للتنسيق: /{flow1,t:flow}/{generate,t:util}/{modelProvider/model,t:action,s:model |
المصدر | لغة مكتبة Genkit المستخدَمة. سيتم ضبط هذا الخيار دائمًا على ts لأنّها اللغة الوحيدة المتوافقة. |
sourceVersion | إصدار مكتبة Genkit. |
درجة الحرارة | درجة الحرارة المستخدَمة في النموذج |
المسارات
الحمولة بتنسيق JSON:
اسم الحقل | الوصف |
---|---|
رسالة | [genkit] Paths[<path>, <featureName>] |
البيانات الوصفية | سياق إضافي، بما في ذلك رسالة الإدخال المُرسَلة إلى الإجراء |
البيانات الوصفية:
اسم الحقل | الوصف |
---|---|
flowName | اسم مسار أو إجراء أو أداة أو أداة مساعدة أو مساعد في Genkit |
المسارات | صفيف يحتوي على جميع مسارات التنفيذ للمقاطع التي تم جمعها |