コード例 #1
0
 public void TearDown()
 {
     _taskScheduler.Dispose();
     PendingTask.GetActivePeriodicTimersCount().Should().Be(0);
     PendingTask.GetActivePeriodicSlTimersCount().Should().Be(0);
     PendingTask.GetExecutingActionsCount().Should().Be(0);
     PendingTask.GetActiveTimersCount().Should().Be(0);
 }
コード例 #2
0
        private void CollectMemoryAndThreadsUsage()
        {
            Metrics.Measure.Histogram.Update(Gen0Collections, GC.CollectionCount(0));
            Metrics.Measure.Histogram.Update(Gen1Collections, GC.CollectionCount(1));
            Metrics.Measure.Histogram.Update(Gen2Collections, GC.CollectionCount(2));
            Metrics.Measure.Histogram.Update(GcTotalMemory, GC.GetTotalMemory(false));

            Metrics.Measure.Histogram.Update(PendingTasks, TaskScheduler.GetGlobalScheduledOnceTasksCount());
            Metrics.Measure.Histogram.Update(ExecutingTask, PendingTask.GetExecutingActionsCount());
            Metrics.Measure.Histogram.Update(ActiveTimers, PendingTask.GetActiveTimersCount());
            Metrics.Measure.Histogram.Update(ActivePeriodicTimers, PendingTask.GetActivePeriodicTimersCount());
            Metrics.Measure.Histogram.Update(ActivePeriodicSlTimers, PendingTask.GetActivePeriodicSlTimersCount());
        }
コード例 #3
0
        public void TestActionExecutionCounting()
        {
            using (var taskScheduler2 = new TaskScheduler(Mock.Of <IShamanLogger>()))
            {
                _taskScheduler.Schedule(() => { Thread.Sleep(100); }, 10);
                _taskScheduler.Schedule(() => { Thread.Sleep(100); }, 10);
                taskScheduler2.Schedule(() => { Thread.Sleep(100); }, 10);
                Thread.Sleep(20);

                // schedulers tasks triggers only in second
                PendingTask.GetExecutingActionsCount().Should().Be(3);
            }
            Thread.Sleep(100);// wait task ends
        }