تنظيم صفحاتك في مجموعات يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
باستخدام Performance Monitoring، يمكنك استخدام السمات لتقسيم بيانات الأداء والتركيز على أداء تطبيقك في سيناريوهات مختلفة من الاستخدام الفعلي.
بعد النقر على اسم عملية تتبُّع في جدول عمليات التتبُّع (الموجود في أسفل لوحة بيانات الأداء)، يمكنك الانتقال إلى تفاصيل المقاييس التي تهمّك. استخدِم الزر فلترadd (في أعلى يمين الشاشة) لفلترة البيانات حسب السمة، على سبيل المثال:
تتم فلترة بيانات "مراقبة أداء Firebase" حسب السمة" />
يمكنك الفلترة حسب إصدار التطبيق لعرض بيانات حول إصدار سابق أو أحدث إصدار.
يمكنك الفلترة حسب الجهاز لمعرفة كيفية تعامل الأجهزة القديمة مع تطبيقك.
يمكنك الفلترة حسب البلد للتأكّد من أنّ موقع قاعدة البيانات لا يؤثر في منطقة معيّنة.
تجمع Performance Monitoring تلقائيًا مجموعة متنوّعة من السمات التلقائية استنادًا إلى نوع التتبُّع.
بالإضافة إلى هذه السمات التلقائية، يمكنك أيضًا إنشاء سمات مخصّصة في عمليات تتبُّع الرموز المخصّصة لتصنيف البيانات حسب الفئات الخاصة بتطبيقك. على سبيل المثال، في إحدى الألعاب، يمكنك تصنيف البيانات حسب مستوى اللعبة.
السمات التلقائية لتطبيقات Apple وAndroid
تجمع جميع عمليات التتبُّع لتطبيقات Apple وAndroid السمات التالية تلقائيًا:
إصدار التطبيق
البلد
مستوى نظام التشغيل
الجهاز
راديو
شركة جوال
بالإضافة إلى ذلك، تجمع عمليات تتبُّع طلبات الشبكة السمة التالية أيضًا:
استخدِم واجهة برمجة التطبيقات Performance Monitoring Trace API (Swift | Obj-C) لإضافة سمات مخصّصة إلى عمليات تتبُّع الرموز المخصّصة.
لاستخدام السمات المخصّصة، أضِف رمزًا إلى تطبيقك يحدّد السمة ويربطها بتتبُّع رمز مخصّص معيّن. يمكنك ضبط السمة المخصّصة في أي وقت بين بدء التتبُّع وإيقافه.
لاحظ ما يلي:
يجب أن تستوفي أسماء السمات المخصّصة المتطلبات التالية:
لا توجد مسافة بيضاء بادئة أو لاحقة، ولا يوجد حرف شرطة سفلية بادئة (_)
ما مِن مساحات
الحد الأقصى للطول هو 32 حرفًا.
الأحرف المسموح بها في الاسم هي A-Z وa-z و_.
يمكن أن يسجّل كلّ تتبُّع للرمز المخصّص ما يصل إلى 5 سمات مخصّصة.
يُرجى التأكّد من أنّ السمات المخصّصة لا تتضمّن أي معلومات تحدّد هوية فرد معيّن لدى Google.
مزيد من المعلومات عن هذه الإرشادات
Swift
ملاحظة: لا يتوفّر منتج Firebase هذا على أنظمة التشغيل macOS وMac Catalyst وwatchOS.
تاريخ التعديل الأخير: 2025-08-21 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","easyToUnderstand","thumb-up"],["ساعَدني المحتوى في حلّ مشكلتي.","solvedMyProblem","thumb-up"],["غير ذلك","otherUp","thumb-up"]],[["لا يحتوي على المعلومات التي أحتاج إليها.","missingTheInformationINeed","thumb-down"],["الخطوات معقدة للغاية / كثيرة جدًا.","tooComplicatedTooManySteps","thumb-down"],["المحتوى قديم.","outOfDate","thumb-down"],["ثمة مشكلة في الترجمة.","translationIssue","thumb-down"],["مشكلة في العيّنات / التعليمات البرمجية","samplesCodeIssue","thumb-down"],["غير ذلك","otherDown","thumb-down"]],["تاريخ التعديل الأخير: 2025-08-21 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],null,["\u003cbr /\u003e\n\niOS+ Android Web \n\n\u003cbr /\u003e\n\nWith Performance Monitoring, you can use attributes to segment performance data and focus\non your app's performance in different real-world scenarios.\n\nAfter you click a trace name in the traces table (located at the bottom of\nthe\n[*Performance* dashboard](//console.firebase.google.com/project/_/performance)), you can drill down into\nmetrics of interest. Use the\n**Filteradd** button\n(top-left of the screen) to filter the data by attribute, for example:\n\nFirebase Performance Monitoring data being filtered by attribute\" /\\\u003e\n\n- Filter by *App version* to view data about a past release or your latest release\n- Filter by *Device* to learn how older devices handle your app\n- Filter by *Country* to make sure your database location isn't affecting a specific region\n\nFor even more powerful analysis based on attributes,\n[export your performance data to BigQuery](/docs/perf-mon/bigquery-export).\n\nDefault attributes\n\nPerformance Monitoring automatically collects a variety of default attributes depending\non the type of trace.\n\nIn addition to these default attributes, you can also\n[create custom attributes](#create-custom-attributes) on your\n[custom code traces](/docs/perf-mon/custom-code-traces) to segment data by\ncategories specific to your app. For example, in a game, you can segment data by\ngame level.\n\nDefault attributes for Apple and Android apps\n\nAll traces for Apple and Android apps collect the following attributes by default:\n\n- App version\n- Country\n- OS level\n- Device\n- Radio\n- Carrier\n\nIn addition, network request traces also collect the following attribute:\n\n- MIME type\n\nCollecting user data **Collecting user data:** Performance Monitoring does not itself collect\n| any personally identifiable information (PII), such as names, email\n| addresses, or phone numbers. Developers can collect additional data using\n| Performance Monitoring by creating custom attributes on custom code traces. Such data collected through\n| Performance Monitoring should not contain information that personally identifies an\n| individual to Google.\n|\n| Here's an example of a log message that *does not* contain\n| personally identifiable information: \n|\n| ```java\n| trace.putAttribute(\"experiment\", \"A\");\n| ```\n|\n| Here's an example that *does* contain personally\n| identifiable information (***do not use*** this type of\n| custom attribute in your app): \n|\n| ```java\n| trace.putAttribute(\"email\", user.getEmailAddress());\n| ```\n|\n| Data that exposes any personally identifiable information is subject to\n| deletion without notice.\n\nCreate custom attributes\n\nYou can create custom attributes on any of your instrumented\n[custom code traces](/docs/perf-mon/custom-code-traces).\n\nUse the Performance Monitoring Trace API\n([Swift](/docs/reference/swift/firebaseperformance/api/reference/Classes/Trace)\n\\|\n[Obj-C](/docs/reference/ios/firebaseperformance/api/reference/Classes/FIRTrace))\nto add custom attributes to custom code traces.\n\nTo use custom attributes, add code to your app that defines the attribute and\nassociates it with a specific custom code trace. You can set the custom\nattribute anytime between when the trace starts and when the trace stops.\n\nNote the following:\n\n- Names for custom attributes must meet the following requirements:\n\n - No leading or trailing whitespace, no leading underscore (`_`) character\n - No spaces\n - Max length is 32 characters\n - Allowed characters for the name are `A-Z`, `a-z`, and `_`.\n- Each custom code trace can record up to 5 custom attributes.\n\n- Please ensure that custom attributes do not contain any information that\n personally identifies an individual to Google.\n\n Learn more about this guideline\n | **Collecting user data:** Performance Monitoring does not itself collect\n | any personally identifiable information (PII), such as names, email\n | addresses, or phone numbers. Developers can collect additional data using\n | Performance Monitoring by creating custom attributes on custom code traces. Such data collected through\n | Performance Monitoring should not contain information that personally identifies an\n | individual to Google.\n |\n | Here's an example of a log message that *does not* contain\n | personally identifiable information: \n |\n | ```java\n | trace.putAttribute(\"experiment\", \"A\");\n | ```\n |\n | Here's an example that *does* contain personally\n | identifiable information (***do not use*** this type of\n | custom attribute in your app): \n |\n | ```java\n | trace.putAttribute(\"email\", user.getEmailAddress());\n | ```\n |\n | Data that exposes any personally identifiable information is subject to\n | deletion without notice.\n\nSwift\n\n\n**Note:** This Firebase product is not available on macOS, Mac Catalyst, watchOS targets. \n\n```swift\nlet trace = Performance.startTrace(name: \"\u003cvar class=\"readonly\" translate=\"no\"\u003eCUSTOM_TRACE_NAME\u003c/var\u003e\")\n\ntrace.setValue(\"A\", forAttribute: \"experiment\")\n\n// Update scenario.\ntrace.setValue(\"B\", forAttribute: \"experiment\")\n\n// Reading scenario.\nlet experimentValue:String? = trace.valueForAttribute(\"experiment\")\n\n// Delete scenario.\ntrace.removeAttribute(\"experiment\")\n\n// Read attributes.\nlet attributes:[String, String] = trace.attributes;\n```\n\nObjective-C\n\n\n**Note:** This Firebase product is not available on macOS, Mac Catalyst, watchOS targets. \n\n```objective-c\nFIRTrace *trace = [FIRPerformance startTraceWithName:@\"\u003cvar class=\"readonly\" translate=\"no\"\u003eCUSTOM_TRACE_NAME\u003c/var\u003e\"];\n\n[trace setValue:@\"A\" forAttribute:@\"experiment\"];\n\n// Update scenario.\n[trace setValue:@\"B\" forAttribute:@\"experiment\"];\n\n// Reading scenario.\nNSString *experimentValue = [trace valueForAttribute:@\"experiment\"];\n\n// Delete scenario.\n[trace removeAttribute:@\"experiment\"];\n\n// Read attributes.\nNSDictionary \u003cNSString *, NSString *\u003e *attributes = [trace attributes];\n```"]]