Stay organized with collections
Save and categorize content based on your preferences.
FIRPerformance
@interfaceFIRPerformance:NSObject
This class allows you to configure the Firebase Performance Reporting SDK. It also provides the
interfaces to create timers and enable or disable automatic metrics capture.
This SDK uses a Firebase Installations ID to identify the app instance and periodically sends
data to the Firebase backend (see Installations.installationID(completion:)).
To stop this periodic sync, call Installations.delete(completion:) and
either disable this SDK or set Performance.dataCollectionEnabled to false.
Controls the capture of performance data. When this value is set to NO, none of the performance
data will sent to the server. Default is true.
This setting is persisted, and is applied on future invocations of your application. Once
explicitly set, it overrides any settings in your Info.plist.
Controls the instrumentation of the app to capture performance data. Setting this value to false
has immediate effect only if it is done so before calling FirebaseApp.configure(). Otherwise it
takes effect on the next app start.
If set to false, the app will not be instrumented to collect performance
data (in scenarios like app_start, networking monitoring). Default is true.
This setting is persisted, and is applied on future invocations of your application. Once
explicitly set, it overrides any settings in your Info.plist.
Creates an instance of Trace after creating the shared instance of Performance. The trace
will automatically be started on a successful creation of the instance. The name of the trace
cannot be an empty string.
Creates an instance of Trace. This API does not start the trace. To start the trace, use the
start() method on the returned Trace object. The name cannot be an empty string.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-03-11 UTC."],[],[],null,["FIRPerformance \n\n\n @interface FIRPerformance : NSObject\n\nThis class allows you to configure the Firebase Performance Reporting SDK. It also provides the\ninterfaces to create timers and enable or disable automatic metrics capture.\n\nThis SDK uses a Firebase Installations ID to identify the app instance and periodically sends\ndata to the Firebase backend (see `Installations.installationID(completion:)`).\nTo stop this periodic sync, call `Installations.delete(completion:)` and\neither disable this SDK or set Performance.dataCollectionEnabled to false.\n- `\n ``\n ``\n `\n\n [dataCollectionEnabled](#/c:objc(cs)FIRPerformance(py)dataCollectionEnabled)`\n ` \n Controls the capture of performance data. When this value is set to NO, none of the performance\n data will sent to the server. Default is true.\n\n This setting is persisted, and is applied on future invocations of your application. Once\n explicitly set, it overrides any settings in your Info.plist. \n\n Declaration \n Objective-C \n\n @property (nonatomic, assign, unsafe_unretained, readwrite,\n getter=isDataCollectionEnabled) BOOL dataCollectionEnabled;\n\n- `\n ``\n ``\n `\n\n [instrumentationEnabled](#/c:objc(cs)FIRPerformance(py)instrumentationEnabled)`\n ` \n Controls the instrumentation of the app to capture performance data. Setting this value to false\n has immediate effect only if it is done so before calling FirebaseApp.configure(). Otherwise it\n takes effect on the next app start.\n\n If set to false, the app will not be instrumented to collect performance\n data (in scenarios like `app_start`, networking monitoring). Default is true.\n\n This setting is persisted, and is applied on future invocations of your application. Once\n explicitly set, it overrides any settings in your `Info.plist`. \n\n Declaration \n Objective-C \n\n @property (nonatomic, assign, unsafe_unretained, readwrite,\n getter=isInstrumentationEnabled) BOOL instrumentationEnabled;\n\n- `\n ``\n ``\n `\n\n [+sharedInstance](#/c:objc(cs)FIRPerformance(cm)sharedInstance)`\n ` \n\n Declaration \n Objective-C \n\n + (nonnull instancetype)sharedInstance;\n\n Return Value\n\n The shared instance.\n- `\n ``\n ``\n `\n\n [+startTraceWithName:](#/c:objc(cs)FIRPerformance(cm)startTraceWithName:)`\n ` \n Creates an instance of Trace after creating the shared instance of Performance. The trace\n will automatically be started on a successful creation of the instance. The `name` of the trace\n cannot be an empty string. \n\n Declaration \n Objective-C \n\n + (nullable ../Classes/FIRTrace.html *)startTraceWithName:(nonnull NSString *)name;\n\n Parameters\n\n Return Value\n\n The Trace object.\n- `\n ``\n ``\n `\n\n [-traceWithName:](#/c:objc(cs)FIRPerformance(im)traceWithName:)`\n ` \n Creates an instance of Trace. This API does not start the trace. To start the trace, use the\n `start()` method on the returned Trace object. The `name` cannot be an empty string. \n\n Declaration \n Objective-C \n\n - (nullable ../Classes/FIRTrace.html *)traceWithName:(nonnull NSString *)name;\n\n Parameters\n\n Return Value\n\n The FIRTrace object."]]