1 instantiation of SpanWaterfallViewModel
Aspire.Dashboard (1)
Model\Otlp\SpanWaterfallViewModel.cs (1)
181var viewModel = new SpanWaterfallViewModel
94 references to SpanWaterfallViewModel
Aspire.Dashboard (68)
Components\Controls\Chart\PlotlyChart.razor.cs (1)
159title = SpanWaterfallViewModel.GetTitle(exemplar.Span, Resources);
Components\Controls\SpanActions.razor.cs (1)
46public required SpanWaterfallViewModel SpanViewModel { get; set; }
Components\Dialogs\ExemplarsDialog.razor.cs (1)
57? SpanWaterfallViewModel.GetTitle(exemplar.Span, Content.Resources)
Components\Pages\TraceDetail.razor.cs (21)
37private List<SpanWaterfallViewModel>? _spanWaterfallViewModels; 43private FluentDataGrid<SpanWaterfallViewModel> _dataGrid = null!; 174internal ValueTask<GridItemsProviderResult<SpanWaterfallViewModel>> GetData(GridItemsProviderRequest<SpanWaterfallViewModel> request) 184return ValueTask.FromResult(new GridItemsProviderResult<SpanWaterfallViewModel> 191private IEnumerable<SpanWaterfallViewModel> GetVisibleSpanViewModels() 195var visibleViewModels = new HashSet<SpanWaterfallViewModel>(); 196foreach (var viewModel in _spanWaterfallViewModels) 206foreach (var descendent in matchedDescendents.Where(d => !d.IsHidden)) 244var spanVm = _spanWaterfallViewModels.SingleOrDefault(vm => vm.Span.SpanId == SpanId); 277if (_dataGrid != null && FluentDataGridHelper<SpanWaterfallViewModel>.TrySetMaxItemCount(_dataGrid, 10_000)) 322_spanWaterfallViewModels = SpanWaterfallViewModel.Create(_trace, result.Items, new SpanWaterfallViewModel.TraceDetailState(OutgoingPeerResolvers.ToArray(), _collapsedSpanIds, _resources)); 388private string GetRowClass(SpanWaterfallViewModel viewModel) 405private async Task OnToggleCollapse(SpanWaterfallViewModel viewModel) 411private void SetSpanCollapsedState(SpanWaterfallViewModel viewModel, bool isCollapsed) 439private async Task OnShowPropertiesAsync(SpanWaterfallViewModel viewModel, string? buttonId) 498foreach (var viewModel in _spanWaterfallViewModels) 517foreach (var viewModel in _spanWaterfallViewModels) 545private static bool IsGenAISpan(SpanWaterfallViewModel spanViewModel) 565foreach (var vm in visibleSpanViewModels.Where(IsGenAISpan))
Components_Controls_SpanDetails_razor.g.cs (1)
2162? SpanWaterfallViewModel.GetTitle(context.Span, ViewModel.Resources)
Components_Pages_TraceDetail_razor.g.cs (25)
1186SpanWaterfallViewModel 1192__builder4.AddComponentParameter(123, nameof(global::Microsoft.FluentUI.AspNetCore.Components.FluentDataGrid<SpanWaterfallViewModel>. 1209__builder4.AddComponentParameter(124, nameof(global::Microsoft.FluentUI.AspNetCore.Components.FluentDataGrid<SpanWaterfallViewModel>. 1226__builder4.AddComponentParameter(125, nameof(global::Microsoft.FluentUI.AspNetCore.Components.FluentDataGrid<SpanWaterfallViewModel>. 1235__builder4.AddComponentParameter(126, nameof(global::Microsoft.FluentUI.AspNetCore.Components.FluentDataGrid<SpanWaterfallViewModel>. 1252__builder4.AddComponentParameter(127, nameof(global::Microsoft.FluentUI.AspNetCore.Components.FluentDataGrid<SpanWaterfallViewModel>. 1260), (global::Microsoft.FluentUI.AspNetCore.Components.GridItemsProvider<SpanWaterfallViewModel>)( 1269__builder4.AddComponentParameter(128, nameof(global::Microsoft.FluentUI.AspNetCore.Components.FluentDataGrid<SpanWaterfallViewModel>. 1277), (global::System.Func<SpanWaterfallViewModel, global::System.String>)( 1286__builder4.AddComponentParameter(129, nameof(global::Microsoft.FluentUI.AspNetCore.Components.FluentDataGrid<SpanWaterfallViewModel>. 1303__builder4.AddComponentParameter(130, nameof(global::Microsoft.FluentUI.AspNetCore.Components.FluentDataGrid<SpanWaterfallViewModel>. 1320__builder4.AddComponentParameter(131, nameof(global::Microsoft.FluentUI.AspNetCore.Components.FluentDataGrid<SpanWaterfallViewModel>. 1337__builder4.AddComponentParameter(132, nameof(global::Microsoft.FluentUI.AspNetCore.Components.FluentDataGrid<SpanWaterfallViewModel>. 1354__builder4.AddComponentParameter(133, nameof(global::Microsoft.FluentUI.AspNetCore.Components.FluentDataGrid<SpanWaterfallViewModel>. 1362), (global::System.Func<SpanWaterfallViewModel, global::System.Object>)( 1371__builder4.AddComponentParameter(134, nameof(global::Microsoft.FluentUI.AspNetCore.Components.FluentDataGrid<SpanWaterfallViewModel>. 1379), global::Microsoft.AspNetCore.Components.CompilerServices.RuntimeHelpers.TypeCheck<global::Microsoft.AspNetCore.Components.EventCallback<global::Microsoft.FluentUI.AspNetCore.Components.FluentDataGridRow<SpanWaterfallViewModel>>>(global::Microsoft.AspNetCore.Components.EventCallback.Factory.Create<global::Microsoft.FluentUI.AspNetCore.Components.FluentDataGridRow<SpanWaterfallViewModel>>(this, 1389global::__Blazor.Aspire.Dashboard.Components.Pages.TraceDetail.TypeInference.CreateAspireTemplateColumn_1(__builder5, 136, default(SpanWaterfallViewModel)!, 137, 2019global::__Blazor.Aspire.Dashboard.Components.Pages.TraceDetail.TypeInference.CreateAspireTemplateColumn_4(__builder5, 200, default(SpanWaterfallViewModel)!, 201, 2103global::__Blazor.Aspire.Dashboard.Components.Pages.TraceDetail.TypeInference.CreateAspireTemplateColumn_5(__builder5, 215, default(SpanWaterfallViewModel)!, 216, 2587__builder6.AddContent(338, SpanWaterfallViewModel.GetTitle(context.Span, _resources) 2618global::__Blazor.Aspire.Dashboard.Components.Pages.TraceDetail.TypeInference.CreateAspireTemplateColumn_6(__builder5, 345, default(SpanWaterfallViewModel)!, 346, 2682), global::Microsoft.AspNetCore.Components.CompilerServices.RuntimeHelpers.TypeCheck<global::Aspire.Dashboard.Model.Otlp.SpanWaterfallViewModel>( 2744= (global::Microsoft.FluentUI.AspNetCore.Components.FluentDataGrid<SpanWaterfallViewModel>)__value;
Model\GenAI\GenAIVisualizerDialogViewModel.cs (1)
60Title = 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)
143var grid = cut.FindComponent<FluentDataGrid<SpanWaterfallViewModel>>(); 157var grid = cut.FindComponent<FluentDataGrid<SpanWaterfallViewModel>>(); 211var grid = cut.FindComponent<FluentDataGrid<SpanWaterfallViewModel>>(); 238var grid = cut.FindComponent<FluentDataGrid<SpanWaterfallViewModel>>(); 293var grid = cut.FindComponent<FluentDataGrid<SpanWaterfallViewModel>>(); 383var 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];