public void ProcessEvent(IDEEvent @event) { if (@event.ActiveDocument != null && _currentIntervals.ContainsKey(@event.ActiveDocument)) { _context.AdaptIntervalTimeData(_currentIntervals[@event.ActiveDocument], @event); } var documentEvent = @event as DocumentEvent; if (documentEvent != null && documentEvent.Document != null) { if (_currentIntervals.ContainsKey(documentEvent.Document)) { _context.AdaptIntervalTimeData(_currentIntervals[documentEvent.Document], @event); if (documentEvent.Action == DocumentAction.Closing) { _intervals.Add(_currentIntervals[documentEvent.Document]); _currentIntervals.Remove(documentEvent.Document); } } else { if (documentEvent.Action == DocumentAction.Opened) { _currentIntervals[documentEvent.Document] = _context.CreateIntervalFromEvent <FileOpenInterval>(@event); _currentIntervals[documentEvent.Document].FileName = documentEvent.Document.FileName; } } } }
private void CreateNewInterval(IDEEvent e, FileInteractionType classification) { _intervals.Add(_cur = _context.CreateIntervalFromEvent <FileInteractionInterval>(e)); _cur.FileName = e.ActiveDocument.FileName; _cur.Type = classification; TransformerUtils.SetDocumentTypeIfNecessary(_cur, e); // initial }
public void ProcessEvent(IDEEvent e) { Asserts.That(e.TriggeredAt.HasValue); Asserts.That(e.TerminatedAt.HasValue); if (IsFocusGain(e)) { _hasFocus = true; } if (!_hasFocus) { return; } if (_cur == null) { _intervals.Add(_cur = _context.CreateIntervalFromEvent <VisualStudioActiveInterval>(e)); } _context.UpdateDurationForIntervalToMaximum(_cur, e.TerminatedAt.Value); if (IsFocusLost(e)) { EndCurrentInterval(e); } }
public void ProcessEvent(IDEEvent e) { if (_intervals.ContainsKey(e.IDESessionUUID)) { _context.AdaptIntervalTimeData(_intervals[e.IDESessionUUID], e); } else { _intervals.Add( e.IDESessionUUID, _context.CreateIntervalFromEvent <VisualStudioOpenedInterval>(e)); } }
public void ProcessEvent(IDEEvent e) { Asserts.That(e.TriggeredAt.HasValue); Asserts.That(e.TerminatedAt.HasValue); var curEnd = e.TerminatedAt.Value; if (IsTimeout(e)) { curInt = null; } if (curInt == null) { _intervals.Add(curInt = _context.CreateIntervalFromEvent <UserActiveInterval>(e)); } _context.UpdateDurationForIntervalToMaximum(curInt, curEnd); }
public void ProcessEvent(IDEEvent @event) { if (_currentInterval != null && _currentInterval.Perspective == PerspectiveType.Production && MarksStartOfDebugSession(@event)) { _currentInterval = null; } if (_currentInterval == null) { _currentInterval = _context.CreateIntervalFromEvent <PerspectiveInterval>(@event); if (_currentInterval.StartTime < _referenceTime) { _currentInterval.Duration -= _referenceTime - _currentInterval.StartTime; _currentInterval.StartTime = _referenceTime; } _intervals.Add(_currentInterval); _currentInterval.Perspective = MarksStartOfDebugSession(@event) ? PerspectiveType.Debug : PerspectiveType.Production; } else { _context.AdaptIntervalTimeData(_currentInterval, @event); _referenceTime = @event.TerminatedAt.GetValueOrDefault(); if (MarksEndOfDebugSession(@event)) { _currentInterval = null; } } }
public void ProcessEvent(IDEEvent @event) { Asserts.That(@event.TriggeredAt.HasValue); var testRunEvent = @event as TestRunEvent; if (testRunEvent != null) { var testsByProject = testRunEvent.Tests.GroupBy(t => t.TestMethod.DeclaringType.Assembly.Name); foreach (var testProject in testsByProject) { var interval = _context.CreateIntervalFromEvent <TestRunInterval>(@event); interval.ProjectName = testProject.Key; foreach (var testClass in testProject.GroupBy(p => p.TestMethod.DeclaringType.FullName)) { var testClassResult = new TestRunInterval.TestClassResult { TestClassName = testClass.Key }; var firstStarted = DateTimeOffset.MaxValue; var lastEnded = DateTimeOffset.MinValue; foreach (var testMethod in testClass) { // TODO untested ( if (testMethod.StartTime.HasValue) { var delta = Math.Round((@event.TriggeredAt.Value - testMethod.StartTime.Value).TotalHours); var now = DateTime.Now; var detltaTs = now.AddHours(delta) - now; testMethod.StartTime = testMethod.StartTime.Value + detltaTs; } var startedAt = testMethod.StartTime ?? @event.TriggeredAt.Value; var endedAt = startedAt + testMethod.Duration; if (startedAt < firstStarted) { firstStarted = startedAt; } if (endedAt > lastEnded) { lastEnded = endedAt; } // ) var testMethodResult = new TestRunInterval.TestMethodResult { TestMethodName = testMethod.TestMethod.Name + testMethod.Parameters, // TODO untested StartedAt = startedAt, Duration = testMethod.Duration, Result = testMethod.Result }; testClassResult.TestMethods.Add(testMethodResult); testClassResult.Result = UpdateCumulativeTestResult( testClassResult.Result, testMethod.Result); interval.Result = UpdateCumulativeTestResult( testClassResult.Result, testMethod.Result); } // untested ( testClassResult.StartedAt = firstStarted; testClassResult.Duration = lastEnded - firstStarted; // ) interval.TestClasses.Add(testClassResult); interval.Duration += testClassResult.Duration; } _currentIntervals.Add(interval); } } }