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)
1365r => r.Span.SpanId 1441var isServerOrConsumer = context.Span.Kind == OtlpSpanKind.Server || context.Span.Kind == OtlpSpanKind.Consumer; 1453spanNameContainerStyle = $"margin-left: 5px; border-left-color: {ColorGenerator.Instance.GetColorVariableByKey(GetResourceName(context.Span.Source))}; border-left-width: 5px; border-left-style: solid; padding-left: 9px;"; 1651ColorGenerator.Instance.GetColorVariableByKey(GetResourceName(context.Span.Source)) 1659TraceHelpers.TryGetSpanIcon(context.Span, IconVariant.Filled) 1763context.Span.GetDisplaySummary() 1802if (context.Span.Attributes.HasKey("db.system")) 1806else if (context.Span.Attributes.HasKey("messaging.system")) 1969() => OnGenAIClickedAsync(context.Span) 2054c => GetResourceName(c.Span.Source) 2092GetResourceName(context.Span.Source) 2232var spanColor = @ColorGenerator.Instance.GetColorVariableByKey(GetResourceName(context.Span.Source)); 2277var buttonId = $"{context.Span.SpanId}-{item.LogEntry.InternalId}"; 2587__builder6.AddContent(338, SpanWaterfallViewModel.GetTitle(context.Span, _resources) 2599__builder6.AddContent(342, DurationFormatter.FormatDuration(context.Span.Duration) 2654var 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)
387item => Assert.Equal("Test span. Id: 1-1", item.Span.Name), 388item => Assert.Equal("Test span. Id: 2-1", item.Span.Name), 389item => Assert.Equal("Test span. Id: 3-1", item.Span.Name), 390item => Assert.Equal("Test span. Id: 3-2", item.Span.Name), 391item => 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);