1 write to Span
Aspire.Dashboard (1)
Model\Otlp\SpanWaterfallViewModel.cs (1)
184Span = span,
46 references to Span
Aspire.Dashboard (34)
Components\Controls\SpanActions.razor.cs (3)
66NavigationManager.NavigateTo(DashboardUrls.StructuredLogsUrl(spanId: SpanViewModel.Span.SpanId)); 82AIPromptsLoc.GetString(nameof(AIPrompts.PromptAnalyzeSpan), OtlpHelpers.ToShortenedId(SpanViewModel.Span.SpanId)), 83SpanViewModel.Span));
Components\Pages\TraceDetail.razor.cs (8)
244var spanVm = _spanWaterfallViewModels.SingleOrDefault(vm => vm.Span.SpanId == SpanId); 391if (SelectedData?.SpanViewModel is { } selectedSpan && selectedSpan.Span.SpanId == viewModel.Span.SpanId) 418_collapsedSpanIds.Add(viewModel.Span.SpanId); 422_collapsedSpanIds.Remove(viewModel.Span.SpanId); 443if (SelectedData?.SpanViewModel?.Span.SpanId == viewModel.Span.SpanId) 449var spanDetailsViewModel = SpanDetailsViewModel.Create(viewModel.Span, TelemetryRepository, _resources); 547return GenAIHelpers.IsGenAISpan(spanViewModel.Span.Attributes); 567genAISpans.Add(vm.Span);
Components_Pages_TraceDetail_razor.g.cs (17)
1371r => r.Span.SpanId 1447var isServerOrConsumer = context.Span.Kind == OtlpSpanKind.Server || context.Span.Kind == OtlpSpanKind.Consumer; 1459spanNameContainerStyle = $"margin-left: 5px; border-left-color: {ColorGenerator.Instance.GetColorVariableByKey(GetResourceName(context.Span.Source))}; border-left-width: 5px; border-left-style: solid; padding-left: 9px;"; 1657ColorGenerator.Instance.GetColorVariableByKey(GetResourceName(context.Span.Source)) 1665TraceHelpers.TryGetSpanIcon(context.Span, IconVariant.Filled) 1769context.Span.GetDisplaySummary() 1808if (context.Span.Attributes.HasKey("db.system")) 1812else if (context.Span.Attributes.HasKey("messaging.system")) 1975() => OnGenAIClickedAsync(context.Span) 2060c => GetResourceName(c.Span.Source) 2098GetResourceName(context.Span.Source) 2238var spanColor = @ColorGenerator.Instance.GetColorVariableByKey(GetResourceName(context.Span.Source)); 2283var buttonId = $"{context.Span.SpanId}-{item.LogEntry.InternalId}"; 2593__builder6.AddContent(338, SpanWaterfallViewModel.GetTitle(context.Span, _resources) 2605__builder6.AddContent(342, DurationFormatter.FormatDuration(context.Span.Duration) 2660var id = context.Span.SpanId;
Model\Otlp\SpanWaterfallViewModel.cs (6)
24public bool IsError => Span.Status == OtlpSpanStatusCode.Error; 38var tooltip = GetTitle(Span, allResources); 75if (!typeFilter.Apply(viewModel.Span)) 86return viewModel.Span.SpanId.Contains(filter, StringComparison.CurrentCultureIgnoreCase) 87|| getResourceName(viewModel.Span.Source).Contains(filter, StringComparison.CurrentCultureIgnoreCase) 88|| viewModel.Span.GetDisplaySummary().Contains(filter, StringComparison.CurrentCultureIgnoreCase)
Aspire.Dashboard.Components.Tests (5)
Pages\TraceDetailsTests.cs (5)
383item => Assert.Equal("Test span. Id: 1-1", item.Span.Name), 384item => Assert.Equal("Test span. Id: 2-1", item.Span.Name), 385item => Assert.Equal("Test span. Id: 3-1", item.Span.Name), 386item => Assert.Equal("Test span. Id: 3-2", item.Span.Name), 387item => Assert.Equal("Test span. Id: 3-3", item.Span.Name));
Aspire.Dashboard.Tests (7)
Model\SpanWaterfallViewModelTests.cs (7)
38Assert.Equal("1", e.Span.SpanId); 39Assert.Equal("1-1", Assert.Single(e.Children).Span.SpanId); 43Assert.Equal("1-1", e.Span.SpanId); 69Assert.Equal("31", e.Span.SpanId); 98Assert.Equal("1", e.Span.SpanId); 103Assert.Equal("2", e.Span.SpanId); 265Assert.Equal("child", Assert.Single(descendents).Span.SpanId);