Add ToOSDMap() overrides to the Stat subclass CounterStat.

Add a GetStatsAsOSDMap method to StatsManager which allows the filtered
fetching of stats for eventual returning over the internets.
This commit is contained in:
Robert Adams
2013-07-12 14:04:14 -07:00
parent 3d700bb42c
commit fa02f28dbf
3 changed files with 88 additions and 0 deletions

View File

@@ -224,5 +224,26 @@ public class CounterStat : Stat
}
}
}
// CounterStat is a basic stat plus histograms
public override OSDMap ToOSDMap()
{
// Get the foundational instance
OSDMap map = base.ToOSDMap();
map["StatType"] = "CounterStat";
// If there are any histograms, add a new field that is an array of histograms as OSDMaps
if (m_histograms.Count > 0)
{
OSDArray histos = new OSDArray();
foreach (EventHistogram histo in m_histograms.Values)
{
histos.Add(histo.GetHistogramAsOSDMap());
}
map.Add("Histograms", histos);
}
return map;
}
}
}

View File

@@ -242,6 +242,7 @@ namespace OpenSim.Framework.Monitoring
ret.Add("Description", OSD.FromString(Description));
ret.Add("UnitName", OSD.FromString(UnitName));
ret.Add("Value", OSD.FromReal(Value));
ret.Add("StatType", "Stat"); // used by overloading classes to denote type of stat
return ret;
}