Jeremy Jiang and Paul Beusterien
ec193d0150
Add Performance Support for Swift Package Manager ( #8412 )
...
* Create NanoPb code generation scripts (#8336 )
* Create NanoPb code generation scripts
* Fix style and add README
* Fix copyright
* Update proto_generator.py
* Update README.md
* Create nanopb options file. (#8371 )
* Create NanoPb code generation scripts
* Fix style and add README
* Fix copyright
* Update perf_metrics.options
* Update options with map
* Add generated proto files.
* Update imports.
* Convert Objective-C Classes to Nanopb (#8387 )
* Convert all traces to nanopb
* Refactor for loop.
* Add set has_application_info to true.
* Incorporated comments.
* Fix style
* Create NanoPb code generation scripts (#8336 )
* Create NanoPb code generation scripts
* Fix style and add README
* Fix copyright
* Update proto_generator.py
* Update README.md
* Create nanopb options file. (#8371 )
* Create NanoPb code generation scripts
* Fix style and add README
* Fix copyright
* Update perf_metrics.options
* Update options with map
* Add generated proto files.
* Update imports.
* Convert Objective-C Classes to Nanopb (#8387 )
* Convert all traces to nanopb
* Refactor for loop.
* Add set has_application_info to true.
* Incorporated comments.
* Fix style
* Fix style
* Convert nanopb struct to GDTCOREventDataObject and update the source code to use nanopb struct. (#8439 )
* Convert all traces to nanopb
* Refactor for loop.
* WIP: nanopb conversion in FPRClient and FPREvent
* Update FPRClientTest.m
* Update FPRClient.m
* Update FPRClientTest.m
* Add set has_application_info to true.
* Remove proto imports.
* Set has_fields to be true in FPRTestUtils.m
* Completed GDTEvent conversion.
* Fix sampler tests.
* Fix style
* Refactor nanopb struct setter
* Fix style
* Fix pod-lib-lint failures.
* Update FPRClient with decoded string
* Set some "_has" fields to true.
* Add prefix to extern methods.
* Fix style.
* Update FPRClient to use trace.name without FPRDecodeString
* Fix style
* Incorporate comments.
* Integrate Performance with SPM (#8476 )
* Convert all traces to nanopb
* Refactor for loop.
* WIP: nanopb conversion in FPRClient and FPREvent
* Update FPRClientTest.m
* Update FPRClient.m
* Update FPRClientTest.m
* Add set has_application_info to true.
* Remove proto imports.
* Set has_fields to be true in FPRTestUtils.m
* Completed GDTEvent conversion.
* Fix sampler tests.
* Fix style
* Refactor nanopb struct setter
* Fix style
* Fix pod-lib-lint failures.
* Update FPRClient with decoded string
* Set some "_has" fields to true.
* Add prefix to extern methods.
* Fix style.
* Update FPRClient to use trace.name without FPRDecodeString
* Fix style
* Update Package.swift
* Update Package.swift
* Update Package.swift
* Made SDK and unit tests buildable.
* Made all unit tests passing.
* Update keyWindow style.
* Add Performance to workflow.
* Update FPRUIViewControllerInstrument.h
* Incorporate comments.
* Add Performance to SwiftPMTests.
* Update style.
* Fix Unit tests and update workflow.
* Add FirebasePerformance wrapper
* Update import statement.
* Update style.
* Update performance.yml
* Create PerformanceUnit.xcscheme
* Update objc-module.m
* Update objc-module.m
* Updae objc-header.m
* Update objc-header.m
* Incorporate feedback.
* Update objc-header.m
* Organize folder structure to fix the spm tests.
* Update public import path
* Delete xcodebuild.log
* Update workflow files
* Fix failing swift-test for Perf SPM (#8507 )
* Fix UIKit import
* Update FPRNetworkTraceTest.m
* Exclude TARGET_OS_MACCATALYST from objc header test
* Update main.swift
* Update main.swift
Co-authored-by: Paul Beusterien <paulbeusterien@google.com >
* Remove Protobuf dependency (#8511 )
* Remove protobuf dependency
* Update FirebasePerformance.podspec
* Incorporate comments.
* Update UIKit import
Co-authored-by: Paul Beusterien <paulbeusterien@google.com >
2021-08-10 13:41:18 -04:00
Paul Beusterien
54d28547d3
Remove GDT from repo ( #7384 )
2021-01-27 07:51:12 -08:00
Paul Beusterien
02488e99b7
Remove GoogleUtilities from repo ( #7315 )
2021-01-21 07:09:50 -08:00
Maksym Malyhin
953dec1aae
GDT test server: stop server on dealloc only if running ( #7253 )
2021-01-06 11:06:38 -05:00
BJ Homer
3642b56224
Delay GDTCORUploadCoordinator timer initial run ( #7173 )
...
If an upload coordinator gets created during `+load` calls, it can end up running its immediately, while +load calls are still running. It's generally a bad idea to be splitting off threads while +load calls are still running.
The upload coordinator checks every 30 seconds, and doesn't really need to run right away. Since it's easy to transitively create an upload coordinator from other calls that happen during +load, we'll just push off the initial run of the timer slightly. That makes it less likely to interfere (or deadlock) with other load calls.
See #7171 for an example of a problem solved by this change.
2020-12-15 17:03:29 -05:00
Visu
94ab466f50
Make the URLs used by Google Data Transport available in a Public API. ( #7167 )
2020-12-15 12:35:50 -08:00
Paul Beusterien
4424e9a5d3
Bump nanopb to 0.3.9.7 ( #7108 )
2020-12-11 07:04:34 -08:00
Paul Beusterien
1496e0f221
M85 Changelog versions ( #7104 )
2020-12-04 09:23:28 -08:00
Jeremy Jiang
781c8b842e
Expose upload URLs so that perf can stop instrumenting these URLs. ( #7064 )
...
* Expose upload URLs.
* Remove code duplication.
* Fix style.
* Make url dictionary local static and dispatch once.
* Fix style.
* Add a local dictionary and return value from it.
* Update CHANGELOG.md
* Update CHANGELOG.md
2020-12-02 09:08:02 -05:00
Maksym Malyhin
92db10edb4
GDT storage cleanup: optimizations for big amount of pending events ( #7014 )
...
* GDT storage cleanup performance testing
* style
* GDTCORDirectorySizeTracker - autoreleasepool in cycles
* [GDTCORFlatFileStoragecheckForExpirations] - autoreleasepool in cycles
* TestApp: Performance testing tweeks
* Revert "[GDTCORFlatFileStoragecheckForExpirations] - autoreleasepool in cycles"
This reverts commit e0573f5a1b .
* [GDTCORUploadCoordinator signalToStoragesToCheckExpirations]: signal once per storage
* Revert "Revert "[GDTCORFlatFileStoragecheckForExpirations] - autoreleasepool in cycles""
This reverts commit 34e9eee131 .
* style
* changelog
2020-11-24 12:46:50 -05:00
Maksym Malyhin
6e5f02d846
GDT: test app fixes ( #6897 )
...
* Add bridging header to GDTTestApp to expose private API
* Update OS versions of test apps
* Use spec OS vesrions for tests and apps
* Use local variables for deployment targets
2020-11-11 12:56:45 -05:00
Paul Beusterien
493eb7cc75
Update Changelogs for 7.1.0 ( #6913 )
2020-11-06 07:03:27 -08:00
Maksym Malyhin
57123ae0d5
Update clang-format to 11 ( #6905 )
...
* Update clang-format to 11
* Upgrade clang format
* Install clang-format@11
* Update readme
* brew update
2020-11-05 12:58:48 -05:00
Maksym Malyhin
b05be68db1
GDTCCTUploader: lazy initialize url session, use ephemeral session ( #6870 )
...
* GDTCCTUploader: lazy initialize url session, use ephemeral session
* Changelog
* typo
2020-10-29 15:24:44 -04:00
Paul Beusterien
a2387fd61c
Stop failing on warnings ( #6807 )
2020-10-22 13:38:26 -07:00
Paul Beusterien
b283c58529
Update GDT version for M82 ( #6729 )
2020-10-14 12:32:31 -04:00
bff6b664d1
Merge release-6.34.0 branch after patch ( #6701 )
...
* Update versions for Release 6.34.0
* 6.34.0 updates for SwiftPM (#6614 )
* M81 FIS cherry pick of #6570 (#6616 )
* FIS: Additional FIRInstallationsItem validation (#6570 )
* FIS API tests for no FID in response
* FIRInstallationsIDControllerTests: test names
* FIRInstallationsIDControllerTests: corrupted storage tests
* FIRInstallationsItem validation
* Fix FIRInstallationsItem.IIDDefaultToken copy
* Improve error description.
* FIRInstallationsItem validation error
* FIRInstallationsItem validation tests
* ./scripts/style.sh
* FIRInstallationsIDController: validate stored installation
* FIRInstallationsAPIService installation validation
* Changelog
* Update versions
* patch version
* release manifest
* FIS: don't log anything on success validation (#6635 )
* Update changelogs (#6649 )
* GoogleDataTransport: deprecated API conditions (#6697 )
* GoogleDataTransport: deprecated API conditions
* Version bump
* use `TARGET_OS_IOS`
* changelog
* changelog
* style
* Fix merge
Co-authored-by: Ryan Wilson <wilsonryan@google.com >
Co-authored-by: Paul Beusterien <paulbeusterien@google.com >
Co-authored-by: Morgan Chen <morganchen12@gmail.com >
2020-10-08 15:11:00 -04:00
Paul Beusterien
4507ad146b
Fix CI/regression - update for change FCM API ( #6699 )
2020-10-08 11:06:02 -07:00
Ryan Wilson
769fa7b446
Fixed CHANGELOG location. ( #6698 )
2020-10-08 13:02:08 -04:00
Ryan Wilson
19159a4b25
Fix tvOS storage issues. ( #6658 )
...
* Fix tvOS storage issues.
On tvOS devices, the ApplicationSupport directory cannot be used.
Unfortunately this doesn't come up in simulator testing, only on device.
This hasn't been fully tested on device but given that any writes to the
ApplicationSupport directory fail on tvOS, this change can't break much.
Fixes #6612
@defagos can you please give this a test?
* Fixed changed dir name for RC
* Fixed test naming, too.
* Fix the documentation comment for GoogleUtilities.
* Updated changelog.
* Review feedback
2020-10-08 11:28:41 -04:00
Maksym Malyhin
bde8e07844
GDT: move some headers from public to internal ( #6643 )
...
* Move extra public headers to Internal and fix imports
* Cleanup
* Use relative paths in internal headers
* Fix imports in internal headers
* ./scripts/style.sh
* Fix GDTTestApp
* Fix test app
* Use real uploader for watchOS test app
* comma
2020-10-05 14:00:49 -04:00
Maksym Malyhin
babd8e63bd
GDT: Move GDTCORAssert.h to internal headers ( #6638 )
...
* Move GDTCORAssert.h to internal headers
* Fix import
2020-10-01 20:56:26 -04:00
Maksym Malyhin
38be2cc8c6
GDTCORDirectorySizeTracker: fix NSURL constructor ( #6580 )
...
* GDTCORDirectorySizeTracker: replace optional NSURL constructor with non-optional.
* GDTCORDirectorySizeTracker tests for the issue
* ./scripts/style.sh
* changelog
2020-09-28 11:01:32 -04:00
Maksym Malyhin
8779479510
GDTCORFlatFileStorageTest size limit tests: use timeout proportional to the number of events ( #6537 )
2020-09-23 13:44:20 -04:00
Maksym Malyhin
94fb0d1b11
GDT readme: log level configuration ( #6513 )
...
* GDT readme: log level configuration
* Typo fix
* Trailing whitespaces
2020-09-21 13:59:37 -04:00
Maksym Malyhin
ca44b646b8
GDT: remove pre Xcode 10 availability checks ( #6486 )
...
* GDT: remove pre Xcode 11 availability checks
* Revert Xcode 10 required availability checks
* Changelog
2020-09-17 15:31:44 -04:00
Maksym Malyhin
cd844903ab
GDT tests: Xcode 12 fixes ( #6469 )
...
* GDT tests: Xcode 12 fixes
* Silent unused warnings for weakSelf vars (for Xcode 12)
2020-09-16 10:45:31 -04:00
Maksym Malyhin
57101b28a9
GDTTransformer: fix background tasks handling ( #6457 )
...
* GDTCORTransformer: background task tests
* GDTCORTransformer: background tasks handling fix
* Copyright
* Changelog
* Comments
* rand() -> arc4random()
* GDTCORTransformer tests for default initializer
* Fix default initializer
* ./scripts/style.sh
* Pass weak application reference to the blocks
2020-09-15 11:02:48 -04:00
Maksym Malyhin
a59febae5a
GDT: storage size limit ( #6365 )
...
* GDTCORFlatFileStorageTest: test storage size limit
* Size limit slow implementation.
* GDTCORFlatFileStorage: prefetch file size
* GDTCORDirectorySizeCalculator introduced
* GDTCORDirectorySizeCalculator integration with GDTCORFlatFileStorage
* Storage size calculation tests
* Cleanup
* Cleanup
* API docs
* Fix type
* Tests
* Tests - don't hardcode event size
* Changelog
* Fix tests on slower CI.
* API docs
* Tests comments
* GDTCORFlatFileStorageTest failure debug
* GDTCORFlatFileStorageTest debug: make sure all generated events stored.
* GDTCORFlatFileStorageTest debug
* GDTCORFlatFileStorageTest debug: dynamically generate events
* Cleanup
* Renaming GDTCORDirectorySizeCalculator->GDTCORDirectorySizeTracker
* Size tracker lazy initialization
* Remove old code
* Size tracker methods renaming
* Cleanup
* Additional tests
2020-09-11 10:42:30 -04:00
Maksym Malyhin
97fb24e09c
GDTCORClockTest: decrease expected timestamp accuracy to fix test flakes ( #6330 )
2020-08-25 16:19:20 -04:00
f33276f530
Update nanopb py3 0.3.9.5 -> 0.3.9.6 ( #6214 )
...
* update nanopb from 0.3.9.5 to 0.3.9.6
This fixes issues building firestore SDK with Python3.
Interestingly, latest version 0.4.2 still errors during the build
but 0.3.9.6 works. The git commit for this fix in nanopb
https://github.com/nanopb/nanopb/commit/63f8e5e4946a5f8f0211b454bd37187871c3d023
* Update generated sources
* updating just nanopb dependency version
nanopb updated from 0.3.9.5 to 0.3.9.6
(pod version 1.30905.0 to 1.30906.0)
* Add missing source specifier
* Generated files for protos using nanopb 0.3.9.6
* removed unnecessary whitespaces in files generated by protoc
* using more qualified relative paths for header includes
* Changelog
Co-authored-by: Marek Gilbert <mcg@google.com >
Co-authored-by: Paul Beusterien <paulbeusterien@google.com >
2020-08-14 14:13:01 -07:00
Maksym Malyhin
802cb6a716
GDT: revert cc_scub annotations ( #6274 )
2020-08-13 16:06:43 -04:00
Tejas Deshpande
ab6fc616b4
Fix clang-tidy ( #6270 )
2020-08-13 11:18:40 -04:00
Tejas Deshpande
b449bee0a2
Create an additional URL target for internal use ( #6254 )
...
#no-changelog
2020-08-12 18:20:21 -04:00
Maksym Malyhin
2683e9da53
GDTCORClock: use NSTimeZone to get a timezone with respect of daylight ( #6246 )
...
* GDTCORClock: use NSTimeZone to get a timezone with respect of daylight
* Changelog
2020-08-10 17:00:26 -04:00
Paul Beusterien
70d4e8a6e6
GDT remove @import ( #6178 )
2020-07-31 09:26:49 -07:00
Paul Beusterien
85e3354346
GDT - new public header structure ( #6177 )
2020-07-31 08:12:23 -07:00
Paul Beusterien
a372ed2a27
import nanopb without touching CocoaPods imports ( #6165 )
2020-07-30 14:54:37 -07:00
Paul Beusterien
0b977bd636
Revert "Remove #if SWIFT_PACKAGE checks for nanopb ( #6163 )" ( #6164 )
...
This reverts commit 303f8ca7bb .
2020-07-30 08:40:47 -07:00
Paul Beusterien
303f8ca7bb
Remove #if SWIFT_PACKAGE checks for nanopb ( #6163 )
2020-07-30 06:49:46 -07:00
Maksym Malyhin
fa26512015
GDT: fix time units for the request and events uptime ( #6102 )
...
* GDTCORClock: fix uptime and kernelBootTime units
* GDTCCTNanopbHelpers: fix time units for the batch and events snapshot uptime
* Formatting
* GDTCORClock: properties rename and deprecation.
* Changelog updates
* Fix renaming issues
* Cleanup
* GDTCORClockTest: reduce timestamp comparison accuracy
2020-07-22 11:49:55 -04:00
Maksym Malyhin
ec018dcbd7
[GDTCORUploadCoordinator startTimer]: don't restart timer if already started ( #6032 )
...
* [GDTCORUploadCoordinator startTimer]: don't restart timer if already started
* style
* `GDTCORUploadCoordinator.timer` - nullable
* GDTCORUploadCoordinator test utils thread safety.
2020-07-13 17:35:20 -04:00
Maksym Malyhin
744fd1865b
GDTCORFlatFileStorage: keep not expired events when expired batch removed ( #6010 )
...
* GDTCORFlatFileStorage: expiration clean up tests
* GDTCORFlatFileStorage: keep not expired events when expired batch removed
* Cleanup
* Cleanup
* Comments
* Comments
* Remove additional delays in tests
* style
* Changelog
2020-07-09 17:12:54 -04:00
Maksym Malyhin
4dd48bdcd9
GDT: Retry uploading batches failed to upload before the app termination ( #5942 )
...
* GDTCCTUploaderTest: test a lost batch upload retry
* GDTCCTUploader: refactoring to prepare for lost batches uploading
* GDTCCTUploader: Upload previously batched events first
* Fix GDTCCTTestStorage
* Refactor GDTCCTUploaderTest
* GDTCORFlatFileStorageTest: batch tests
* GDTCORFlatFileStorage: refactor removeBatchWithID to prepare for eventsForbatchID
* eventsInBatchWithID implementation
* Fix tests
* Uploader fix for empty batch state
* GDTCORUploadCoordinator: high priority targets
* style
* GDTCCTUploaderTest
* GDTCCTUploaderTest: cleanup
* Cleanup and API docs.
* GDTCORUploadCoordinator: revert high priority targets
* GDTCCTUploader: make sure GDTCOREventQoSFast is part of a regular batch as well.
* Cleanup
* GDTCCTUploader: don't report ready for upload until there are events.
* GDTCCTUploaderTest: move failed batch back to the queue
* GDTCORFlatFileStorage: removeBatchWithID with deleteEvents==NO
* GDTCORFlatFileStorage: remove batch directory
* style
* GDTCORFlatFileStorage: comments and debug logs
* formatting
* GDTCCTUploaderTest: recover tests
* GDTCCTTestServer: support for async request handler
* GDTCCTUploaderTest: ongoing request tests
* GDTCORStorageProtocol: remove redundant `eventsInBatchWithID` method.
* GDTCORFlatFileStorageTest: `removeBatchWithID` tests
* Cleanup
* GDTCORFlatFileStorage: cleanup
* GDTCORFlatFileStorageTest: better coverage and cleanup
* Comments and improvements
* GDTCCTUploaderTest: reduce code duplication
* GDTCCTUploaderTest: conditions tests
* GDTCCTUploader: fix next request wait time
* run ./scripts/style.sh
2020-07-07 09:10:22 -04:00
Paul Beusterien
d653c9584c
Update copyright presubmit and fix 2020 copyrights ( #5944 )
2020-06-29 13:16:19 -07:00
Paul Beusterien
6e0e53aae8
Fix GDTCCT build ( #5935 )
2020-06-29 07:08:27 -07:00
Maksym Malyhin
dbef679b38
GDT: Fix test storage type mismatches ( #5912 )
2020-06-25 12:22:15 -04:00
Maksym Malyhin
527ce9049f
Use UUID as GDTCOREvent.eventID ( #5907 )
...
* Remove unused header from FIRCoreDiagnosticsTest
* Use UUID as GDTCOREvent
* Fix analyzer issue
* run ./scripts/style.sh
* Code review comments
2020-06-25 09:46:01 -04:00
Paul Beusterien
5a5914da7e
GDT Repo-relative imports and SPM ( #5909 )
2020-06-24 17:50:15 -07:00
Paul Beusterien
e03a8d91a0
Consolidate GDT and GDTCCT to a single pod ( #5902 )
2020-06-24 14:09:46 -07:00