public DiagnoseOutputViewModel(IDiagnoseOutputEntry diagnoseOutputEntry, long extraGap) { _diagnoseOutputViewModels = new ReactiveCollection <IDiagnoseOutputViewModel>(); StartTimeStamp = diagnoseOutputEntry.TimeStamp; Gap = diagnoseOutputEntry.Gap; Duration = diagnoseOutputEntry.Duration; ProcessId = diagnoseOutputEntry.ProcessId; ThreadNumber = diagnoseOutputEntry.ThreadNumber; Type = diagnoseOutputEntry.Type; Domain = diagnoseOutputEntry.Domain; Application = diagnoseOutputEntry.Application; Component = diagnoseOutputEntry.Component; Module = diagnoseOutputEntry.Module; Code = diagnoseOutputEntry.Code; Text = diagnoseOutputEntry.Text; MetaInformation = diagnoseOutputEntry.MetaInformation; ExtraGap = extraGap; TotalDuration = diagnoseOutputEntry.Duration; _totalDurationWithoutLastOpenBracketDiagnoseOutputViewModel = diagnoseOutputEntry.Duration; if (diagnoseOutputEntry.Type == DiagnoseType.StartBracketOutput) { IsBracketOpen = true; } }
public void ProcessNewDiagnoseOutputEntry(IDiagnoseOutputEntry entry, long extraGap) { var output = DiagnoseOutputViewModels.SingleOrDefault(x => x.IsBracketOpen); if (output == null) { output = new DiagnoseOutputViewModel(entry, extraGap); if (entry.Type == DiagnoseType.EndBracketOutput) { IsBracketOpen = false; EndTimeStamp = entry.TimeStamp; } else { DiagnoseOutputViewModels.Add(output); } } else { output.ProcessNewDiagnoseOutputEntry(entry, extraGap); } if (output.IsBracketOpen) { TotalDuration = _totalDurationWithoutLastOpenBracketDiagnoseOutputViewModel + output.GapExtraGapAndTotalDuration; } else { _totalDurationWithoutLastOpenBracketDiagnoseOutputViewModel += output.GapExtraGapAndTotalDuration; TotalDuration = _totalDurationWithoutLastOpenBracketDiagnoseOutputViewModel; } }
public DiagnoseOutputViewModel(IDiagnoseOutputEntry diagnoseOutputEntry, long extraGap) { _diagnoseOutputViewModels = new ReactiveCollection<IDiagnoseOutputViewModel>(); StartTimeStamp = diagnoseOutputEntry.TimeStamp; Gap = diagnoseOutputEntry.Gap; Duration = diagnoseOutputEntry.Duration; ProcessId = diagnoseOutputEntry.ProcessId; ThreadNumber = diagnoseOutputEntry.ThreadNumber; Type = diagnoseOutputEntry.Type; Domain = diagnoseOutputEntry.Domain; Application = diagnoseOutputEntry.Application; Component = diagnoseOutputEntry.Component; Module = diagnoseOutputEntry.Module; Code = diagnoseOutputEntry.Code; Text = diagnoseOutputEntry.Text; MetaInformation = diagnoseOutputEntry.MetaInformation; ExtraGap = extraGap; TotalDuration = diagnoseOutputEntry.Duration; _totalDurationWithoutLastOpenBracketDiagnoseOutputViewModel = diagnoseOutputEntry.Duration; if (diagnoseOutputEntry.Type == DiagnoseType.StartBracketOutput) { IsBracketOpen = true; } }
public ProcessViewModel(IDiagnoseOutputEntry entry, long totalDuration) { Threads = new ReactiveCollection <IThreadViewModel>(); ProcessId = entry.ProcessId; TotalDuration = totalDuration; ProcessNewDiagnoseOutputEntry(entry); }
public ProcessViewModel(IDiagnoseOutputEntry entry, long totalDuration) { Threads = new ReactiveCollection<IThreadViewModel>(); ProcessId = entry.ProcessId; TotalDuration = totalDuration; ProcessNewDiagnoseOutputEntry(entry); }
public ThreadViewModel(IDiagnoseOutputEntry diagnoseOutputEntry, long totalDuration) { DiagnoseOutputViewModels = new ReactiveCollection<IDiagnoseOutputViewModel>(); ThreadNumber = diagnoseOutputEntry.ThreadNumber; TotalDuration = totalDuration; _totalDurationWithoutLastOpenBracketDiagnoseOutputViewModel = 0; _totalDurationWithoutExtraGap = 0; ProcessNewDiagnoseOutputEntry(diagnoseOutputEntry); }
public ThreadViewModel(IDiagnoseOutputEntry diagnoseOutputEntry, long totalDuration) { DiagnoseOutputViewModels = new ReactiveCollection <IDiagnoseOutputViewModel>(); ThreadNumber = diagnoseOutputEntry.ThreadNumber; TotalDuration = totalDuration; _totalDurationWithoutLastOpenBracketDiagnoseOutputViewModel = 0; _totalDurationWithoutExtraGap = 0; ProcessNewDiagnoseOutputEntry(diagnoseOutputEntry); }
/// <summary> /// Processes a new <see cref="IDiagnoseOutputEntry" />. /// </summary> /// <param name="diagnoseOutputEntry"> /// An <see cref="IDiagnoseOutputEntry" /> which should be processed by the <see cref="IInformationEngine" />. /// </param> /// <param name="sessionId"> /// The id of the <see cref="ISession" />. /// </param> public void ProcessNewDiagnoseOutputEntry(IDiagnoseOutputEntry diagnoseOutputEntry, Guid sessionId) { if (Application.Current.Dispatcher.CheckAccess()) { Sessions.Single(x => x.Id == sessionId).DiagnoseOutputEntries.Add(diagnoseOutputEntry); } else { Application.Current.Dispatcher.BeginInvoke(DispatcherPriority.Normal, new Action( () => Sessions.Single(x => x.Id == sessionId) .DiagnoseOutputEntries.Add( diagnoseOutputEntry))); } }
public void ProcessNewDiagnoseOutputEntry(IDiagnoseOutputEntry diagnoseOutputEntry) { var thread = Threads.SingleOrDefault(x => x.ThreadNumber == diagnoseOutputEntry.ThreadNumber); if (thread == null) { thread = new ThreadViewModel(diagnoseOutputEntry, TotalDuration); Threads.Add(thread); } else { thread.ProcessNewDiagnoseOutputEntry(diagnoseOutputEntry); } TotalDuration = thread.TotalDuration; }
public void ProcessNewDiagnoseOutputEntry(IDiagnoseOutputEntry diagnoseOutputEntry) { var process = Processes.SingleOrDefault(x => x.ProcessId == diagnoseOutputEntry.ProcessId); if (process == null) { process = new ProcessViewModel(diagnoseOutputEntry, TotalDuration); Processes.Add(process); ProcessIsShownChanged(process); } else { process.ProcessNewDiagnoseOutputEntry(diagnoseOutputEntry); } TotalDuration = process.TotalDuration; foreach (ProcessViewModel p in Processes) { p.UpdateTotalDuration(TotalDuration); } }
public void ProcessNewDiagnoseOutputEntry(IDiagnoseOutputEntry entry) { var output = DiagnoseOutputViewModels.SingleOrDefault(x => x.IsBracketOpen); if (output == null) { output = new DiagnoseOutputViewModel(entry, TotalDuration - TotalDurationWithoutExtraGap); DiagnoseOutputViewModels.Add(output); } else { output.ProcessNewDiagnoseOutputEntry(entry, TotalDuration - TotalDurationWithoutExtraGap); } if (output.IsBracketOpen) { TotalDurationWithoutExtraGap = TotalDuration = _totalDurationWithoutLastOpenBracketDiagnoseOutputViewModel + output.GapExtraGapAndTotalDuration; } else { _totalDurationWithoutLastOpenBracketDiagnoseOutputViewModel += output.GapExtraGapAndTotalDuration; TotalDurationWithoutExtraGap = TotalDuration = _totalDurationWithoutLastOpenBracketDiagnoseOutputViewModel; } }
public void ProcessNewDiagnoseOutputEntry(IDiagnoseOutputEntry diagnoseOutputEntry) { ((SequenceDiagram)View).ViewModel.ProcessNewDiagnoseOutputEntry(diagnoseOutputEntry); }
public void ProcessNewDiagnoseOutputEntry(IDiagnoseOutputEntry diagnoseOutputEntry) { ((SequenceDiagram) View).ViewModel.ProcessNewDiagnoseOutputEntry(diagnoseOutputEntry); }
public void ProcessNewDiagnoseOutputEntry(IDiagnoseOutputEntry entry) { var output = DiagnoseOutputViewModels.SingleOrDefault(x => x.IsBracketOpen); if (output == null) { output = new DiagnoseOutputViewModel(entry, TotalDuration - TotalDurationWithoutExtraGap); DiagnoseOutputViewModels.Add(output); } else { output.ProcessNewDiagnoseOutputEntry(entry, TotalDuration - TotalDurationWithoutExtraGap); } if(output.IsBracketOpen) { TotalDurationWithoutExtraGap = TotalDuration = _totalDurationWithoutLastOpenBracketDiagnoseOutputViewModel + output.GapExtraGapAndTotalDuration; } else { _totalDurationWithoutLastOpenBracketDiagnoseOutputViewModel += output.GapExtraGapAndTotalDuration; TotalDurationWithoutExtraGap = TotalDuration = _totalDurationWithoutLastOpenBracketDiagnoseOutputViewModel; } }