Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Firebase significantly contributes to iOS app launch time #13232

Open
mkj-is opened this issue Jul 4, 2024 · 4 comments
Open

Firebase significantly contributes to iOS app launch time #13232

mkj-is opened this issue Jul 4, 2024 · 4 comments

Comments

@mkj-is
Copy link
Contributor

mkj-is commented Jul 4, 2024

Description

In Xcode Organizer in Xcode 16 beta we see Firebase is contributing 10 % to our app launch time, which is concerning.

Our custom measurements in production show the P90 for initialising Firebase SDK is 90 ms, P50 is 40 ms. We are using CocoaPods, but Firebase is statically linked.

These methods are responsible:

  • 3 %: FIRCLSContextInitialize + 876 (130 ms spent in this code path during a 1792 ms launch)
  • 2 %: __46+[APMAnalytics startWithAppID:origin:options:]_block_invoke + 1148 (90 ms spent in this code path during a 1220 ms launch)
  • 2 %: +[APMAEU appStoreRURL] + 160 (90 ms spent in this code path during a 3528 ms launch)
  • 1 %: -[APMUserDefaults objectForKey:] + 88 (90 ms spent in this code path during a 1186 ms launch)
  • 1 %: -[FIRInstallationsAPIService initWithAPIKey:projectID:heartbeatLogger:] + 92 (60 ms spent in this code path during a 1830 ms launch)
  • 1 %: APMIsScreenReportingEnabled + 28 (130 ms spent in this code path during a 2467 ms launch)

Might be related to #13223.

Screenshot 2024-07-04 at 13 04 54 Screenshot 2024-07-04 at 13 05 01 Screenshot 2024-07-04 at 13 05 16 Screenshot 2024-07-04 at 13 05 31 Screenshot 2024-07-04 at 13 05 42 Screenshot 2024-07-04 at 13 07 33

Reproducing the issue

Open Xcode Organizer (Xcode 16 beta) Launch reports for any app with significant number of users and see the stats.

Firebase SDK Version

10.22

Xcode Version

16.0

Installation Method

CocoaPods

Firebase Product(s)

Crashlytics, Performance

Targeted Platforms

iOS

Relevant Log Output

No response

If using Swift Package Manager, the project's Package.resolved

Expand Package.resolved snippet
Replace this line with the contents of your Package.resolved.

If using CocoaPods, the project's Podfile.lock

Expand Podfile.lock snippet
  FirebaseABTesting: e6e3c3e0e35813874f571d1b7bdae2aab319dd38
  FirebaseAnalytics: 8d0ff929c63b7f72260f332b86ccf569776b75d3
  FirebaseCore: 0326ec9b05fbed8f8716cddbf0e36894a13837f7
  FirebaseCoreExtension: 8a47811d0b155501559ef05d089518152a0a1677
  FirebaseCoreInternal: 910a81992c33715fec9263ca7381d59ab3a750b7
  FirebaseCrashlytics: e568d68ce89117c80cddb04073ab9018725fbb8c
  FirebaseInstallations: 91950fe859846fff0fbd296180909dd273103b09
  FirebaseMessaging: 9f71037fd9db3376a4caa54e5a3949d1027b4b6e
  FirebasePerformance: 095debad1fc8d7d73148a835fcaec9e528946166
  FirebaseRemoteConfig: 9f3935cefecd85d5b312192117f444957de24a75
  FirebaseRemoteConfigInterop: b25018791b204c0d78a90e394d6c62d9b1f22da8
  FirebaseSessions: c0939656253a1fa0e94ecc266ccf770cc8b33732
  FirebaseSharedSwift: 0274086954b1b2d5fd7e829eccc587044d72a4ba
@paulb777
Copy link
Member

paulb777 commented Jul 9, 2024

10.27.0 addressed a startup time issue in Crashlytics that may be related to the top item in the list. Please update and let us know if the slowdown is still occurring.

@google-oss-bot
Copy link

Hey @mkj-is. We need more information to resolve this issue but there hasn't been an update in 5 weekdays. I'm marking the issue as stale and if there are no new updates in the next 5 days I will close it automatically.

If you have more information that will help us get to the bottom of this, just add a comment!

@mkj-is
Copy link
Contributor Author

mkj-is commented Jul 16, 2024

We currently have 10.22.0 in production. When we tested the latest version (10.29.0) we were not able to see any improvements.

@mkj-is
Copy link
Contributor Author

mkj-is commented Aug 29, 2024

There is a new strack trace since we updated to Firebase 10.29.0:

-[RCNConfigDBManager loadInternalMetadataTable] + 160 (130 ms spent in this code path during a 1986 ms launch)

Our metrics show the Firebase init increased by 30 ms on iOS and 100 ms on tvOS due to this update.

We are not using RemoteConfig, it is automatically included as a dependency of FirebasePerformance.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants