diff options
Diffstat (limited to 'src/SMAPI/Framework/Utilities')
4 files changed, 0 insertions, 144 deletions
diff --git a/src/SMAPI/Framework/Utilities/EventPerformanceCounterCategory.cs b/src/SMAPI/Framework/Utilities/EventPerformanceCounterCategory.cs deleted file mode 100644 index 14f74317..00000000 --- a/src/SMAPI/Framework/Utilities/EventPerformanceCounterCategory.cs +++ /dev/null @@ -1,16 +0,0 @@ -namespace StardewModdingAPI.Framework.Utilities -{ - public class EventPerformanceCounterCategory - { - public IPerformanceCounterEvent Event { get; } - public double MonitorThreshold { get; } - public bool IsImportant { get; } - public bool Monitor { get; } - - public EventPerformanceCounterCategory(IPerformanceCounterEvent @event, bool isImportant) - { - this.Event = @event; - this.IsImportant = isImportant; - } - } -} diff --git a/src/SMAPI/Framework/Utilities/IPerformanceCounterEvent.cs b/src/SMAPI/Framework/Utilities/IPerformanceCounterEvent.cs deleted file mode 100644 index 55302f90..00000000 --- a/src/SMAPI/Framework/Utilities/IPerformanceCounterEvent.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System; -using System.Collections.Generic; - -namespace StardewModdingAPI.Framework.Utilities -{ - public interface IPerformanceCounterEvent - { - string GetEventName(); - long GetAverageCallsPerSecond(); - IDictionary<string, PerformanceCounter> PerformanceCounters { get; } - - double GetGameAverageExecutionTime(); - double GetModsAverageExecutionTime(); - double GetAverageExecutionTime(); - } -} diff --git a/src/SMAPI/Framework/Utilities/PerformanceCounter.cs b/src/SMAPI/Framework/Utilities/PerformanceCounter.cs deleted file mode 100644 index c9ffcf5b..00000000 --- a/src/SMAPI/Framework/Utilities/PerformanceCounter.cs +++ /dev/null @@ -1,102 +0,0 @@ -using System; -using System.Diagnostics; -using System.Linq; -using Cyotek.Collections.Generic; - -namespace StardewModdingAPI.Framework.Utilities -{ - public class PerformanceCounter - { - private const int MaxCount = 16384; - - public string Name { get; } - public static Stopwatch Stopwatch = new Stopwatch(); - public static long EventsLogged; - - - private readonly CircularBuffer<PerformanceCounterEntry> _counter; - - private PerformanceCounterEntry? PeakPerformanceCounterEntry; - - public PerformanceCounter(string name) - { - this.Name = name; - this._counter = new CircularBuffer<PerformanceCounterEntry>(PerformanceCounter.MaxCount); - } - - public int GetAverageCallsPerSecond() - { - var x = this._counter.GroupBy( - p => - (int) p.EventTime.Subtract( - new DateTime(1970, 1, 1) - ).TotalSeconds); - - return x.Last().Count(); - } - - public void Add(PerformanceCounterEntry entry) - { - PerformanceCounter.Stopwatch.Start(); - this._counter.Put(entry); - - if (this.PeakPerformanceCounterEntry == null) - { - this.PeakPerformanceCounterEntry = entry; - } - else - { - if (entry.Elapsed.TotalMilliseconds > this.PeakPerformanceCounterEntry.Value.Elapsed.TotalMilliseconds) - { - this.PeakPerformanceCounterEntry = entry; - } - } - - PerformanceCounter.Stopwatch.Stop(); - EventsLogged++; - } - - public PerformanceCounterEntry? GetPeak() - { - return this.PeakPerformanceCounterEntry; - } - - public void ResetPeak() - { - this.PeakPerformanceCounterEntry = null; - } - - public PerformanceCounterEntry? GetLastEntry() - { - if (this._counter.IsEmpty) - { - return null; - } - return this._counter.PeekLast(); - } - - public double GetAverage() - { - if (this._counter.IsEmpty) - { - return 0; - } - - return this._counter.Average(p => p.Elapsed.TotalMilliseconds); - } - - public double GetAverage(TimeSpan range) - { - if (this._counter.IsEmpty) - { - return 0; - } - - var lastTime = this._counter.Max(x => x.EventTime); - var start = lastTime.Subtract(range); - - var entries = this._counter.Where(x => (x.EventTime >= start) && (x.EventTime <= lastTime)); - return entries.Average(x => x.Elapsed.TotalMilliseconds); - } - } -} diff --git a/src/SMAPI/Framework/Utilities/PerformanceCounterEntry.cs b/src/SMAPI/Framework/Utilities/PerformanceCounterEntry.cs deleted file mode 100644 index 8e156a32..00000000 --- a/src/SMAPI/Framework/Utilities/PerformanceCounterEntry.cs +++ /dev/null @@ -1,10 +0,0 @@ -using System; - -namespace StardewModdingAPI.Framework.Utilities -{ - public struct PerformanceCounterEntry - { - public DateTime EventTime; - public TimeSpan Elapsed; - } -} |