1 instantiation of SpanWaterfallViewModel
Aspire.Dashboard (1)
Model\Otlp\SpanWaterfallViewModel.cs (1)
181var viewModel = new SpanWaterfallViewModel
68 references to SpanWaterfallViewModel
Aspire.Dashboard (42)
Components\Controls\Chart\PlotlyChart.razor.cs (1)
159title = SpanWaterfallViewModel.GetTitle(exemplar.Span, Resources);
Components\Controls\SpanActions.razor.cs (1)
31public required SpanWaterfallViewModel SpanViewModel { get; set; }
Components\Dialogs\ExemplarsDialog.razor.cs (1)
57? SpanWaterfallViewModel.GetTitle(exemplar.Span, Content.Resources)
Components\Pages\TraceDetail.razor.cs (21)
35private List<SpanWaterfallViewModel>? _spanWaterfallViewModels; 41private FluentDataGrid<SpanWaterfallViewModel> _dataGrid = null!; 164internal ValueTask<GridItemsProviderResult<SpanWaterfallViewModel>> GetData(GridItemsProviderRequest<SpanWaterfallViewModel> request) 174return ValueTask.FromResult(new GridItemsProviderResult<SpanWaterfallViewModel> 181private IEnumerable<SpanWaterfallViewModel> GetVisibleSpanViewModels() 185var visibleViewModels = new HashSet<SpanWaterfallViewModel>(); 186foreach (var viewModel in _spanWaterfallViewModels) 196foreach (var descendent in matchedDescendents.Where(d => !d.IsHidden)) 231var spanVm = _spanWaterfallViewModels.SingleOrDefault(vm => vm.Span.SpanId == SpanId); 246if (_dataGrid != null && FluentDataGridHelper<SpanWaterfallViewModel>.TrySetMaxItemCount(_dataGrid, 10_000)) 287_spanWaterfallViewModels = SpanWaterfallViewModel.Create(_trace, result.Items, new SpanWaterfallViewModel.TraceDetailState(OutgoingPeerResolvers.ToArray(), _collapsedSpanIds)); 353private string GetRowClass(SpanWaterfallViewModel viewModel) 370private async Task OnToggleCollapse(SpanWaterfallViewModel viewModel) 376private void SetSpanCollapsedState(SpanWaterfallViewModel viewModel, bool isCollapsed) 404private async Task OnShowPropertiesAsync(SpanWaterfallViewModel viewModel, string? buttonId) 463foreach (var viewModel in _spanWaterfallViewModels) 482foreach (var viewModel in _spanWaterfallViewModels) 510private static bool IsGenAISpan(SpanWaterfallViewModel spanViewModel) 529foreach (var vm in visibleSpanViewModels.Where(IsGenAISpan))
Model\GenAI\GenAIVisualizerDialogViewModel.cs (1)
48Title = SpanWaterfallViewModel.GetTitle(spanDetailsViewModel.Span, spanDetailsViewModel.Resources),
Model\Otlp\SpanWaterfallViewModel.cs (16)
13public required List<SpanWaterfallViewModel> Children { get; init; } 51public bool MatchesFilter(string filter, TelemetryFilter? typeFilter, Func<OtlpResourceView, string> getResourceName, [NotNullWhen(true)] out IEnumerable<SpanWaterfallViewModel>? matchedDescendents) 59foreach (var child in Children) 71bool Filter(SpanWaterfallViewModel viewModel) 92static IEnumerable<SpanWaterfallViewModel> GetWithDescendents(SpanWaterfallViewModel s) 94var stack = new Stack<SpanWaterfallViewModel>(); 99var current = stack.Pop(); 102foreach (var child in current.Children) 113foreach (var child in Children) 119private readonly record struct SpanWaterfallViewModelState(SpanWaterfallViewModel? Parent, int Depth, bool Hidden); 128public static List<SpanWaterfallViewModel> Create(OtlpTrace trace, List<OtlpLogEntry> logs, TraceDetailState state) 130var orderedSpans = new List<SpanWaterfallViewModel>(); 137var viewModel = CreateViewModel(span, s.Depth, s.Hidden, state, spanLogs, ref currentSpanLogIndex); 147static SpanWaterfallViewModel CreateViewModel(OtlpSpan span, int depth, bool hidden, TraceDetailState state, List<OtlpLogEntry>? spanLogs, ref int currentSpanLogIndex) 181var viewModel = new SpanWaterfallViewModel
Model\SpanDetailsViewModel.cs (1)
42Title = SpanWaterfallViewModel.GetTitle(span, resources),
Aspire.Dashboard.Components.Tests (6)
Pages\TraceDetailsTests.cs (6)
142var grid = cut.FindComponent<FluentDataGrid<SpanWaterfallViewModel>>(); 156var grid = cut.FindComponent<FluentDataGrid<SpanWaterfallViewModel>>(); 210var grid = cut.FindComponent<FluentDataGrid<SpanWaterfallViewModel>>(); 237var grid = cut.FindComponent<FluentDataGrid<SpanWaterfallViewModel>>(); 292var grid = cut.FindComponent<FluentDataGrid<SpanWaterfallViewModel>>(); 382var data = await cut.Instance.GetData(new GridItemsProviderRequest<SpanWaterfallViewModel>());
Aspire.Dashboard.Tests (20)
Model\SpanWaterfallViewModelTests.cs (20)
32var vm = SpanWaterfallViewModel.Create(trace, [], new SpanWaterfallViewModel.TraceDetailState([], [])); 63var vm = SpanWaterfallViewModel.Create(trace, [log], new SpanWaterfallViewModel.TraceDetailState([], [])); 92var vm = SpanWaterfallViewModel.Create(trace, [], new SpanWaterfallViewModel.TraceDetailState([new BrowserLinkOutgoingPeerResolver()], [])); 142var vm = SpanWaterfallViewModel.Create( 145new SpanWaterfallViewModel.TraceDetailState([], [])).First(); 202var vm = SpanWaterfallViewModel.Create( 205new SpanWaterfallViewModel.TraceDetailState([], [])).First(); 237var vms = SpanWaterfallViewModel.Create(trace, [], new SpanWaterfallViewModel.TraceDetailState([], [])); 238var parent = vms[0]; 239var child = vms[1]; 259var vms = SpanWaterfallViewModel.Create(trace, [], new SpanWaterfallViewModel.TraceDetailState([], [])); 260var parent = vms[0]; 261var child = vms[1];