Telemetry Collection

يصدِّر المكوّن الإضافي لقياس الأداء في 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
المسارات صفيف يحتوي على جميع مسارات التنفيذ للمقاطع التي تم جمعها