Skip to content

Commit 5ecd9f0

Browse files
authored
Change telemetry uploads to upload daily (#3246)
1 parent 62150e7 commit 5ecd9f0

File tree

2 files changed

+10
-3
lines changed

2 files changed

+10
-3
lines changed

GoogleDataTransportCCTSupport/GDTCCTLibrary/GDTCCTPrioritizer.m

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,11 +66,14 @@ - (GDTUploadPackage *)uploadPackageWithConditions:(GDTUploadConditions)condition
6666
return;
6767
}
6868

69+
// If on wifi, upload logs that are ok to send on wifi.
6970
if ((conditions & GDTUploadConditionWifiData) == GDTUploadConditionWifiData) {
7071
logEventsThatWillBeSent = [self logEventsOkToSendOnWifi];
7172
} else {
7273
logEventsThatWillBeSent = [self logEventsOkToSendOnMobileData];
7374
}
75+
76+
// If it's been > 24h since the last daily upload, upload logs with the daily QoS.
7477
if (self.timeOfLastDailyUpload) {
7578
int64_t millisSinceLastUpload =
7679
[GDTClock snapshot].timeMillis - self.timeOfLastDailyUpload.timeMillis;
@@ -113,11 +116,12 @@ typedef NS_ENUM(NSInteger, GDTCCTQoSTier) {
113116
FOUNDATION_STATIC_INLINE
114117
NSNumber *GDTCCTQosTierFromGDTEventQosTier(GDTEventQoS qosTier) {
115118
switch (qosTier) {
116-
case GDTEventQoSTelemetry:
117119
case GDTEventQoSWifiOnly:
118120
return @(GDTCCTQoSWifiOnly);
119121
break;
120122

123+
case GDTEventQoSTelemetry:
124+
// falls through.
121125
case GDTEventQoSDaily:
122126
return @(GDTCCTQoSDaily);
123127
break;
@@ -149,7 +153,8 @@ typedef NS_ENUM(NSInteger, GDTCCTQoSTier) {
149153
return
150154
[self.events objectsPassingTest:^BOOL(GDTStoredEvent *_Nonnull event, BOOL *_Nonnull stop) {
151155
NSNumber *qosTier = GDTCCTQosTierFromGDTEventQosTier(event.qosTier);
152-
return [qosTier isEqual:@(GDTCCTQoSDefault)] || [qosTier isEqual:@(GDTCCTQoSWifiOnly)];
156+
return [qosTier isEqual:@(GDTCCTQoSDefault)] || [qosTier isEqual:@(GDTCCTQoSWifiOnly)] ||
157+
[qosTier isEqual:@(GDTCCTQoSDaily)];
153158
}];
154159
}
155160

GoogleDataTransportCCTSupport/GDTCCTTests/Unit/GDTCCTPrioritizerTest.m

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,8 +117,9 @@ - (void)testDailyUpload {
117117
GDTCCTPrioritizer *prioritizer = [[GDTCCTPrioritizer alloc] init];
118118
GDTStoredEvent *dailyEvent = [_generator generateStoredEvent:GDTEventQoSDaily];
119119
[prioritizer prioritizeEvent:[_generator generateStoredEvent:GDTEventQoSWifiOnly]];
120-
[prioritizer prioritizeEvent:[_generator generateStoredEvent:GDTEventQoSTelemetry]];
120+
GDTStoredEvent *telemetryEvent = [_generator generateStoredEvent:GDTEventQoSTelemetry];
121121
[prioritizer prioritizeEvent:dailyEvent];
122+
[prioritizer prioritizeEvent:telemetryEvent];
122123
GDTUploadPackage *package = [prioritizer uploadPackageWithConditions:GDTUploadConditionWifiData];
123124
// If no previous daily upload time existed, the daily event will be included.
124125
XCTAssertTrue([package.events containsObject:dailyEvent]);
@@ -133,6 +134,7 @@ - (void)testDailyUpload {
133134
[prioritizer.timeOfLastDailyUpload setValue:@(previousTime) forKeyPath:@"timeMillis"];
134135
package = [prioritizer uploadPackageWithConditions:GDTUploadConditionMobileData];
135136
XCTAssertTrue([package.events containsObject:dailyEvent]);
137+
XCTAssertTrue([package.events containsObject:telemetryEvent]);
136138
}
137139

138140
@end

0 commit comments

Comments
 (0)