68 references to Spans
Aspire.Dashboard (41)
Api\TelemetryApiService.cs (5)
57allSpans.AddRange(result.PagedResult.Items.SelectMany(t => t.Spans)); 136traces = traces.Where(t => t.Spans.Any(s => s.Status == OtlpSpanStatusCode.Error)).ToList(); 140traces = traces.Where(t => !t.Spans.Any(s => s.Status == OtlpSpanStatusCode.Error)).ToList(); 152var spans = traces.SelectMany(t => t.Spans).ToList(); 185var 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))
Mcp\AspireTelemetryMcpTools.cs (1)
121traces = traces.Where(t => !optOutResources.Any(r => t.Spans.Any(s => s.Source.ResourceKey.EqualsCompositeName(r.Name)))).ToList();
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)
310var allSpans = traces.SelectMany(t => t.Spans).ToList(); 342var 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)
890var span = repository.GetTraces(GetTracesRequest.ForResourceKey(repository.GetResources()[0].ResourceKey)).PagedResult.Items[0].Spans[0]; 942var 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,