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