/// <summary>Sets up StartupProgress to final state after startup sequence has completed. /// </summary> /// <param name="prog">StartupProgress to set</param> public static void SetStartupProgressForFinalState(StartupProgress prog) { prog.BeginPhase(Phase.LoadingFsimage); Step loadingFsImageInodes = new Step(StepType.Inodes); prog.BeginStep(Phase.LoadingFsimage, loadingFsImageInodes); prog.SetTotal(Phase.LoadingFsimage, loadingFsImageInodes, 100L); IncrementCounter(prog, Phase.LoadingFsimage, loadingFsImageInodes, 100L); prog.EndStep(Phase.LoadingFsimage, loadingFsImageInodes); prog.EndPhase(Phase.LoadingFsimage); prog.BeginPhase(Phase.LoadingEdits); Step loadingEditsFile = new Step("file", 1000L); prog.BeginStep(Phase.LoadingEdits, loadingEditsFile); prog.SetTotal(Phase.LoadingEdits, loadingEditsFile, 200L); IncrementCounter(prog, Phase.LoadingEdits, loadingEditsFile, 200L); prog.EndStep(Phase.LoadingEdits, loadingEditsFile); prog.EndPhase(Phase.LoadingEdits); prog.BeginPhase(Phase.SavingCheckpoint); Step savingCheckpointInodes = new Step(StepType.Inodes); prog.BeginStep(Phase.SavingCheckpoint, savingCheckpointInodes); prog.SetTotal(Phase.SavingCheckpoint, savingCheckpointInodes, 300L); IncrementCounter(prog, Phase.SavingCheckpoint, savingCheckpointInodes, 300L); prog.EndStep(Phase.SavingCheckpoint, savingCheckpointInodes); prog.EndPhase(Phase.SavingCheckpoint); prog.BeginPhase(Phase.Safemode); Step awaitingBlocks = new Step(StepType.AwaitingReportedBlocks); prog.BeginStep(Phase.Safemode, awaitingBlocks); prog.SetTotal(Phase.Safemode, awaitingBlocks, 400L); IncrementCounter(prog, Phase.Safemode, awaitingBlocks, 400L); prog.EndStep(Phase.Safemode, awaitingBlocks); prog.EndPhase(Phase.Safemode); }
/// <summary>Sets up StartupProgress to a state part-way through the startup sequence. /// </summary> /// <param name="prog">StartupProgress to set</param> public static void SetStartupProgressForRunningState(StartupProgress prog) { prog.BeginPhase(Phase.LoadingFsimage); Step loadingFsImageInodes = new Step(StepType.Inodes); prog.BeginStep(Phase.LoadingFsimage, loadingFsImageInodes); prog.SetTotal(Phase.LoadingFsimage, loadingFsImageInodes, 100L); IncrementCounter(prog, Phase.LoadingFsimage, loadingFsImageInodes, 100L); prog.EndStep(Phase.LoadingFsimage, loadingFsImageInodes); prog.EndPhase(Phase.LoadingFsimage); prog.BeginPhase(Phase.LoadingEdits); Step loadingEditsFile = new Step("file", 1000L); prog.BeginStep(Phase.LoadingEdits, loadingEditsFile); prog.SetTotal(Phase.LoadingEdits, loadingEditsFile, 200L); IncrementCounter(prog, Phase.LoadingEdits, loadingEditsFile, 100L); }
public virtual void TestCounter() { startupProgress.BeginPhase(Phase.LoadingFsimage); Step loadingFsImageInodes = new Step(StepType.Inodes); startupProgress.BeginStep(Phase.LoadingFsimage, loadingFsImageInodes); StartupProgressTestHelper.IncrementCounter(startupProgress, Phase.LoadingFsimage, loadingFsImageInodes, 100L); startupProgress.EndStep(Phase.LoadingFsimage, loadingFsImageInodes); Step loadingFsImageDelegationKeys = new Step(StepType.DelegationKeys); startupProgress.BeginStep(Phase.LoadingFsimage, loadingFsImageDelegationKeys); StartupProgressTestHelper.IncrementCounter(startupProgress, Phase.LoadingFsimage, loadingFsImageDelegationKeys, 200L); startupProgress.EndStep(Phase.LoadingFsimage, loadingFsImageDelegationKeys); startupProgress.EndPhase(Phase.LoadingFsimage); startupProgress.BeginPhase(Phase.LoadingEdits); Step loadingEditsFile = new Step("file", 1000L); startupProgress.BeginStep(Phase.LoadingEdits, loadingEditsFile); StartupProgressTestHelper.IncrementCounter(startupProgress, Phase.LoadingEdits, loadingEditsFile , 5000L); StartupProgressView view = startupProgress.CreateView(); NUnit.Framework.Assert.IsNotNull(view); NUnit.Framework.Assert.AreEqual(100L, view.GetCount(Phase.LoadingFsimage, loadingFsImageInodes )); NUnit.Framework.Assert.AreEqual(200L, view.GetCount(Phase.LoadingFsimage, loadingFsImageDelegationKeys )); NUnit.Framework.Assert.AreEqual(5000L, view.GetCount(Phase.LoadingEdits, loadingEditsFile )); NUnit.Framework.Assert.AreEqual(0L, view.GetCount(Phase.SavingCheckpoint, new Step (StepType.Inodes))); // Increment a counter again and check that the existing view was not // modified, but a new view shows the updated value. StartupProgressTestHelper.IncrementCounter(startupProgress, Phase.LoadingEdits, loadingEditsFile , 1000L); startupProgress.EndStep(Phase.LoadingEdits, loadingEditsFile); startupProgress.EndPhase(Phase.LoadingEdits); NUnit.Framework.Assert.AreEqual(5000L, view.GetCount(Phase.LoadingEdits, loadingEditsFile )); view = startupProgress.CreateView(); NUnit.Framework.Assert.IsNotNull(view); NUnit.Framework.Assert.AreEqual(6000L, view.GetCount(Phase.LoadingEdits, loadingEditsFile )); }