55 references to Spans
Aspire.Dashboard (35)
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)
3099__builder4.AddContent(421, trace.Spans.Count
Model\Assistant\AIHelpers.cs (2)
45var spanData = trace.Spans.Select(s => new 67has_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,