You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add per-schedule timer tolerance and improve logging
Introduces a tolerance parameter to GlobalTimer schedules, allowing finer control over timer precision for both background and foreground execution. Updates all Logger.process.info calls to use privacy annotations for thread information, improving log output consistency and privacy. Cleans up obsolete comments and ensures tolerance is handled and normalized throughout scheduling logic.
Logger.process.info("GlobalTimer: Adding schedule for profile '\(profileName, privacy:.public)' at \(time, privacy:.public)")
74
+
Logger.process.info("GlobalTimer: Adding schedule for profile '\(profileName, privacy:.public)' at \(time, privacy:.public) with tolerance \(tolerance ??-1, privacy:.public)s")
71
75
72
76
// Cancel and remove any existing background scheduler for this profile.
Logger.process.info("ObservableChartData: readandparselogs() MAIN THREAD: \(Thread.isMain) but on \(Thread.current)")
18
+
Logger.process.info("ObservableChartData: readandparselogs() MAIN THREAD: \(Thread.isMain, privacy:.public) but on \(Thread.current, privacy:.public)")
Logger.process.info("GetversionofRsyncUI: getversionsofrsyncui() MAIN THREAD: \(Thread.isMain) but on \(Thread.current)")
15
+
Logger.process.info("GetversionofRsyncUI: getversionsofrsyncui() MAIN THREAD: \(Thread.isMain, privacy:.public) but on \(Thread.current, privacy:.public)")
Logger.process.info("GetversionofRsyncUI: downloadlinkofrsyncui() MAIN THREAD: \(Thread.isMain) but on \(Thread.current)")
42
+
Logger.process.info("GetversionofRsyncUI: downloadlinkofrsyncui() MAIN THREAD: \(Thread.isMain, privacy:.public) but on \(Thread.current, privacy:.public)")
Logger.process.info("ActorCreateOutputforView: createaoutputforview() MAIN THREAD: \(Thread.isMain) but on \(Thread.current)")
14
+
Logger.process.info("ActorCreateOutputforView: createaoutputforview() MAIN THREAD: \(Thread.isMain, privacy:.public) but on \(Thread.current, privacy:.public)")
15
15
iflet stringoutputfromrsync {
16
16
return stringoutputfromrsync.map{ line in
17
17
RsyncOutputData(record: line)
@@ -23,7 +23,7 @@ actor ActorCreateOutputforView {
Logger.process.info("ActorCreateOutputforView: createaoutputforview() MAIN THREAD: \(Thread.isMain) but on \(Thread.current)")
26
+
Logger.process.info("ActorCreateOutputforView: createaoutputforview() MAIN THREAD: \(Thread.isMain, privacy:.public) but on \(Thread.current, privacy:.public)")
27
27
iflet setoutputfromrsync {
28
28
return setoutputfromrsync.map{ line in
29
29
RsyncOutputData(record: line)
@@ -35,7 +35,7 @@ actor ActorCreateOutputforView {
35
35
// Show filelist for Restore, the TrimOutputForRestore prepares list
Logger.process.info("ActorCreateOutputforView: createoutputforrestore() MAIN THREAD: \(Thread.isMain) but on \(Thread.current)")
38
+
Logger.process.info("ActorCreateOutputforView: createoutputforrestore() MAIN THREAD: \(Thread.isMain, privacy:.public) but on \(Thread.current, privacy:.public)")
Logger.process.info("ActorCreateOutputforView: createoutputafterrestore() MAIN THREAD: \(Thread.isMain) but on \(Thread.current)")
52
+
Logger.process.info("ActorCreateOutputforView: createoutputafterrestore() MAIN THREAD: \(Thread.isMain, privacy:.public) but on \(Thread.current, privacy:.public)")
53
53
iflet stringoutputfromrsync {
54
54
return stringoutputfromrsync.map{ filename in
55
55
RsyncOutputData(record: filename)
@@ -61,7 +61,7 @@ actor ActorCreateOutputforView {
Logger.process.info("ActorCreateOutputforView: createaoutputlogfileforview() generatedata() MAIN THREAD: \(Thread.isMain) but on \(Thread.current)")
64
+
Logger.process.info("ActorCreateOutputforView: createaoutputlogfileforview() generatedata() MAIN THREAD: \(Thread.isMain, privacy:.public) but on \(Thread.current, privacy:.public)")
65
65
iflet data =awaitActorLogToFile(false).readloggfile(){
Copy file name to clipboardExpand all lines: RsyncUI/Model/Process/Main/ProcessCommand.swift
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -133,6 +133,6 @@ extension ProcessCommand {
133
133
sequenceFileHandlerTask?.cancel()
134
134
sequenceTerminationTask?.cancel()
135
135
136
-
Logger.process.info("ProcessCommand: process = nil and termination discovered \(Thread.isMain) but on \(Thread.current)")
136
+
Logger.process.info("ProcessCommand: process = nil and termination discovered \(Thread.isMain, privacy:.public) but on \(Thread.current, privacy:.public)")
Logger.process.info("ProcessRsyncOpenrsync: process = nil and termination discovered \(Thread.isMain) but on \(Thread.current)")
201
+
Logger.process.info("ProcessRsyncOpenrsync: process = nil and termination discovered \(Thread.isMain, privacy:.public) but on \(Thread.current, privacy:.public)")
Copy file name to clipboardExpand all lines: RsyncUI/Model/Process/Main/ProcessRsyncVer3x.swift
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -241,6 +241,6 @@ extension ProcessRsyncVer3x {
241
241
sequenceFileHandlerTask?.cancel()
242
242
sequenceTerminationTask?.cancel()
243
243
244
-
Logger.process.info("ProcessRsyncVer3x: process = nil and termination discovered \(Thread.isMain) but on \(Thread.current)")
244
+
Logger.process.info("ProcessRsyncVer3x: process = nil and termination discovered \(Thread.isMain, privacy:.public) but on \(Thread.current, privacy:.public)")
Logger.process.info("ActorLogChartsData: parsemaxfilesbydate() MAIN THREAD: \(Thread.isMain) but on \(Thread.current)")
75
+
Logger.process.info("ActorLogChartsData: parsemaxfilesbydate() MAIN THREAD: \(Thread.isMain, privacy:.public) but on \(Thread.current, privacy:.public)")
76
76
Logger.process.info("ActorLogChartsData: number of records IN \(records.count, privacy:.public)")
77
77
78
78
letcalendar=Calendar.current
@@ -122,7 +122,7 @@ actor ActorLogChartsData {
122
122
// Select the one date with max data transferred, if more records pr date.
Logger.process.info("ActorLogChartsData: parsemaxfilesbytransferredsize() MAIN THREAD: \(Thread.isMain) but on \(Thread.current)")
125
+
Logger.process.info("ActorLogChartsData: parsemaxfilesbytransferredsize() MAIN THREAD: \(Thread.isMain, privacy:.public) but on \(Thread.current, privacy:.public)")
126
126
Logger.process.info("ActorLogChartsData: number of records IN \(records.count, privacy:.public)")
0 commit comments