Add generic PercentageStat.

Not yet used.
0.7.4-extended
Justin Clark-Casey (justincc) 2012-10-04 01:27:40 +01:00
parent 14b0c03d5b
commit e912e52e15
2 changed files with 34 additions and 3 deletions

View File

@ -153,9 +153,9 @@ namespace OpenSim.Framework.Monitoring
public string ShortName { get; private set; } public string ShortName { get; private set; }
public string Name { get; private set; } public string Name { get; private set; }
public string Description { get; private set; } public string Description { get; private set; }
public string UnitName { get; private set; } public virtual string UnitName { get; private set; }
public double Value { get; set; } public virtual double Value { get; set; }
public Stat( public Stat(
string shortName, string name, string unitName, string category, string container, StatVerbosity verbosity, string description) string shortName, string name, string unitName, string category, string container, StatVerbosity verbosity, string description)
@ -176,4 +176,35 @@ namespace OpenSim.Framework.Monitoring
return string.Format("{0}+{1}+{2}", container, category, shortName); return string.Format("{0}+{1}+{2}", container, category, shortName);
} }
} }
public class PercentageStat : Stat
{
public int Antecedent { get; set; }
public int Consequent { get; set; }
public override double Value
{
get
{
int c = Consequent;
// Avoid any chance of a multi-threaded divide-by-zero
if (c == 0)
return 0;
return (double)Antecedent / c;
}
set
{
throw new Exception("Cannot set value on a PercentageStat");
}
}
public PercentageStat(
string shortName, string name, string category, string container, StatVerbosity verbosity, string description)
: base(shortName, name, " %", category, container, verbosity, description)
{
}
}
} }

View File

@ -245,7 +245,7 @@ namespace OpenSim.Region.Framework.Scenes
= new Stat( = new Stat(
"SlowFrames", "SlowFrames",
"Slow Frames", "Slow Frames",
"frames", " frames",
"scene", "scene",
m_scene.Name, m_scene.Name,
StatVerbosity.Info, StatVerbosity.Info,