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)
162title = SpanWaterfallViewModel.GetTitle(exemplar.Span, Resources);
Components\Controls\SpanActions.razor.cs (1)
30public required SpanWaterfallViewModel SpanViewModel { get; set; }
Components\Dialogs\ExemplarsDialog.razor.cs (1)
56? SpanWaterfallViewModel.GetTitle(exemplar.Span, Content.Resources)
Components\Pages\TraceDetail.razor.cs (21)
37private List<SpanWaterfallViewModel>? _spanWaterfallViewModels; 43private FluentDataGrid<SpanWaterfallViewModel> _dataGrid = null!; 169internal ValueTask<GridItemsProviderResult<SpanWaterfallViewModel>> GetData(GridItemsProviderRequest<SpanWaterfallViewModel> request) 179return ValueTask.FromResult(new GridItemsProviderResult<SpanWaterfallViewModel> 186private IEnumerable<SpanWaterfallViewModel> GetVisibleSpanViewModels() 190var visibleViewModels = new HashSet<SpanWaterfallViewModel>(); 191foreach (var viewModel in _spanWaterfallViewModels) 201foreach (var descendent in matchedDescendents.Where(d => !d.IsHidden)) 239var spanVm = _spanWaterfallViewModels.SingleOrDefault(vm => vm.Span.SpanId == SpanId); 272if (_dataGrid != null && FluentDataGridHelper<SpanWaterfallViewModel>.TrySetMaxItemCount(_dataGrid, 10_000)) 305_spanWaterfallViewModels = SpanWaterfallViewModel.Create(_trace, result, new SpanWaterfallViewModel.TraceDetailState(OutgoingPeerResolvers.ToArray(), _collapsedSpanIds, _resources)); 371private string GetRowClass(SpanWaterfallViewModel viewModel) 388private async Task OnToggleCollapse(SpanWaterfallViewModel viewModel) 394private void SetSpanCollapsedState(SpanWaterfallViewModel viewModel, bool isCollapsed) 422private async Task OnShowPropertiesAsync(SpanWaterfallViewModel viewModel, string? buttonId) 481foreach (var viewModel in _spanWaterfallViewModels) 500foreach (var viewModel in _spanWaterfallViewModels) 528private static bool IsGenAISpan(SpanWaterfallViewModel spanViewModel) 546foreach (var vm in visibleSpanViewModels.Where(IsGenAISpan))
Model\GenAI\GenAIVisualizerDialogViewModel.cs (1)
62Title = 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)
50Title = SpanWaterfallViewModel.GetTitle(span, resources),
Aspire.Dashboard.Components.Tests (6)
Pages\TraceDetailsTests.cs (6)
136var grid = cut.FindComponent<FluentDataGrid<SpanWaterfallViewModel>>(); 150var grid = cut.FindComponent<FluentDataGrid<SpanWaterfallViewModel>>(); 204var grid = cut.FindComponent<FluentDataGrid<SpanWaterfallViewModel>>(); 231var grid = cut.FindComponent<FluentDataGrid<SpanWaterfallViewModel>>(); 286var grid = cut.FindComponent<FluentDataGrid<SpanWaterfallViewModel>>(); 376var 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];