71 references to Spans
Aspire.Dashboard (44)
Api\TelemetryApiService.cs (5)
54allSpans.AddRange(result.PagedResult.Items.SelectMany(t => t.Spans)); 133traces = traces.Where(t => t.Spans.Any(s => s.Status == OtlpSpanStatusCode.Error)).ToList(); 137traces = traces.Where(t => !t.Spans.Any(s => s.Status == OtlpSpanStatusCode.Error)).ToList(); 149var spans = traces.SelectMany(t => t.Spans).ToList(); 182var spans = trace.Spans.ToList();
Components\Pages\TraceDetail.razor.cs (2)
304Logger.LogInformation("Trace '{TraceId}' has {SpanCount} spans.", _trace.TraceId, _trace.Spans.Count); 309foreach (var span in _trace.Spans)
Components\Pages\Traces.razor.cs (1)
256if (entry.Spans.Any(span => span.Status == OtlpSpanStatusCode.Error))
Components_Pages_TraceDetail_razor.g.cs (1)
3128__builder4.AddContent(422, trace.Spans.Count
Mcp\AspireTelemetryMcpTools.cs (1)
120traces = traces.Where(t => !optOutResources.Any(r => t.Spans.Any(s => s.Source.ResourceKey.EqualsCompositeName(r.Name)))).ToList();
Model\Assistant\AIHelpers.cs (2)
50var spanData = trace.Spans.Select(s => new 74["has_error"] = trace.Spans.Any(s => s.Status == OtlpSpanStatusCode.Error),
Model\Assistant\Markdown\AspireEnrichmentParser.cs (1)
202var span = trace.Spans.FirstOrDefault(s => OtlpHelpers.MatchTelemetryId(text, s.SpanId));
Model\SpanDetailsViewModel.cs (1)
68var linkSpan = trace?.Spans.FirstOrDefault(s => s.SpanId == spanId);
Model\TelemetryExportService.cs (2)
303var allSpans = traces.SelectMany(t => t.Spans).ToList(); 335var spansByResourceAndScope = trace.Spans
Model\TraceHelpers.cs (2)
21foreach (var item in trace.Spans) 23if (string.IsNullOrEmpty(item.ParentSpanId) || !trace.Spans.TryGetValue(item.ParentSpanId, out var parentSpan))
Model\TracesViewModel.cs (1)
97_currentDataHasErrors = result.PagedResult.Items.Any(t => t.Spans.Any(s => s.Status == OtlpSpanStatusCode.Error));
Otlp\Model\OtlpSpan.cs (2)
48public IEnumerable<OtlpSpan> GetChildSpans() => GetChildSpans(this, Trace.Spans); 66if (Trace.Spans.TryGetValue(ParentSpanId, out var span))
Otlp\Model\OtlpTrace.cs (15)
18public OtlpSpan FirstSpan => Spans[0]; // There should always be at least one span in a trace. 38public int CalculateMaxDepth() => Spans.Max(CalculateDepth); 42if (Spans.Contains(span.SpanId)) 48for (var i = Spans.Count - 1; i >= 0; i--) 50if (span.StartTime > Spans[i].StartTime) 52Spans.Insert(i + 1, span); 59Spans.Insert(0, span); 64Spans.Remove(span); 72foreach (var existingSpan in Spans) 82else if (_rootSpan == null && span == Spans[0]) 130for (var i = 0; i < Spans.Count; i++) 132var span = Spans[i]; 153foreach (var item in trace.Spans) 165foreach (var span in Spans) 177return $@"TraceId = ""{TraceId}"", Spans = {Spans.Count}, StartDate = {FirstSpan?.StartTime.ToLocalTime():yyyy:MM:dd}, StartTime = {FirstSpan?.StartTime.ToLocalTime():h:mm:ss.fff tt}, Duration = {Duration}";
Otlp\Storage\TelemetryRepository.cs (7)
95foreach (var span in trace.Spans) 631foreach (var span in t.Spans) 691foreach (var span in t.Spans) 906foreach (var span in trace.Spans) 1026foreach (var span in trace.Spans) 1326foreach (var span in trace.Spans) 1392foreach (var span in trace.Spans)
Otlp\Storage\TelemetryRepository.Watchers.cs (1)
78foreach (var span in trace.Spans)
Aspire.Dashboard.Components.Tests (3)
Controls\GenAIVisualizerDialogTests.cs (3)
158var span = trace.Spans[0]; 242var span = trace.Spans[0]; 256return currentTrace?.Spans.ToList() ?? [];
Aspire.Dashboard.Tests (24)
Integration\OtlpHttpJsonTests.cs (2)
443Assert.Single(trace.Spans); 445var span = trace.Spans.First();
Model\TelemetryExportServiceTests.cs (2)
758var span = repository.GetTraces(GetTracesRequest.ForResourceKey(repository.GetResources()[0].ResourceKey)).PagedResult.Items[0].Spans[0]; 810var span = repository.GetTraces(GetTracesRequest.ForResourceKey(repository.GetResources()[0].ResourceKey)).PagedResult.Items[0].Spans[0];
TelemetryRepositoryTests\TraceTests.cs (20)
93Assert.Equal(2, trace.Spans.Count); 204Assert.Equal(2, trace.Spans.Count); 259Assert.Equal(2, trace.Spans.Count); 333Assert.Equal(2, trace.Spans.Count); 335Assert.Collection(trace.Spans, 507Assert.Collection(trace.Spans, 754Assert.NotSame(traces1.PagedResult.Items[0].Spans[0].Trace, traces2.PagedResult.Items[0].Spans[0].Trace); 759Assert.NotSame(trace1.Spans[0].Trace, trace2.Spans[0].Trace); 877Assert.Collection(trace.Spans, 1058Assert.Equal(3, trace.Spans.Count); 1522Assert.Collection(trace.Spans, 1725Assert.Collection(trace.Spans, 1738Assert.Collection(trace.Spans, 1828Assert.Collection(trace.Spans, 1920Assert.Collection(trace.Spans, 1990Assert.Collection(trace.Spans, 2069Assert.Collection(trace.Spans, 2111Assert.Collection(trace.Spans,