public IQueryable <CharacterClassViewModel> GetClasses() { var metricInfo = new HiPerfMetric("CharacterClassService.GetClasses"); var classes = GetClasses(metricInfo); _logger.Debug(metricInfo.ReportAsDefault()); return(classes); }
public async Task <IHttpActionResult> Get() { var timer = new HiPerfMetric("Get all classes"); timer.Start("Getting classes"); var classes = await Task.Run(() => _characterClassService.GetClasses(timer.StartChildMetric("Service"))); timer.Stop(); _logger.Debug(timer.ReportAsDefault()); return(Ok(classes)); }
public void PerformanceImpactTest() { // Arrange var realMetric = new HiPerfMetric("PerformanceImpactTest"); const int iterations = 1000; // Act realMetric.Start(); for (var i = 0; i < iterations; i++) { var testMetric = new HiPerfMetric("Test"); testMetric.Start("Step 1"); testMetric.Stop(); testMetric.Start("Step 2"); testMetric.Stop(); testMetric.Start("Step 3"); testMetric.Stop(); } realMetric.Stop(); // Assert Console.WriteLine(realMetric.ReportAsDefault()); Console.WriteLine($"Each three step metric took {(realMetric.TotalTimeInSeconds * 1000000f)/(double)iterations} microseconds"); }