For stats which can show average change over time, show the last sample as well as the average.

This is somewhat cryptic at the moment, need to improve documentation.
cpu-performance
Justin Clark-Casey (justincc) 2013-07-23 01:13:13 +01:00
parent 511801c607
commit 805ac6435e
1 changed files with 11 additions and 1 deletions

View File

@ -253,6 +253,8 @@ namespace OpenSim.Framework.Monitoring
== MeasuresOfInterest.AverageChangeOverTime)
{
double totalChange = 0;
double lastChangeOverTime = 0;
double? penultimateSample = null;
double? lastSample = null;
lock (m_samples)
@ -266,13 +268,21 @@ namespace OpenSim.Framework.Monitoring
if (lastSample != null)
totalChange += s - (double)lastSample;
penultimateSample = lastSample;
lastSample = s;
}
}
if (lastSample != null && penultimateSample != null)
lastChangeOverTime = (double)lastSample - (double)penultimateSample;
int divisor = m_samples.Count <= 1 ? 1 : m_samples.Count - 1;
sb.AppendFormat(", {0:0.##} {1}/s", totalChange / divisor / (Watchdog.WATCHDOG_INTERVAL_MS / 1000), UnitName);
double averageChangeOverTime = totalChange / divisor / (Watchdog.WATCHDOG_INTERVAL_MS / 1000);
sb.AppendFormat(
", {0:0.##} {1}/s, {2:0.##} {3}/s",
lastChangeOverTime, UnitName, averageChangeOverTime, UnitName);
}
}
}