56 references to Spans
Aspire.Dashboard (36)
Components\Pages\TraceDetail.razor.cs (2)
321Logger.LogInformation("Trace '{TraceId}' has {SpanCount} spans.", _trace.TraceId, _trace.Spans.Count); 326foreach (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)
3105__builder4.AddContent(421, 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)
53var spanData = trace.Spans.Select(s => new 77["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\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)
89foreach (var span in trace.Spans) 554foreach (var span in t.Spans) 614foreach (var span in t.Spans) 737foreach (var span in trace.Spans) 857foreach (var span in trace.Spans) 1142foreach (var span in trace.Spans) 1208foreach (var span in trace.Spans)
Aspire.Dashboard.Tests (20)
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,