public static string CombineStats(ExperimentalConfig config, ServerStats server, ClientStats client, int count) { DateTime ts = server.TimeStamp; string line = client.TimeStamp.ToString(config.TimestampFormat) + ","; line += (config.Timestamp - ts).TotalMilliseconds + ","; line += count + ","; foreach (var key in config.OutputKeys) { switch (key.ToUpper()) { case "CFPS": line += client.CFPS.Aggregate("", (s, v) => s + v + ",", f => f); break; case "POLYGONS": line += client.Polys.Aggregate("", (s, v) => s + v + ",", f => f); break; case "PING": line += client.Ping.Aggregate("", (s, v) => s + v + ",", f => f); break; case "FT": line += server.FrameTime.ToString() + ","; break; case "SFPS": line += server.SFPS.ToString() + ","; break; } } return(line + "," + ((server.TimeStamp - client.TimeStamp).TotalMilliseconds)); }
public void Init(Core core) { mCore = core; mConfig = ExperimentalConfig.Instance; mFiles = File.ReadAllLines(mConfig.SettingsCollectionFile); mWasEnabled = mConfig.SettingsLoaderEnabled; if (mConfig.SettingsLoaderEnabled) { if (mConfig.Index < mFiles.Length) { mFile = "settings-" + mFiles[mConfig.Index] + ".xml"; string file = Path.Combine(Path.GetDirectoryName(mConfig.SettingsCollectionFile), mFile); foreach (var output in core.Frames.Select(f => f.Output)) { ReplaceSettingsFile((output as OpenSimController).Config as ViewerConfig, file, mConfig, Logger); } Logger.Info("Settings loader loading settings file " + mConfig.Index + " of " + mFiles.Length + ": " + mFile + "."); new Thread(() => { Thread.Sleep(200); mConfig.RunInfo = mFiles[mConfig.Index]; }).Start(); } else { Logger.Info("All settings files loaded, index " + mConfig.Index + " out of " + mFiles.Length + ". Not specifying file."); } } }
public Stats(string line, ExperimentalConfig config) { string[] s = line.Split(','); int frames = new CoreConfig().Frames.Length; mConfig = config; TimeStamp = DateTime.ParseExact(line.Split(',')[0], mConfig.TimestampFormat, new DateTimeFormatInfo()); }
public SettingLoaderControl(SettingLoaderPlugin plugin) : this() { mPlugin = plugin; mConfig = plugin.Config as ExperimentalConfig; mValue = mConfig.Value; statusLabel.Text = mConfig.SettingsLoaderEnabled ? "Loaded settings from: " + mConfig.RunInfo : "Settings loading disabled."; }
public string ToString(ExperimentalConfig config, int count) { string line = base.ToString(count); foreach (var key in config.OutputKeys) { line += Get(key) + ","; } return(line.TrimEnd(',')); }
public AvatarMovementControl(AvatarMovementPlugin plugin) : this() { mPlugin = plugin; mConfig = mPlugin.Config as ExperimentalConfig; mPlugin.TargetChanged += new Action <string, Vector3>(mPlugin_TargetChanged); turnRatePanel.Value = (float)(mPlugin.Config as ExperimentalConfig).TurnRate; moveRatePanel.Value = (mPlugin.Config as ExperimentalConfig).MoveRate; distanceThresholdPanel.Value = (mPlugin.Config as ExperimentalConfig).DistanceThreshold; heightOffsetPanel.Value = (mPlugin.Config as ExperimentalConfig).HeightOffset; }
public ClientStats(string line, ExperimentalConfig config, DateTime timestamp) : base(timestamp, config) { string[] s = line.Split(','); int frames = new CoreConfig().Frames.Length; CFPS = new float[frames]; Polys = new float[frames]; Ping = new float[frames]; AddLine(line, 0); }
public AvatarMovementControl(AvatarMovementPlugin plugin) : this() { mPlugin = plugin; mConfig = mPlugin.Config as ExperimentalConfig; mPlugin.TargetChanged += new Action<string, Vector3>(mPlugin_TargetChanged); turnRatePanel.Value = (float) (mPlugin.Config as ExperimentalConfig).TurnRate; moveRatePanel.Value = (mPlugin.Config as ExperimentalConfig).MoveRate; distanceThresholdPanel.Value = (mPlugin.Config as ExperimentalConfig).DistanceThreshold; heightOffsetPanel.Value = (mPlugin.Config as ExperimentalConfig).HeightOffset; }
public ClientRecorderControl(ClientRecorderPlugin plugin) { InitializeComponent(); mPlugin = plugin; mConfig = mPlugin.Config as ExperimentalConfig; statsList.Columns.Add("Timestamp"); foreach (var colName in mConfig.OutputKeys) { var col = statsList.Columns.Add(colName); col.Width = 30; } }
public SettingChangerControl(SettingChangerPlugin plugin) : this() { mPlugin = plugin; mConfig = plugin.Config as ExperimentalConfig; mValue = mConfig.Value; statusLabel.Text = mConfig.Setting + " will be set to " + mConfig.Value + " on login. Increment: " + mConfig.Increment + "."; mPlugin.Set += () => Invoke(new Action(() => { statusLabel.Text = mConfig.Setting + " set to " + mValue + ". Next iteration: " + mConfig.Value + " (increment " + mConfig.Increment + ")."; mValue = mConfig.Value; })); }
public void Init(Core coordinator) { mCore = coordinator; mConfig = ExperimentalConfig.Instance; /* * if (mCore.HasPlugin<AvatarMovementPlugin>()) { * mMovementPlugin = mCore.GetPlugin<AvatarMovementPlugin>(); * mConfig = mMovementPlugin.Config as ExperimentalConfig; * } else * mConfig = new ExperimentalConfig(); */ }
public SystemStats(string line, ExperimentalConfig config) : base(line, config) { string[] s = line.Split(','); int processors = Environment.ProcessorCount; for (int i = 0; i < mConfig.OutputKeys.Length; i++) { switch (mConfig.OutputKeys[i]) { case "CPU": mProcessorUsage = float.Parse(s[i + 2]); break; case "Core": mProcessorsUsage.AddRange(s.Skip(i + 2).Take(processors).Select(polys => polys != "-" ? float.Parse(polys) : 0f)); i += processors - 1; break; } } }
public override void Init(Core coordinator) { mTickListener = new Action(Core_Tick); base.Init(coordinator); mConfig = ExperimentalConfig.Instance; /* * if (Core.HasPlugin<AvatarMovementPlugin>()) { * mMovementPlugin = Core.GetPlugin<AvatarMovementPlugin>(); * mConfig = mMovementPlugin.Config as ExperimentalConfig; * } else * mConfig = new ExperimentalConfig(); */ LoggedInChanged += new Action <bool>(RecorderPlugin_LoggedInChanged); }
public static void ReplaceSettingsFile(ViewerConfig viewerConfig, string file, ExperimentalConfig config, ILog Logger) { string filename = Path.GetFileName(file); try { File.Copy(file, Path.Combine(config.UserSettingsFolder, filename), true); Logger.Info("Copied " + file + " to " + config.UserSettingsFolder + "."); } catch (IOException e) { Logger.Fatal("Unable to copy settings file from stored directory (" + Path.GetDirectoryName(config.SettingsFile) + ") to user settings folder (" + config.UserSettingsFolder + ").", e); Environment.Exit(-1); } if (viewerConfig.ViewerArguments.Contains("--settings")) { viewerConfig.ViewerArguments.Replace(@"--settings .*xml", "--settings " + filename); //viewerConfig.ViewerArguments = Regex.Replace(viewerConfig.ViewerArguments, @"--settings .*xml", "--settings " + filename); } else viewerConfig.ViewerArguments += " --settings " + filename; }
public SystemRecorderControl(SystemRecorderPlugin plugin) { InitializeComponent(); mPlugin = plugin; mConfig = mPlugin.Config as ExperimentalConfig; updateFreq.Value = updateTimer.Interval; statsList.Columns.Add("Timestamp"); foreach (var colName in mConfig.OutputKeys) { var col = statsList.Columns.Add(colName); col.Width = 30; } updateTimer.Enabled = true; }
public void Init(Core coordinator) { SystemStats.InitialiseCounters(); mCore = coordinator; mTickListener = new Action(mCore_Tick); mConfig = ExperimentalConfig.Instance; /* * if (mCore.HasPlugin<AvatarMovementPlugin>()) { * mMovementPlugin = mCore.GetPlugin<AvatarMovementPlugin>(); * mConfig = mMovementPlugin.Config as ExperimentalConfig; * } else * mConfig = new ExperimentalConfig(); */ mCore.Tick += mTickListener; }
public RecorderControl(RecorderPlugin plugin) : base(plugin) { InitializeComponent(); mPlugin = plugin; mConfig = mPlugin.Config as ExperimentalConfig; updateFreq.Value = updateTimer.Interval; statsList.Columns.Add("Timestamp"); foreach (var colName in mConfig.OutputKeys) { var col = statsList.Columns.Add(colName); col.Width = 30; } mPlugin.LoggedInChanged += new Action<bool>(mPlugin_LoggedInChanged); }
public void Init(Core core) { Logger = LogManager.GetLogger("SettingsChanger"); mCore = core; mConfig = ExperimentalConfig.Instance; mWasEnabled = mConfig.SettingsChangerEnabled; //mConfig = mCore.HasPlugin<ClientRecorderPlugin>() ? mCore.GetPlugin<ClientRecorderPlugin>().Config as ExperimentalConfig : new ExperimentalConfig(); if (mConfig.SettingsChangerEnabled && mConfig.Setting != null) { OSOut = (core.Frames[0].Output as OpenSimController); OSOut.ClientLoginComplete += new EventHandler(SettingChangerPlugin_ClientLoginComplete); new Thread(() => { Thread.Sleep(200); mConfig.RunInfo += (mConfig.RunInfo.Length == 0 ? "" : "-") + mConfig.Value; }).Start(); } }
public RecorderControl(RecorderPlugin plugin) : base(plugin) { InitializeComponent(); mPlugin = plugin; mConfig = mPlugin.Config as ExperimentalConfig; updateFreq.Value = updateTimer.Interval; statsList.Columns.Add("Timestamp"); foreach (var colName in mConfig.OutputKeys) { var col = statsList.Columns.Add(colName); col.Width = 30; } mPlugin.LoggedInChanged += new Action <bool>(mPlugin_LoggedInChanged); }
public void Init(Core core) { mCore = core; mCore.CameraUpdated += new Action <Core, CameraUpdateEventArgs>(mCore_CameraUpdated); mTickListener = new Action(mCore_Tick); ExperimentalConfig cfg = ExperimentalConfig.Instance; if (cfg.ExperimentFile != null && File.Exists(cfg.ExperimentFile)) { Load(cfg.ExperimentFile); } else { mMap = new Bitmap("Images/Maps/OrthogonalMap.png"); mLeftScaleX = (mScaleX - 1f) / 2f; mLeftScaleY = (mScaleY - 1f) / 2f; } }
public ClientStats(string line, ExperimentalConfig config) : base(line, config) { string[] s = line.Split(','); int frames = new CoreConfig().Frames.Length; CFPS = new float[frames]; Polys = new float[frames]; Ping = new float[frames]; for (int i = 0; i < mConfig.OutputKeys.Length; i++) { switch (mConfig.OutputKeys[i]) { case "CFPS": CFPS = s.Skip(i + 2).Take(frames).Select(cfps => cfps != "-" ? float.Parse(cfps) : 0f).ToArray(); i += frames - 1; break; case "Polygons": Polys = s.Skip(i + 2).Take(frames).Select(polys => polys != "-" ? float.Parse(polys) : 0f).ToArray(); i += frames - 1; break; case "Ping": Polys = s.Skip(i + 2).Take(frames).Select(ping => ping != "-" ? float.Parse(ping) : 0f).ToArray(); i += frames - 1; break; } } }
public ServerStats(Simulator.SimStats stats, int frames, ExperimentalConfig config) : base(DateTime.Now, config) { Dilation = stats.Dilation; SFPS = stats.FPS; Agents = stats.Agents; IncomingBPS = stats.IncomingBPS; OutgoingBPS = stats.OutgoingBPS; ResentPackets = stats.ResentPackets; ReceivedResends = stats.ReceivedResends; PhysicsFPS = stats.PhysicsFPS; AgentUpdates = stats.AgentUpdates; Objects = stats.Objects; ScriptedObjects = stats.ScriptedObjects; FrameTime = stats.FrameTime; NetTime = stats.NetTime; ImageTime = stats.ImageTime; PhysicsTime = stats.PhysicsTime; ScriptTime = stats.ScriptTime; OtherTime = stats.OtherTime; ChildAgents = stats.ChildAgents; ActiveScripts = stats.ActiveScripts; }
public ServerStats(string line, ExperimentalConfig config) : base(line, config) { string[] s = line.Split(','); int frames = new CoreConfig().Frames.Length; Dilation = 0f; SFPS = 0; Agents = 0; IncomingBPS = 0; OutgoingBPS = 0; ResentPackets = 0; ReceivedResends = 0; PhysicsFPS = 0f; AgentUpdates = 0f; Objects = 0; ScriptedObjects = 0; FrameTime = 0f; NetTime = 0f; ImageTime = 0f; PhysicsTime = 0f; ScriptTime = 0f; OtherTime = 0f; ChildAgents = 0; ActiveScripts = 0; for (int i = 0; i < mConfig.OutputKeys.Length; i++) { switch (mConfig.OutputKeys[i]) { case "FT": FrameTime = float.Parse(s[i + 2]); break; case "SFPS": SFPS = int.Parse(s[i + 2]); break; } } }
public void Init(Core core) { mCore = core; mConfig = ExperimentalConfig.Instance; mFiles = File.ReadAllLines(mConfig.SettingsCollectionFile); mWasEnabled = mConfig.SettingsLoaderEnabled; if (mConfig.SettingsLoaderEnabled) { if (mConfig.Index < mFiles.Length) { mFile = "settings-" + mFiles[mConfig.Index] + ".xml"; string file = Path.Combine(Path.GetDirectoryName(mConfig.SettingsCollectionFile), mFile); foreach (var output in core.Frames.Select(f => f.Output)) { ReplaceSettingsFile((output as OpenSimController).Config as ViewerConfig, file, mConfig, Logger); } Logger.Info("Settings loader loading settings file " + mConfig.Index + " of " + mFiles.Length + ": " + mFile + "."); new Thread(() => { Thread.Sleep(200); mConfig.RunInfo = mFiles[mConfig.Index]; }).Start(); } else Logger.Info("All settings files loaded, index " + mConfig.Index + " out of " + mFiles.Length + ". Not specifying file."); } }
public SystemStats(ExperimentalConfig config) : base(DateTime.Now, config) { mProcessorUsage = sProcessorUsage.NextValue(); mProcessorsUsage.AddRange(sProcessorsUsage.Select(s => s.NextValue())); }
public void Init(Core core) { mCore = core; mCore.CameraUpdated += new Action<Core, CameraUpdateEventArgs>(mCore_CameraUpdated); mTickListener = new Action(mCore_Tick); ExperimentalConfig cfg = new ExperimentalConfig(); if (cfg.ExperimentFile != null && File.Exists(cfg.ExperimentFile)) Load(cfg.ExperimentFile); else { mMap = new Bitmap("Images/Maps/OrthogonalMap.png"); mLeftScaleX = (mScaleX - 1f) / 2f; mLeftScaleY = (mScaleY - 1f) / 2f; } }
public Stats(DateTime timestamp, ExperimentalConfig config) { mConfig = config; TimeStamp = timestamp; }
public static void ReplaceSettingsFile(ViewerConfig viewerConfig, string file, ExperimentalConfig config, ILog Logger) { string filename = Path.GetFileName(file); try { File.Copy(file, Path.Combine(config.UserSettingsFolder, filename), true); Logger.Info("Copied " + file + " to " + config.UserSettingsFolder + "."); } catch (IOException e) { Logger.Fatal("Unable to copy settings file from stored directory (" + Path.GetDirectoryName(config.SettingsFile) + ") to user settings folder (" + config.UserSettingsFolder + ").", e); Environment.Exit(-1); } if (viewerConfig.ViewerArguments.Contains("--settings")) { viewerConfig.ViewerArguments.Replace(@"--settings .*xml", "--settings " + filename); //viewerConfig.ViewerArguments = Regex.Replace(viewerConfig.ViewerArguments, @"--settings .*xml", "--settings " + filename); } else { viewerConfig.ViewerArguments += " --settings " + filename; } }