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)
159
title =
SpanWaterfallViewModel
.GetTitle(exemplar.Span, Resources);
Components\Controls\SpanActions.razor.cs (1)
31
public required
SpanWaterfallViewModel
SpanViewModel { get; set; }
Components\Dialogs\ExemplarsDialog.razor.cs (1)
57
?
SpanWaterfallViewModel
.GetTitle(exemplar.Span, Content.Resources)
Components\Pages\TraceDetail.razor.cs (21)
35
private List<
SpanWaterfallViewModel
>? _spanWaterfallViewModels;
41
private FluentDataGrid<
SpanWaterfallViewModel
> _dataGrid = null!;
164
internal ValueTask<GridItemsProviderResult<
SpanWaterfallViewModel
>> GetData(GridItemsProviderRequest<
SpanWaterfallViewModel
> request)
174
return ValueTask.FromResult(new GridItemsProviderResult<
SpanWaterfallViewModel
>
181
private IEnumerable<
SpanWaterfallViewModel
> GetVisibleSpanViewModels()
185
var visibleViewModels = new HashSet<
SpanWaterfallViewModel
>();
186
foreach (
var
viewModel in _spanWaterfallViewModels)
196
foreach (
var
descendent in matchedDescendents.Where(d => !d.IsHidden))
231
var
spanVm = _spanWaterfallViewModels.SingleOrDefault(vm => vm.Span.SpanId == SpanId);
246
if (_dataGrid != null && FluentDataGridHelper<
SpanWaterfallViewModel
>.TrySetMaxItemCount(_dataGrid, 10_000))
287
_spanWaterfallViewModels =
SpanWaterfallViewModel
.Create(_trace, result.Items, new
SpanWaterfallViewModel
.TraceDetailState(OutgoingPeerResolvers.ToArray(), _collapsedSpanIds));
353
private string GetRowClass(
SpanWaterfallViewModel
viewModel)
370
private async Task OnToggleCollapse(
SpanWaterfallViewModel
viewModel)
376
private void SetSpanCollapsedState(
SpanWaterfallViewModel
viewModel, bool isCollapsed)
404
private async Task OnShowPropertiesAsync(
SpanWaterfallViewModel
viewModel, string? buttonId)
463
foreach (
var
viewModel in _spanWaterfallViewModels)
482
foreach (
var
viewModel in _spanWaterfallViewModels)
510
private static bool IsGenAISpan(
SpanWaterfallViewModel
spanViewModel)
529
foreach (
var
vm in visibleSpanViewModels.Where(IsGenAISpan))
Model\GenAI\GenAIVisualizerDialogViewModel.cs (1)
48
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)
42
Title =
SpanWaterfallViewModel
.GetTitle(span, resources),
Aspire.Dashboard.Components.Tests (6)
Pages\TraceDetailsTests.cs (6)
142
var grid = cut.FindComponent<FluentDataGrid<
SpanWaterfallViewModel
>>();
156
var grid = cut.FindComponent<FluentDataGrid<
SpanWaterfallViewModel
>>();
210
var grid = cut.FindComponent<FluentDataGrid<
SpanWaterfallViewModel
>>();
237
var grid = cut.FindComponent<FluentDataGrid<
SpanWaterfallViewModel
>>();
292
var grid = cut.FindComponent<FluentDataGrid<
SpanWaterfallViewModel
>>();
382
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];