Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ CollectWorker()

void System.Diagnostics.Metrics.AggregationManager.CollectWorker ( CancellationToken cancelToken)
inlineprivate

Definition at line 158 of file AggregationManager.cs.

159 {
160 try
161 {
162 double num = -1.0;
163 lock (this)
164 {
166 }
167 DateTime utcNow = DateTime.UtcNow;
169 while (!cancelToken.IsCancellationRequested)
170 {
171 DateTime utcNow2 = DateTime.UtcNow;
172 double totalSeconds = (utcNow2 - utcNow).TotalSeconds;
173 double value = Math.Ceiling(totalSeconds / num) * num;
174 DateTime dateTime = utcNow.AddSeconds(value);
175 DateTime dateTime2 = arg.AddSeconds(num);
176 if (dateTime <= dateTime2)
177 {
179 }
181 if (!cancelToken.WaitHandle.WaitOne(timeout))
182 {
184 Collect();
186 arg = dateTime;
187 continue;
188 }
189 break;
190 }
191 }
192 catch (Exception obj)
193 {
195 }
196 }
readonly Action< DateTime, DateTime > _endCollection
readonly Action< DateTime, DateTime > _beginCollection
double TotalSeconds
Definition TimeSpan.cs:64

References System.Diagnostics.Metrics.AggregationManager._beginCollection, System.Diagnostics.Metrics.AggregationManager._collectionError, System.Diagnostics.Metrics.AggregationManager._collectionPeriod, System.Diagnostics.Metrics.AggregationManager._endCollection, System.Math.Ceiling(), System.Diagnostics.Metrics.AggregationManager.Collect(), System.obj, System.timeout, System.TimeSpan.TotalSeconds, System.DateTime.UtcNow, and System.value.

Referenced by System.Diagnostics.Metrics.AggregationManager.Start().