summaryrefslogtreecommitdiff
path: root/src/SMAPI/Framework/Utilities
diff options
context:
space:
mode:
Diffstat (limited to 'src/SMAPI/Framework/Utilities')
-rw-r--r--src/SMAPI/Framework/Utilities/EventPerformanceCounterCategory.cs16
-rw-r--r--src/SMAPI/Framework/Utilities/IPerformanceCounterEvent.cs16
-rw-r--r--src/SMAPI/Framework/Utilities/PerformanceCounter.cs102
-rw-r--r--src/SMAPI/Framework/Utilities/PerformanceCounterEntry.cs10
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;
- }
-}