Commit Graph
26 Commits
Author SHA1 Message Date
Jeremy Jiang ec9309db60 Fix heap-buffer overflow in FPREncodePerfSessions (#8872)
* Fix heap-buffer overflow in FPREncodePerfSessions

* Update CHANGELOG.md

* Update CHANGELOG.md

* Attempt to add sanitizers to workflow.

* Update performance.yml

* Update performance.yml

* Update performance.yml

* Remove sanitizer check.
2021-11-04 11:26:58 -04:00
Visu 4deab9ceca Perf return session length return type (#8924)
Fix FPRSessionDetails copy implemention to retain the session creation time.
2021-11-03 12:53:57 -07:00
Jeremy Jiang d93d223555 Fix heap-buffer overflow from FPRDecodeString (#8631)
* Use trimmedURLString for logging

* Update CHANGELOG.md

* Move nanopb decode methods to test util

* Update Package.swift

* Incorporate comments
2021-09-10 11:54:16 -04:00
Leo Zhan cfcb1ebaf0 FirePerf: use FPRLogDebug instead of FPRLogError for logging events when FirePerf is disabled (#8620)
* make Dropping Event log use the highest verbosity which is debug

* changelog
2021-09-07 13:29:10 -04:00
Visu 95830b28d9 Create a random delay before initiating a remote config fetch. (#8593) 2021-09-01 16:46:29 -07:00
Visu 0caef34228 Fix to ensure that the installation ID is right set for sending events. (#8578) 2021-08-26 20:53:04 -07:00
Paul Beusterien bd9272cbdc Fix perf assert macro (#8521) 2021-08-11 10:07:20 -07:00
Visu 9d62ab37ff Resolve a possible race condition (#8512)
Pass the session details as a part of the session updated notification. This avoids the sessionDetails object missing race condition when trying to update the session details to the traces.

Attempt to fix #8495.
2021-08-10 11:43:22 -07:00
Jeremy Jiang 33a5c2013e Fix Xcode 13 beta 4 build issues for Firebase Performance (#8516)
* Fix Xcode 13 beta 4 build issues

* Update to NS_EXTENSION_UNAVAILABLE instead of NS_EXTENSION_UNAVAILABLE_IOS
2021-08-10 14:34:08 -04:00
Jeremy JiangandPaul 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
Jeremy Jiang c69b1ff01c Add support for network request completed field. (#8194)
* Add support for network request completed field.

* Update CHANGELOG.

* Clean up log messages

* Address comments
2021-06-16 19:11:45 -04:00
Visu 85ca3cb287 Make a copy of sessionDetails to avoid the risk of losing object during acting on notification of sessionID change. (#8189) 2021-06-07 16:04:34 -07:00
Jeremy Jiang 7a0679d920 Update log messages with proper log levels. (#8177)
* Update log levels.

* Update CHANGELOG.md

* Fix style.

* Address comments.
2021-06-03 15:33:09 -04:00
Jeremy Jiang e221a50d87 Add console URL logging. (#7871)
* Created a console URL logging prototype.

* Fix style.

* Add loggings to console URL.

* Fix style.

* Fix style.

* Fix bool to BOOL.

* Address comments.

* Fix format.

* Fix format.

* Add tests and update logging message.

* Move logging to startWithConfiguration

* Cleanup.

* Correct log tag.
2021-05-20 15:07:25 -04:00
Nick Cooke 6a5e4e6968 Migrate transform: callsites and introduce breaking version of GDT (9.0) (#7899)
* Rename transform: callsites to transformGDTEvent:

* Introduce breaking version of GDT (9.0)

* Update FirebaseCore/CHANGELOG.md

* Fix CI
2021-04-19 17:01:28 -04:00
Paul Beusterien b935971f52 Continue FIRLoggerService client migration (#7908) 2021-04-16 10:43:39 -07:00
Paul Beusterien c4e994c7c4 Update to clang-format 12 (#7909) 2021-04-16 09:17:41 -07:00
Visu 885ddd921a Move the dispatch of gauge metric calls to its dedicated thread asynchronously (#7601) 2021-02-25 12:03:25 -08:00
Paul Beusterien 38a056f36c Completely stop forcing static frameworks (#7570) 2021-02-22 11:20:45 -08:00
Jeremy Jiang 144f23e3a9 Remove Clearcut dependency. (#7210)
* Remove Clearcut dependency.

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

* Keep cleanupClearcutCacheDirectory method.
2021-02-18 16:45:41 -05:00
Paul Beusterien db898a0f51 Enable tvOS support for Perf (#7174) 2021-02-03 12:06:26 -08:00
Paul Beusterien ec48dc42e6 Fix build warnings introduced with Xcode 12.5 (#7435) 2021-02-02 15:03:02 -08:00
Paul Beusterien 54d28547d3 Remove GDT from repo (#7384) 2021-01-27 07:51:12 -08:00
Visu ac270f9e30 Cleanup GTM dependency from Firebase performance since we don't need log filters anymore (#7230) 2021-01-05 11:38:19 -08: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
Visu 3720a72bac Fireperf SDK open source commit (#7140) 2020-12-09 21:00:11 -08:00