Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
Con Performance Monitoring, puedes usar atributos para segmentar los datos de rendimiento y enfocarte
en el rendimiento de tu app en diferentes situaciones del mundo real.
Después de hacer clic en un nombre de seguimiento en la tabla correspondiente (se ubica en la parte inferior
del
panel Rendimiento), puedes hacer clic en
varias pantallas para explorar un seguimiento y desglosar las métricas de interés. Puedes usar el botón
Filtraradd
(en la parte superior izquierda de la pantalla) para filtrar los datos por atributo, como se muestra a continuación:
datos de Firebase Performance Monitoring que se filtran por atributo" />
Filtra por URL de la página para ver los datos de una página específica de tu
sitio.
Filtra por Tipo de conexión real para saber cómo una conexión de 3g
afecta tu app.
Filtra por País para asegurarte de que la ubicación de la base de datos no
afecte a una región específica.
Atributos predeterminados
Performance Monitoring recopila automáticamente una variedad de atributos predeterminados según
el tipo de seguimiento.
Además de estos atributos predeterminados, también puedes crear atributos personalizados en tus seguimientos de código personalizado para segmentar datos por categorías específicas de tu app. Por ejemplo, en un videojuego, puedes segmentar datos según el nivel del juego.
Atributos predeterminados recopilados para apps web
Todos los seguimientos de aplicaciones web recopilan los siguientes atributos de forma predeterminada:
Para usar atributos personalizados, agrega código a tu app que defina el atributo y
lo asocie con un seguimiento de código personalizado específico. Puedes configurar el atributo personalizado en cualquier momento desde que se inicia el seguimiento hasta que se detiene.
Ten en cuenta lo siguiente:
Los nombres de los atributos personalizados deben cumplir con los siguientes requisitos:
No deben tener espacios en blanco al inicio ni al final, ni comenzar con guion bajo (_).
Sin espacios
La longitud máxima es de 32 caracteres.
Los caracteres permitidos para el nombre son A-Z, a-z y _.
Cada seguimiento de código personalizado puede registrar hasta 5 atributos personalizados.
Asegúrate de que los atributos personalizados no contengan información que
permita que Google identifique a una persona.
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-09-05 (UTC)"],[],[],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```"]]