Skip to content

Commit 4fa0b18

Browse files
committed
Fixing some mistakes
1 parent 69a40aa commit 4fa0b18

File tree

4 files changed

+16
-10
lines changed

4 files changed

+16
-10
lines changed

Agent/Harvester/DataStore/NRMAAgentConfiguration.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222

2323
// Default max event buffer time is 10 minutes (600 seconds).
2424
static NSUInteger __NRMA__maxEventBufferTime = 600;
25-
static NSUInteger __NRMA__maxOfflineStorageSize = 1000000;
25+
static NSUInteger __NRMA__maxOfflineStorageSize = 100000000; // 100 mb
2626

2727
@implementation NRMAAgentConfiguration
2828

Agent/Harvester/NRMAHarvesterConnection.m

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ - (id) init
2424
if (self) {
2525
self.harvestSession = [NSURLSession sessionWithConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];
2626
self.offlineStorage = [[NRMAOfflineStorage alloc] initWithEndpoint:@"data"];
27-
[_offlineStorage setMaxOfflineStorageSize:[NRMAAgentConfiguration getMaxOfflineStorageSize]];
2827
}
2928
return self;
3029
}
@@ -42,7 +41,7 @@ -(void) sendOfflineStorage {
4241
return;
4342
}
4443
NRLOG_VERBOSE(@"Number of offline data posts: %lu", (unsigned long)offlineData.count);
45-
44+
__block NSUInteger totalSize = 0;
4645
[offlineData enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
4746
NSData *jsonData = (NSData *)obj;
4847

@@ -51,14 +50,16 @@ -(void) sendOfflineStorage {
5150
NRLOG_ERROR(@"Failed to create data POST");
5251
return;
5352
}
54-
[NRMASupportMetricHelper enqueueOfflinePayloadMetric:[post.HTTPBody length]];
5553

5654
NRMAHarvestResponse* response = [self send:post];
5755

5856
if([NRMAOfflineStorage checkErrorToPersist:response.error]) {
5957
[_offlineStorage persistDataToDisk:jsonData];
58+
} else {
59+
totalSize += [post.HTTPBody length];
6060
}
6161
}];
62+
[NRMASupportMetricHelper enqueueOfflinePayloadMetric:totalSize];
6263
}
6364

6465
- (NSURLRequest*) createPostWithURI:(NSString*)url message:(NSString*)message

Agent/Utilities/NRMAOfflineStorage.m

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,9 @@
1313
#import "Constants.h"
1414
#import "NRMAJSON.h"
1515
#import "NRMASupportMetricHelper.h"
16+
#import "NRMAAgentConfiguration.h"
1617

17-
#define kNRMAOfflineStorageCurrentSize @"com.newrelic.offlineStorageCurrentSize"
18+
#define kNRMAOfflineStorageCurrentSizeKey @"com.newrelic.offlineStorageCurrentSize"
1819

1920
@implementation NRMAOfflineStorage {
2021
NSUInteger maxOfflineStorageSize;
@@ -25,7 +26,7 @@ - (id)initWithEndpoint:(NSString*) name {
2526
self = [super init];
2627
if (self) {
2728
_name = name;
28-
maxOfflineStorageSize = 1000000;
29+
maxOfflineStorageSize = [NRMAAgentConfiguration getMaxOfflineStorageSize];
2930
}
3031
return self;
3132
}
@@ -44,7 +45,7 @@ - (BOOL) persistDataToDisk:(NSData*) data {
4445
@synchronized (self) {
4546
[self createDirectory];
4647

47-
NSUInteger currentOfflineStorageSize = [[NSUserDefaults standardUserDefaults] integerForKey:kNRMAOfflineStorageCurrentSize];
48+
NSUInteger currentOfflineStorageSize = [[NSUserDefaults standardUserDefaults] integerForKey:kNRMAOfflineStorageCurrentSizeKey];
4849
currentOfflineStorageSize += data.length;
4950
if(currentOfflineStorageSize > maxOfflineStorageSize){
5051
NRLOG_WARNING(@"Not saving to offline storage because max storage size has been reached.");
@@ -54,7 +55,7 @@ - (BOOL) persistDataToDisk:(NSData*) data {
5455
NSError *error = nil;
5556
if (data) {
5657
if ([data writeToFile:[self newOfflineFilePath] options:NSDataWritingAtomic error:&error]) {
57-
[[NSUserDefaults standardUserDefaults] setInteger:currentOfflineStorageSize forKey:kNRMAOfflineStorageCurrentSize]; // If we successfully save the data save the new current total size
58+
[[NSUserDefaults standardUserDefaults] setInteger:currentOfflineStorageSize forKey:kNRMAOfflineStorageCurrentSizeKey]; // If we successfully save the data save the new current total size
5859
NRLOG_VERBOSE(@"Successfully persisted failed upload data to disk for offline storage. Current offline storage: %lu", (unsigned long)currentOfflineStorageSize);
5960
return YES;
6061
}
@@ -88,10 +89,12 @@ - (BOOL) persistDataToDisk:(NSData*) data {
8889
}
8990

9091
- (BOOL) clearAllOfflineFiles {
91-
if ([[NSFileManager defaultManager] removeItemAtPath:[self offlineDirectoryPath] error:NULL]) {
92-
[[NSUserDefaults standardUserDefaults] setInteger:0 forKey:kNRMAOfflineStorageCurrentSize];
92+
NSError* error;
93+
if ([[NSFileManager defaultManager] removeItemAtPath:[self offlineDirectoryPath] error:&error]) {
94+
[[NSUserDefaults standardUserDefaults] setInteger:0 forKey:kNRMAOfflineStorageCurrentSizeKey];
9395
return true;
9496
}
97+
NRLOG_ERROR(@"Failed to clear offline storage: %@", error);
9598
return false;
9699
}
97100

Tests/Unit-Tests/NewRelicAgentTests/Uncategorized/NRMAOfflineStorageTests.m

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,12 @@ -(void) setUp {
2121
[super setUp];
2222
self.offlineStorage = [[NRMAOfflineStorage alloc] initWithEndpoint:@"Test"];
2323
[self.offlineStorage clearAllOfflineFiles];
24+
[[NSUserDefaults standardUserDefaults] setInteger:0 forKey:@"com.newrelic.offlineStorageCurrentSize"];
2425
}
2526

2627
-(void) tearDown {
2728
[super tearDown];
29+
[self.offlineStorage clearAllOfflineFiles];
2830
}
2931

3032
- (unsigned long long)folderSize:(NSString *)folderPath {

0 commit comments

Comments
 (0)