با مجموعهها، منظم بمانید ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
با Performance Monitoring ، میتوانید از ویژگیها برای تقسیمبندی دادههای عملکرد و تمرکز بر عملکرد برنامهتان در سناریوهای مختلف دنیای واقعی استفاده کنید.
پس از کلیک بر روی نام ردیابی در جدول ردیابی (که در پایین داشبورد عملکرد قرار دارد)، میتوانید معیارهای مورد علاقه را بررسی کنید. استفاده کنید دکمه add فیلتر (بالا سمت چپ صفحه) برای فیلتر کردن داده ها بر اساس ویژگی، به عنوان مثال:
داده های نظارت بر عملکرد Firebase با ویژگی فیلتر می شوند" />
بر اساس نسخه برنامه فیلتر کنید تا دادههای مربوط به نسخه قبلی یا آخرین نسخه خود را مشاهده کنید
بر اساس دستگاه فیلتر کنید تا بدانید دستگاه های قدیمی چگونه برنامه شما را مدیریت می کنند
بر اساس کشور فیلتر کنید تا مطمئن شوید مکان پایگاه داده شما بر منطقه خاصی تأثیر نمی گذارد
Performance Monitoring به طور خودکار انواع ویژگی های پیش فرض را بسته به نوع ردیابی جمع آوری می کند.
علاوه بر این ویژگیهای پیشفرض، میتوانید ویژگیهای سفارشی را نیز در ردیابی کد سفارشی خود ایجاد کنید تا دادهها را بر اساس دستههای خاص برنامه خود تقسیم کنید. به عنوان مثال، در یک بازی، می توانید داده ها را بر اساس سطح بازی تقسیم بندی کنید.
ویژگی های پیش فرض برای برنامه های اپل و اندروید
همه ردیابی ها برای برنامه های اپل و اندروید به طور پیش فرض ویژگی های زیر را جمع آوری می کنند:
نسخه برنامه
کشور
سطح سیستم عامل
دستگاه
رادیو
حامل
علاوه بر این، ردیابی درخواست شبکه نیز ویژگی زیر را جمع آوری می کند:
نوع MIME
جمع آوری داده های کاربر
ایجاد ویژگی های سفارشی
میتوانید ویژگیهای سفارشی را روی هر یک از ردیابیهای کد سفارشی ابزاری خود ایجاد کنید.
از Performance Monitoring Trace API ( Swift | Obj-C ) برای افزودن ویژگی های سفارشی به ردیابی کد سفارشی استفاده کنید.
برای استفاده از ویژگیهای سفارشی، کدی را به برنامه خود اضافه کنید که مشخصه را تعریف میکند و آن را با یک ردیابی کد سفارشی خاص مرتبط میکند. شما می توانید ویژگی سفارشی را در هر زمانی بین شروع ردیابی و توقف ردیابی تنظیم کنید.
به موارد زیر توجه کنید:
نامهای ویژگیهای سفارشی باید شرایط زیر را داشته باشند:
بدون فاصله سفید پیشرو یا انتهایی، هیچ نویسه زیرخط اصلی ( _ ).
بدون فضا
حداکثر طول 32 کاراکتر است
کاراکترهای مجاز برای نام عبارتند از AZ , az , و _ .
هر ردیابی کد سفارشی می تواند تا 5 ویژگی سفارشی را ثبت کند.
لطفاً مطمئن شوید که ویژگیهای سفارشی حاوی اطلاعاتی نیستند که شخصاً یک فرد را در Google شناسایی کند.
درباره این دستورالعمل بیشتر بدانید
سویفت
توجه: این محصول 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```"]]