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

[Performance] Migrate to GoogleUtilities's storage container #12759

Merged
merged 1 commit into from
Apr 12, 2024

Conversation

ncooke3
Copy link
Member

@ncooke3 ncooke3 commented Apr 11, 2024

No description provided.

@google-oss-bot
Copy link

Coverage Report 1

Affected Products

  • FirebasePerformance-iOS-FirebasePerformance.framework

    Overall coverage changed from ? (16f64bf) to 94.71% (c515848) by ?.

    43 individual files with coverage change

    FilenameBase (16f64bf)Merge (c515848)Diff
    FIRHTTPMetric.m?100.00%?
    FIRPerformance.m?95.00%?
    FIRTrace.m?93.63%?
    FPRAppActivityTracker.m?93.08%?
    FPRClassInstrumentor.m?91.67%?
    FPRClient.m?94.49%?
    FPRConfiguration.m?63.16%?
    FPRConfigurations.m?95.00%?
    FPRConsoleURLGenerator.m?100.00%?
    FPRCounterList.m?100.00%?
    FPRCPUGaugeCollector.m?89.91%?
    FPRCPUGaugeData.m?100.00%?
    FPRDataUtils.m?96.04%?
    FPRDiagnostics.m?84.48%?
    FPRGaugeManager.m?95.42%?
    FPRGDTEvent.m?80.00%?
    FPRGDTLogger.m?100.00%?
    FPRGDTLogSampler.m?90.16%?
    FPRGDTRateLimiter.m?94.59%?
    FPRInstrument.m?100.00%?
    FPRInstrumentation.m?100.00%?
    FPRMemoryGaugeCollector.m?94.12%?
    FPRMemoryGaugeData.m?100.00%?
    FPRNanoPbUtils.m?86.53%?
    FPRNetworkInstrumentHelpers.m?29.17%?
    FPRNetworkTrace.m?95.25%?
    FPRNSURLConnectionDelegate.m?61.36%?
    FPRNSURLConnectionDelegateInstrument.m?98.70%?
    FPRNSURLConnectionInstrument.m?96.62%?
    FPRNSURLSessionDelegate.m?100.00%?
    FPRNSURLSessionDelegateInstrument.m?99.24%?
    FPRNSURLSessionInstrument.m?97.58%?
    FPRObjectInstrumentor.m?83.33%?
    FPRPerfDate.m?50.00%?
    FPRProxyObjectHelper.m?100.00%?
    FPRRemoteConfigFlags.m?98.09%?
    FPRScreenTraceTracker.m?97.69%?
    FPRSelectorInstrumentor.m?90.38%?
    FPRSessionDetails.m?96.43%?
    FPRSessionManager.m?100.00%?
    FPRTraceBackgroundActivityTracker.m?100.00%?
    FPRUIViewControllerInstrument.m?95.18%?
    FPRURLFilter.m?100.00%?

Test Logs

  1. https://storage.googleapis.com/firebase-sdk-metric-reports/Ej5YbF6gR9.html

@visumickey
Copy link
Contributor

The changes look good to me. But there are scenarios we might need to validate before landing these changes. Eg: We cache certain configs until the next launch which control the volume of events. With this new change, I'm worried that the volume of events might shoot up until the next config fetch happens. Is this time sensitive?

@ncooke3
Copy link
Member Author

ncooke3 commented Apr 11, 2024

Thanks, @visumickey. This change is targeting next release (code freeze: ~4/23). GULUserDefaults uses CFPreferences under-the-hood, which accesses the same storage container that NSUserDefaults uses.

edit: Here are GULUserDefaults unit tests which assert the relationship with NSUserDefaults: https://github.com/google/GoogleUtilities/blob/main/GoogleUtilities/Tests/Unit/UserDefaults/GULUserDefaultsTests.m

Copy link
Contributor

@visumickey visumickey left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for making the change. Since both NSUserDefaults and GULUserDefaults points to the same storage underneath, this change is harmless.

Here is the reference to the unit tests that gives the confidence that there would not be any impact because of this change.

https://github.com/google/GoogleUtilities/blob/main/GoogleUtilities/Tests/Unit/UserDefaults/GULUserDefaultsTests.m#L154-L163

Approving for merge.

@ncooke3 ncooke3 merged commit 3211a7f into main Apr 12, 2024
58 checks passed
@ncooke3 ncooke3 deleted the nc/perf-user-defaults branch April 12, 2024 17:29
cgrindel-self-hosted-renovate bot added a commit to cgrindel/rules_swift_package_manager that referenced this pull request May 1, 2024
….25.0" (#1056)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
|
[firebase/firebase-ios-sdk](https://github.com/firebase/firebase-ios-sdk)
| minor | `from: "10.24.0"` -> `from: "10.25.0"` |

---

### Release Notes

<details>
<summary>firebase/firebase-ios-sdk (firebase/firebase-ios-sdk)</summary>

###
[`v10.25.0`](https://github.com/firebase/firebase-ios-sdk/releases/tag/10.25.0):
Firebase Apple 10.25.0

[Compare
Source](https://github.com/firebase/firebase-ios-sdk/compare/10.24.0...10.25.0)

The Firebase Apple SDK (10.25.0) is now available. For more details, see
the [Firebase Apple SDK release
notes.](https://firebase.google.com/support/release-notes/ios#10.25.0)

To install this SDK, see [Add Firebase to your
project.](https://firebase.google.com/docs/ios/setup)

#### What's Changed

- \[FirebaseCoreInternal] Switch to implementation-only import of GULs
by [@&#8203;ncooke3](https://github.com/ncooke3) in
[firebase/firebase-ios-sdk#12714
- \[AppCheck, Database, InAppMessaging, MLModelDownloader, Performance,
Sessions] Migrate to GoogleUtilities's storage container by
[@&#8203;ncooke3](https://github.com/ncooke3) in
[#&#8203;12752](https://github.com/firebase/firebase-ios-sdk/issues/12752),
[#&#8203;12753](https://github.com/firebase/firebase-ios-sdk/issues/12753),
[#&#8203;12757](https://github.com/firebase/firebase-ios-sdk/issues/12757),
[#&#8203;12759](https://github.com/firebase/firebase-ios-sdk/issues/12759),
[#&#8203;12762](https://github.com/firebase/firebase-ios-sdk/issues/12762),
[#&#8203;12773](https://github.com/firebase/firebase-ios-sdk/issues/12773)
- Use declspec in Firestore on Windows machines by
[@&#8203;a-maurice](https://github.com/a-maurice) in
[firebase/firebase-ios-sdk#12758
- \[CI] Stop Xcode 14, start Xcode 15.3 by
[@&#8203;paulb777](https://github.com/paulb777) in
[firebase/firebase-ios-sdk#12746
- \[Performance] Migrate to GoogleUtilities's storage container by
[@&#8203;ncooke3](https://github.com/ncooke3) in
[firebase/firebase-ios-sdk#12759
- Todos and workarounds for tests not yet ready for macos-14 by
[@&#8203;paulb777](https://github.com/paulb777) in
[firebase/firebase-ios-sdk#12781
- Another macos-14 CI workaround by
[@&#8203;paulb777](https://github.com/paulb777) in
[firebase/firebase-ios-sdk#12787
- \[CI] Update grpc dependent jobs to macos-14 by
[@&#8203;paulb777](https://github.com/paulb777) in
[firebase/firebase-ios-sdk#12790
- \[Firestore] Remove DocumentID setter warning by
[@&#8203;andrewheard](https://github.com/andrewheard) in
[firebase/firebase-ios-sdk#12756
- \[App Check] Bump dependency on AppCheckCore to 10.19.0+ by
[@&#8203;ncooke3](https://github.com/ncooke3) in
[firebase/firebase-ios-sdk#12806
- Allow Blob of data with zero length. by
[@&#8203;tom-andersen](https://github.com/tom-andersen) in
[firebase/firebase-ios-sdk#12694
- \[Infra] Switch zip building over to Xcode 15.2 by
[@&#8203;ncooke3](https://github.com/ncooke3) in
[firebase/firebase-ios-sdk#12737
- Make use of
SQLITE_OPEN_FILEPROTECTION_COMPLETEUNTILFIRSTUSERAUTHENTICATION
conditional. by
[@&#8203;cprince-foreflight](https://github.com/cprince-foreflight) in
[firebase/firebase-ios-sdk#12548
- \[Release Tooling] Consistent approach to resources when building on
Xcode 15 by [@&#8203;ncooke3](https://github.com/ncooke3) in
[firebase/firebase-ios-sdk#12821
- \[Release Tooling] Cleanup unused folder references by
[@&#8203;ncooke3](https://github.com/ncooke3) in
[firebase/firebase-ios-sdk#12825
- Analytics 10.25.0 by [@&#8203;pcfba](https://github.com/pcfba) in
[firebase/firebase-ios-sdk#12843
- Update `FIRAuthInterop` to use `_Nullable_result` annotation by
[@&#8203;andrewheard](https://github.com/andrewheard) in
[firebase/firebase-ios-sdk#12841
- Disable quickstart CI that doesn't work with Xcode 15 by
[@&#8203;paulb777](https://github.com/paulb777) in
[firebase/firebase-ios-sdk#12846

#### New Contributors

- [@&#8203;mrs1669](https://github.com/mrs1669) made their first
contribution in
[firebase/firebase-ios-sdk#12760
- [@&#8203;a-maurice](https://github.com/a-maurice) made their first
contribution in
[firebase/firebase-ios-sdk#12758
- [@&#8203;cprince-foreflight](https://github.com/cprince-foreflight)
made their first contribution in
[firebase/firebase-ios-sdk#12548

**Full Changelog**:
firebase/firebase-ios-sdk@10.24.0...10.25.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://github.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi4xMDkuNCIsInVwZGF0ZWRJblZlciI6IjM2LjEwOS40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: Self-hosted Renovate Bot <361546+cgrindel-self-hosted-renovate[bot]@users.noreply.github.enterprise.com>
@firebase firebase locked and limited conversation to collaborators May 13, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants