@@ -393,7 +393,7 @@ public static async Task ExecuteLargeQuery()
393393 Console . WriteLine ( ) ;
394394 Console . WriteLine ( $ "Queries finished in { stopwatch . Elapsed . TotalSeconds : F3} seconds.") ;
395395 Console . WriteLine ( $ "Total logs found: { allResults . Count } ") ;
396-
396+
397397 // Check for duplicates
398398 Console . WriteLine ( ) ;
399399 Console . WriteLine ( "Checking for duplicate logs..." ) ;
@@ -406,7 +406,7 @@ public static async Task ExecuteLargeQuery()
406406 {
407407 Console . WriteLine ( $ " [{ dup . Timestamp } ] { dup . Message } (appears { dup . Count } times)") ;
408408 }
409-
409+
410410 var uniqueCount = allResults . Count - duplicates . Sum ( d => d . Count - 1 ) ;
411411 Console . WriteLine ( $ "Unique logs: { uniqueCount } ") ;
412412 }
@@ -477,10 +477,10 @@ private static async Task<List<List<ResultField>>> PerformLargeQuery(
477477 // Parse the timestamp and add 1 millisecond to avoid querying the same log again
478478 var lastLogDate = DateTimeOffset . Parse ( lastLogTimestamp + " +0000" ) ;
479479 Console . WriteLine ( $ " -> Last log as DateTimeOffset: { lastLogDate : yyyy-MM-ddTHH:mm:ss.fffZ} ({ lastLogDate . ToUnixTimeSeconds ( ) } s)") ;
480-
480+
481481 var offsetLastLogDate = lastLogDate . AddMilliseconds ( 1 ) ;
482482 Console . WriteLine ( $ " -> Offset timestamp (last + 1ms): { offsetLastLogDate : yyyy-MM-ddTHH:mm:ss.fffZ} ({ offsetLastLogDate . ToUnixTimeSeconds ( ) } s)") ;
483-
483+
484484 // Convert to seconds, but round UP to the next second to avoid overlapping with logs in the same second
485485 // This ensures we don't re-query logs that share the same second as the last log
486486 var offsetLastLogTime = offsetLastLogDate . ToUnixTimeSeconds ( ) ;
@@ -489,7 +489,7 @@ private static async Task<List<List<ResultField>>> PerformLargeQuery(
489489 offsetLastLogTime ++ ; // Move to the next full second
490490 Console . WriteLine ( $ " -> Adjusted to next full second: { offsetLastLogTime } s ({ DateTimeOffset . FromUnixTimeSeconds ( offsetLastLogTime ) : yyyy-MM-ddTHH:mm:ss.fffZ} )") ;
491491 }
492-
492+
493493 Console . WriteLine ( $ " -> Comparing: offsetLastLogTime={ offsetLastLogTime } s vs endTime={ endTime } s") ;
494494 Console . WriteLine ( $ " -> End time as date: { DateTimeOffset . FromUnixTimeSeconds ( endTime ) : yyyy-MM-ddTHH:mm:ss.fffZ} ") ;
495495
@@ -502,12 +502,12 @@ private static async Task<List<List<ResultField>>> PerformLargeQuery(
502502
503503 // Split the remaining date range in half
504504 var ( range1Start , range1End , range2Start , range2End ) = SplitDateRange ( offsetLastLogTime , endTime ) ;
505-
505+
506506 var range1StartDate = DateTimeOffset . FromUnixTimeSeconds ( range1Start ) . ToString ( "yyyy-MM-ddTHH:mm:ss.fffZ" ) ;
507507 var range1EndDate = DateTimeOffset . FromUnixTimeSeconds ( range1End ) . ToString ( "yyyy-MM-ddTHH:mm:ss.fffZ" ) ;
508508 var range2StartDate = DateTimeOffset . FromUnixTimeSeconds ( range2Start ) . ToString ( "yyyy-MM-ddTHH:mm:ss.fffZ" ) ;
509509 var range2EndDate = DateTimeOffset . FromUnixTimeSeconds ( range2End ) . ToString ( "yyyy-MM-ddTHH:mm:ss.fffZ" ) ;
510-
510+
511511 Console . WriteLine ( $ " -> Splitting remaining range:") ;
512512 Console . WriteLine ( $ " Range 1: { range1StartDate } ({ range1Start } s) to { range1EndDate } ({ range1End } s)") ;
513513 Console . WriteLine ( $ " Range 2: { range2StartDate } ({ range2Start } s) to { range2EndDate } ({ range2End } s)") ;
@@ -516,7 +516,7 @@ private static async Task<List<List<ResultField>>> PerformLargeQuery(
516516 Console . WriteLine ( $ " -> Querying range 1...") ;
517517 var results1 = await PerformLargeQuery ( logGroupName , queryString , range1Start , range1End , limit ) ;
518518 Console . WriteLine ( $ " -> Range 1 returned { results1 . Count } logs") ;
519-
519+
520520 Console . WriteLine ( $ " -> Querying range 2...") ;
521521 var results2 = await PerformLargeQuery ( logGroupName , queryString , range2Start , range2End , limit ) ;
522522 Console . WriteLine ( $ " -> Range 2 returned { results2 . Count } logs") ;
@@ -807,13 +807,13 @@ private static long PromptUserForLong(string prompt)
807807 private static List < ( string Timestamp , string Message , int Count ) > FindDuplicateLogs ( List < List < ResultField > > logs )
808808 {
809809 var logSignatures = new Dictionary < string , int > ( ) ;
810-
810+
811811 foreach ( var log in logs )
812812 {
813813 var timestamp = log . Find ( f => f . Field == "@timestamp" ) ? . Value ?? "" ;
814814 var message = log . Find ( f => f . Field == "@message" ) ? . Value ?? "" ;
815815 var signature = $ "{ timestamp } |{ message } ";
816-
816+
817817 if ( logSignatures . ContainsKey ( signature ) )
818818 {
819819 logSignatures [ signature ] ++ ;
@@ -823,7 +823,7 @@ private static long PromptUserForLong(string prompt)
823823 logSignatures [ signature ] = 1 ;
824824 }
825825 }
826-
826+
827827 return logSignatures
828828 . Where ( kvp => kvp . Value > 1 )
829829 . Select ( kvp =>
@@ -835,4 +835,4 @@ private static long PromptUserForLong(string prompt)
835835 . ToList ( ) ;
836836 }
837837}
838- // snippet-end:[CloudWatchLogs.dotnetv4.LargeQueryWorkflow]
838+ // snippet-end:[CloudWatchLogs.dotnetv4.LargeQueryWorkflow]
0 commit comments