Bladeren bron

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
Nick Cooke 5 jaren geleden
bovenliggende
commit
6a5e4e6968

+ 1 - 1
FirebaseAppDistribution.podspec

@@ -32,7 +32,7 @@ iOS SDK for App Distribution for Firebase.
   s.dependency 'GoogleUtilities/AppDelegateSwizzler', '~> 7.0'
   s.dependency 'GoogleUtilities/UserDefaults', '~> 7.0'
   s.dependency 'FirebaseInstallations', '~> 7.0'
-  s.dependency 'GoogleDataTransport', '~> 8.4'
+  s.dependency 'GoogleDataTransport', '~> 9.0'
 
   s.pod_target_xcconfig = {
     'GCC_C_LANGUAGE_STANDARD' => 'c99',

+ 1 - 0
FirebaseCore/CHANGELOG.md

@@ -1,4 +1,5 @@
 # Firebase 8.0.0
+- [changed] Migrate `transform:` callsites and introduce breaking version of GDT (9.0). (#7899)
 - [removed] Build warnings will no longer be generated to warn about missing capabilities resulting
   from not including FirebaseAnalytics in the app. See the Firebase docs instead. (#7487)
 - [removed] The `Firebase/AdMob` CocoaPods subspec has been removed. Use the `Google-Mobile-Ads-SDK`

+ 1 - 1
FirebaseCoreDiagnostics.podspec

@@ -56,7 +56,7 @@ non-Cocoapod integration. This library also respects the Firebase global data co
 
   s.framework = 'Foundation'
 
-  s.dependency 'GoogleDataTransport', '~> 8.4'
+  s.dependency 'GoogleDataTransport', '~> 9.0'
   s.dependency 'GoogleUtilities/Environment', '~> 7.0'
   s.dependency 'GoogleUtilities/Logger', '~> 7.0'
   s.dependency 'nanopb', '~> 2.30908.0'

+ 1 - 1
FirebaseCrashlytics.podspec

@@ -54,7 +54,7 @@ Pod::Spec.new do |s|
   s.dependency 'FirebaseCore', '~> 7.0'
   s.dependency 'FirebaseInstallations', '~> 7.0'
   s.dependency 'PromisesObjC', '~> 1.2'
-  s.dependency 'GoogleDataTransport', '~> 8.4'
+  s.dependency 'GoogleDataTransport', '~> 9.0'
   s.dependency 'nanopb', '~> 2.30908.0'
 
   s.libraries = 'c++', 'z'

+ 1 - 1
FirebaseMLModelDownloader.podspec

@@ -38,7 +38,7 @@ Pod::Spec.new do |s|
   s.framework = 'Foundation'
   s.dependency 'FirebaseCore', '~> 7.6'
   s.dependency 'FirebaseInstallations', '~> 7.6'
-  s.dependency 'GoogleDataTransport', '~> 8.4'
+  s.dependency 'GoogleDataTransport', '~> 9.0'
   # TODO: Revisit this dependency
   s.dependency 'GoogleUtilities/Logger', '~> 7.2'
   s.dependency 'SwiftProtobuf', '~> 1.0'

+ 1 - 0
FirebaseMLModelDownloader/Apps/Sample/Podfile

@@ -6,6 +6,7 @@ source 'https://github.com/firebase/SpecsStaging.git'
 source 'https://cdn.cocoapods.org/'
 
 pod 'FirebaseMLModelDownloader', :path => '../../../'
+pod 'FirebaseCoreDiagnostics', :path => '../../../'
 pod 'TensorFlowLiteSwift'
 
 target 'MLDownloaderTestApp' do

+ 1 - 1
FirebasePerformance.podspec

@@ -60,7 +60,7 @@ Firebase Performance library to measure performance of Mobile and Web Apps.
   s.dependency 'FirebaseCore', '~> 7.0'
   s.dependency 'FirebaseInstallations', '~> 7.0'
   s.dependency 'FirebaseRemoteConfig', '~> 7.0'
-  s.dependency 'GoogleDataTransport', '~> 8.4'
+  s.dependency 'GoogleDataTransport', '~> 9.0'
   s.dependency 'GoogleUtilities/Environment', '~> 7.0'
   s.dependency 'GoogleUtilities/ISASwizzler', '~> 7.0'
   s.dependency 'GoogleUtilities/MethodSwizzler', '~> 7.0'

+ 1 - 1
FirebasePerformance/Sources/Loggers/FPRGDTLogSampler.m

@@ -64,7 +64,7 @@
  * @param event The event to be evaluated by sampling logic.
  * @return A transformed event, or nil if the transformation dropped the event.
  */
-- (GDTCOREvent *)transform:(GDTCOREvent *)event {
+- (GDTCOREvent *)transformGDTEvent:(GDTCOREvent *)event {
   // An event is sampled means that the event is dropped.
 
   // If the current active session is verbose, do not sample any event.

+ 1 - 1
FirebasePerformance/Sources/Loggers/FPRGDTRateLimiter.m

@@ -75,7 +75,7 @@
  * @param logEvent The event to be evaluated by rate limiting logic.
  * @return A transformed event, or nil if the transformation dropped the event.
  */
-- (GDTCOREvent *)transform:(nonnull GDTCOREvent *)logEvent {
+- (GDTCOREvent *)transformGDTEvent:(nonnull GDTCOREvent *)logEvent {
   if ([logEvent.dataObject isKindOfClass:[FPRGDTEvent class]]) {
     FPRGDTEvent *gdtEvent = (FPRGDTEvent *)logEvent.dataObject;
     FPRMSGPerfMetric *perfMetric = gdtEvent.metric;

+ 27 - 22
FirebasePerformance/Tests/Unit/Loggers/FPRGDTLogSamplerTest.m

@@ -114,30 +114,33 @@
 - (void)testLogSamplingWithBucketIdentifier {
   [self.fakeConfigs setTraceSamplingRate:0.05];
   [self.fakeConfigs setNetworkSamplingRate:0.05];
-  XCTAssertNil([self.logSampler transform:self.transportTraceEvent]);
-  XCTAssertNil([self.logSampler transform:self.transportNetworkEvent]);
+  XCTAssertNil([self.logSampler transformGDTEvent:self.transportTraceEvent]);
+  XCTAssertNil([self.logSampler transformGDTEvent:self.transportNetworkEvent]);
 
   [self.fakeConfigs setTraceSamplingRate:0.65];
   [self.fakeConfigs setNetworkSamplingRate:0.65];
-  XCTAssertNil([self.logSampler transform:self.transportTraceEvent]);
-  XCTAssertNil([self.logSampler transform:self.transportNetworkEvent]);
+  XCTAssertNil([self.logSampler transformGDTEvent:self.transportTraceEvent]);
+  XCTAssertNil([self.logSampler transformGDTEvent:self.transportNetworkEvent]);
 
   [self.fakeConfigs setTraceSamplingRate:0.66];
   [self.fakeConfigs setNetworkSamplingRate:0.66];
-  XCTAssertEqual([self.logSampler transform:self.transportTraceEvent], self.transportTraceEvent);
-  XCTAssertEqual([self.logSampler transform:self.transportNetworkEvent],
+  XCTAssertEqual([self.logSampler transformGDTEvent:self.transportTraceEvent],
+                 self.transportTraceEvent);
+  XCTAssertEqual([self.logSampler transformGDTEvent:self.transportNetworkEvent],
                  self.transportNetworkEvent);
 
   [self.fakeConfigs setTraceSamplingRate:0.67];
   [self.fakeConfigs setNetworkSamplingRate:0.67];
-  XCTAssertEqual([self.logSampler transform:self.transportTraceEvent], self.transportTraceEvent);
-  XCTAssertEqual([self.logSampler transform:self.transportNetworkEvent],
+  XCTAssertEqual([self.logSampler transformGDTEvent:self.transportTraceEvent],
+                 self.transportTraceEvent);
+  XCTAssertEqual([self.logSampler transformGDTEvent:self.transportNetworkEvent],
                  self.transportNetworkEvent);
 
   [self.fakeConfigs setTraceSamplingRate:1.0];
   [self.fakeConfigs setNetworkSamplingRate:1.0];
-  XCTAssertEqual([self.logSampler transform:self.transportTraceEvent], self.transportTraceEvent);
-  XCTAssertEqual([self.logSampler transform:self.transportNetworkEvent],
+  XCTAssertEqual([self.logSampler transformGDTEvent:self.transportTraceEvent],
+                 self.transportTraceEvent);
+  XCTAssertEqual([self.logSampler transformGDTEvent:self.transportNetworkEvent],
                  self.transportNetworkEvent);
 }
 
@@ -145,39 +148,41 @@
 - (void)testSamplingWhenTracesAndNetworkSamplingRatesAreDifferent {
   [self.fakeConfigs setTraceSamplingRate:0.65];
   [self.fakeConfigs setNetworkSamplingRate:0.67];
-  XCTAssertNil([self.logSampler transform:self.transportTraceEvent]);
-  XCTAssertEqual([self.logSampler transform:self.transportNetworkEvent],
+  XCTAssertNil([self.logSampler transformGDTEvent:self.transportTraceEvent]);
+  XCTAssertEqual([self.logSampler transformGDTEvent:self.transportNetworkEvent],
                  self.transportNetworkEvent);
 
   [self.fakeConfigs setTraceSamplingRate:0.67];
   [self.fakeConfigs setNetworkSamplingRate:0.65];
-  XCTAssertEqual([self.logSampler transform:self.transportTraceEvent], self.transportTraceEvent);
-  XCTAssertNil([self.logSampler transform:self.transportNetworkEvent]);
+  XCTAssertEqual([self.logSampler transformGDTEvent:self.transportTraceEvent],
+                 self.transportTraceEvent);
+  XCTAssertNil([self.logSampler transformGDTEvent:self.transportNetworkEvent]);
 }
 
 /** Validates if sampling works when trace sampling rate is greater than 1. */
 - (void)testTraceSamplingWithInvalidNumerator {
   [self.fakeConfigs setTraceSamplingRate:2.0];
-  XCTAssertEqual([self.logSampler transform:self.transportTraceEvent], self.transportTraceEvent);
+  XCTAssertEqual([self.logSampler transformGDTEvent:self.transportTraceEvent],
+                 self.transportTraceEvent);
 }
 
 /** Validates if sampling works with trace sampling rate of Zero. */
 - (void)testTraceSamplingWithZeroNumerator {
   [self.fakeConfigs setTraceSamplingRate:0.0];
-  XCTAssertNil([self.logSampler transform:self.transportTraceEvent]);
+  XCTAssertNil([self.logSampler transformGDTEvent:self.transportTraceEvent]);
 }
 
 /** Validates if sampling works when network sampling rate is greater than 1. */
 - (void)testNetworkSamplingWithInvalidNumerator {
   [self.fakeConfigs setNetworkSamplingRate:2.0];
-  XCTAssertEqual([self.logSampler transform:self.transportNetworkEvent],
+  XCTAssertEqual([self.logSampler transformGDTEvent:self.transportNetworkEvent],
                  self.transportNetworkEvent);
 }
 
 /** Validates if sampling works with network sampling rate of Zero. */
 - (void)testNetworkSamplingWithZeroNumerator {
   [self.fakeConfigs setNetworkSamplingRate:0.0];
-  XCTAssertNil([self.logSampler transform:self.transportNetworkEvent]);
+  XCTAssertNil([self.logSampler transformGDTEvent:self.transportNetworkEvent]);
 }
 
 /** Validates if the trace event is not dropped if the session is verbose. */
@@ -192,7 +197,7 @@
   traceEvent.dataObject = [FPRGDTEvent gdtEventForPerfMetric:traceMetric];
 
   // Trace event will not be dropped.
-  XCTAssertEqual([self.logSampler transform:traceEvent], traceEvent);
+  XCTAssertEqual([self.logSampler transformGDTEvent:traceEvent], traceEvent);
 }
 
 /** Validates if the trace event is sampled if the session is not verbose. */
@@ -207,7 +212,7 @@
   traceEvent.dataObject = [FPRGDTEvent gdtEventForPerfMetric:tracePerfMetric];
 
   // Trace event is dropped because of sampling.
-  XCTAssertNil([self.logSampler transform:traceEvent]);
+  XCTAssertNil([self.logSampler transformGDTEvent:traceEvent]);
 }
 
 /** Validates if the network trace event is not sampled if the session is verbose. */
@@ -236,7 +241,7 @@
   networkEvent.dataObject = [FPRGDTEvent gdtEventForPerfMetric:networkMetric];
 
   // Network event will not be dropped.
-  XCTAssertEqual([self.logSampler transform:networkEvent], networkEvent);
+  XCTAssertEqual([self.logSampler transformGDTEvent:networkEvent], networkEvent);
 }
 
 /** Validates if the network trace event is sampled if the session is not verbose. */
@@ -263,7 +268,7 @@
   networkEvent.dataObject = [FPRGDTEvent gdtEventForPerfMetric:networkMetric];
 
   // Network event is dropped because of sampling.
-  XCTAssertNil([self.logSampler transform:networkEvent]);
+  XCTAssertNil([self.logSampler transformGDTEvent:networkEvent]);
 }
 
 @end

+ 17 - 17
FirebasePerformance/Tests/Unit/Loggers/FPRGDTRateLimiterTest.m

@@ -68,7 +68,7 @@
   FPRFakeDate *fakeDate = [[FPRFakeDate alloc] init];
   FPRGDTRateLimiter *transformer = [[FPRGDTRateLimiter alloc] initWithDate:fakeDate];
   GDTCOREvent *gdtEvent = [FPRTestUtils createRandomTraceGDTEvent:@"trace"];
-  XCTAssertNotNil([transformer transform:gdtEvent]);
+  XCTAssertNotNil([transformer transformGDTEvent:gdtEvent]);
 }
 
 /** Validates the rate limiter allows sending valid network events. */
@@ -76,7 +76,7 @@
   FPRFakeDate *fakeDate = [[FPRFakeDate alloc] init];
   FPRGDTRateLimiter *transformer = [[FPRGDTRateLimiter alloc] initWithDate:fakeDate];
   GDTCOREvent *gdtEvent = [FPRTestUtils createRandomNetworkGDTEvent:@"https://abc.xyz"];
-  XCTAssertNotNil([transformer transform:gdtEvent]);
+  XCTAssertNotNil([transformer transformGDTEvent:gdtEvent]);
 }
 
 /** Validates the rate limiter allows sending events and drops events when exceeds allowed events
@@ -96,15 +96,15 @@
   [fakeDate incrementTime:1];
 
   // Send an event to see if that event is accepted.
-  XCTAssertNotNil([transformer transform:gdtEvent]);
+  XCTAssertNotNil([transformer transformGDTEvent:gdtEvent]);
 
   // Ensure that the event is dropped as we have reached allowed events count.
-  XCTAssertNil([transformer transform:gdtEvent]);
+  XCTAssertNil([transformer transformGDTEvent:gdtEvent]);
 
   // Events should be accepted after few seconds.
   transformer.lastTraceEventTime = fakeDate.now;
   [fakeDate incrementTime:1];
-  XCTAssertNotNil([transformer transform:gdtEvent]);
+  XCTAssertNotNil([transformer transformGDTEvent:gdtEvent]);
 }
 
 /** Validates the rate limiter does not apply on internal traces even when exceeds allowed events
@@ -124,11 +124,11 @@
   [fakeDate incrementTime:1];
 
   // Send an event to see if that event is accepted.
-  XCTAssertNotNil([transformer transform:gdtEvent]);
+  XCTAssertNotNil([transformer transformGDTEvent:gdtEvent]);
 
   // Ensure that the internal event is not dropped even though we have exceeded allowed events
   // count.
-  XCTAssertNotNil([transformer transform:gdtEvent]);
+  XCTAssertNotNil([transformer transformGDTEvent:gdtEvent]);
 }
 
 /** Validates the rate limiter allows sending network events drops network events when exceeds
@@ -147,15 +147,15 @@
 
   transformer.lastNetworkEventTime = fakeDate.now;
   [fakeDate incrementTime:1];
-  XCTAssertNotNil([transformer transform:gdtEvent]);
+  XCTAssertNotNil([transformer transformGDTEvent:gdtEvent]);
 
   // Ensure that the event is dropped as we have reached the rate limit and the burst size.
-  XCTAssertNil([transformer transform:gdtEvent]);
+  XCTAssertNil([transformer transformGDTEvent:gdtEvent]);
 
   // Events should be accepted after few seconds.
   transformer.lastTraceEventTime = fakeDate.now;
   [fakeDate incrementTime:1];
-  XCTAssertNotNil([transformer transform:gdtEvent]);
+  XCTAssertNotNil([transformer transformGDTEvent:gdtEvent]);
 }
 
 /** Validates the rate limiter allows sending events and adjusts the rate dynamically. */
@@ -174,7 +174,7 @@
   [fakeDate incrementTime:1];
 
   // Send an event to see if that event is accepted.
-  XCTAssertNotNil([transformer transform:gdtEvent]);
+  XCTAssertNotNil([transformer transformGDTEvent:gdtEvent]);
 
   // Set the rate limit to 15 events per minute.
   [transformer setOverrideRate:15];
@@ -183,11 +183,11 @@
   // allow a new event to flow through.
   transformer.lastTraceEventTime = fakeDate.now;
   [fakeDate incrementTime:1];
-  XCTAssertNil([transformer transform:gdtEvent]);
+  XCTAssertNil([transformer transformGDTEvent:gdtEvent]);
 
   // Incrementing the time with another 4 seconds would allow an event to flow through.
   [fakeDate incrementTime:4];
-  XCTAssertNotNil([transformer transform:gdtEvent]);
+  XCTAssertNotNil([transformer transformGDTEvent:gdtEvent]);
 }
 
 /** Validates the rate limiter drops events when exceeds burst size. */
@@ -208,11 +208,11 @@
   transformer.lastTraceEventTime = fakeDate.now;
 
   for (int i = 0; i < 60; i++) {
-    XCTAssertNotNil([transformer transform:gdtEvent]);
+    XCTAssertNotNil([transformer transformGDTEvent:gdtEvent]);
   }
 
   // After 60 events, no more events should be allowed.
-  XCTAssertNil([transformer transform:gdtEvent]);
+  XCTAssertNil([transformer transformGDTEvent:gdtEvent]);
 }
 
 /** Validates the rate limiter drops network events when exceeds burst size. */
@@ -233,11 +233,11 @@
   transformer.lastNetworkEventTime = fakeDate.now;
 
   for (int i = 0; i < 60; i++) {
-    XCTAssertNotNil([transformer transform:gdtEvent]);
+    XCTAssertNotNil([transformer transformGDTEvent:gdtEvent]);
   }
 
   // After 60 events, no more events should be allowed.
-  XCTAssertNil([transformer transform:gdtEvent]);
+  XCTAssertNil([transformer transformGDTEvent:gdtEvent]);
 }
 
 @end