From 344c1924e7553d2002b5ecec39b047a49d49ad5c Mon Sep 17 00:00:00 2001 From: Chris Dillard Date: Mon, 6 Jan 2025 16:05:50 -0700 Subject: [PATCH] NR-233726: gzip logs --- Agent/Utilities/NRLogger.m | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Agent/Utilities/NRLogger.m b/Agent/Utilities/NRLogger.m index 03f815c4..c1ad8c5e 100644 --- a/Agent/Utilities/NRLogger.m +++ b/Agent/Utilities/NRLogger.m @@ -15,6 +15,7 @@ #import "NRMASupportMetricHelper.h" #import "NRMAFlags.h" #import "NRAutoLogCollector.h" +#import "NRMAHarvesterConnection+GZip.h" NRLogger *_nr_logger = nil; @@ -558,8 +559,9 @@ - (void)enqueueLogUpload { // Old version of the line // NSString* logMessagesJson = [NSString stringWithFormat:@"[ %@ ]", [[NSString alloc] initWithData:logData encoding:NSUTF8StringEncoding]]; - NSData* formattedData = [logMessagesJson dataUsingEncoding:NSUTF8StringEncoding]; - + // Here we add gzip compression to the log data. + NSData* formattedData = [NRMAHarvesterConnection gzipData:[logMessagesJson dataUsingEncoding:NSUTF8StringEncoding]]; + // We clear the log when we save the existing logs to uploadQueue. [self clearLog]; @@ -608,6 +610,10 @@ - (void) processNextUploadTask { [req setValue:self->logIngestKey forHTTPHeaderField:@"X-App-License-Key"]; [req setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]; + //NSString* contentEncoding = message.length <= 512 ? kNRMAIdentityHeader : kNRMAGZipHeader; + + [req setValue:kNRMAGZipHeader forHTTPHeaderField:kNRMAContentEncodingHeader]; + req.HTTPMethod = @"POST"; NSURLSessionUploadTask *uploadTask = [session uploadTaskWithRequest:req fromData:formattedData completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {