4 writes to SpanId
Aspire.Dashboard (2)
Otlp\Model\OtlpSpan.cs (1)
85
SpanId
= item.SpanId,
Otlp\Storage\TelemetryRepository.cs (1)
1260
SpanId
= id,
Aspire.Dashboard.Components.Tests (1)
tests\Shared\Telemetry\TelemetryTestHelpers.cs (1)
320
SpanId
= spanId,
Aspire.Dashboard.Tests (1)
tests\Shared\Telemetry\TelemetryTestHelpers.cs (1)
320
SpanId
= spanId,
97 references to SpanId
Aspire.Dashboard (48)
Components\Controls\SpanActions.razor.cs (2)
66
NavigationManager.NavigateTo(DashboardUrls.StructuredLogsUrl(spanId: SpanViewModel.Span.
SpanId
));
82
AIPromptsLoc.GetString(nameof(AIPrompts.PromptAnalyzeSpan), OtlpHelpers.ToShortenedId(SpanViewModel.Span.
SpanId
)),
Components\Controls\SpanDetails.razor.cs (3)
114
NavigationManager.NavigateTo(DashboardUrls.StructuredLogsUrl(spanId: ViewModel.Span.
SpanId
));
135
if (!string.Equals(ViewModel.Span.
SpanId
, _viewModel?.Span.
SpanId
, StringComparisons.OtlpSpanId))
Components\Dialogs\GenAIVisualizerDialog.razor.cs (4)
70
_currentSpanContextIndex = _contextSpans.FindIndex(s => s.
SpanId
== Content.Span.
SpanId
);
85
var span = _contextSpans.Find(s => s.
SpanId
== Content.Span.
SpanId
)!;
Components\Pages\TraceDetail.razor.cs (7)
244
var spanVm = _spanWaterfallViewModels.SingleOrDefault(vm => vm.Span.
SpanId
== SpanId);
391
if (SelectedData?.SpanViewModel is { } selectedSpan && selectedSpan.Span.
SpanId
== viewModel.Span.
SpanId
)
418
_collapsedSpanIds.Add(viewModel.Span.
SpanId
);
422
_collapsedSpanIds.Remove(viewModel.Span.
SpanId
);
443
if (SelectedData?.SpanViewModel?.Span.
SpanId
== viewModel.Span.
SpanId
)
Components_Pages_TraceDetail_razor.g.cs (4)
1084
subtitle = OtlpHelpers.ToShortenedId(spanVm.Span.
SpanId
);
1371
r => r.Span.
SpanId
2283
var buttonId = $"{context.Span.
SpanId
}-{item.LogEntry.InternalId}";
2660
var id = context.Span.
SpanId
;
Model\Assistant\AIHelpers.cs (4)
53
span_id = OtlpHelpers.ToShortenedId(s.
SpanId
),
56
name = context.AddValue(s.Name, id => $@"Duplicate of ""name"" for span {OtlpHelpers.ToShortenedId(id)}", s.
SpanId
),
58
status_message = context.AddValue(s.StatusMessage, id => $@"Duplicate of ""status_message"" for span {OtlpHelpers.ToShortenedId(id)}", s.
SpanId
),
63
.ToDictionary(a => a.Key, a => context.AddValue(MapOtelAttributeValue(a), id => $@"Duplicate of attribute ""{id.Key}"" for span {OtlpHelpers.ToShortenedId(id.SpanId)}", (s.
SpanId
, a.Key))),
Model\Assistant\Markdown\AspireEnrichmentParser.cs (3)
202
var span = trace.Spans.FirstOrDefault(s => OtlpHelpers.MatchTelemetryId(text, s.
SpanId
));
207
Url = DashboardUrls.TraceDetailUrl(trace.TraceId, span.
SpanId
),
210
linkInline.AppendChild(new CodeInline(OtlpHelpers.ToShortenedId(span.
SpanId
)));
Model\Assistant\Prompts\IceBreakersBuilder.cs (2)
310
_loc.GetString(nameof(AIPrompts.PromptAnalyzeSpan), OtlpHelpers.ToShortenedId(span.
SpanId
)),
315
_loc.GetString(nameof(AIPrompts.PromptAnalyzeSpan), OtlpHelpers.ToShortenedId(span.
SpanId
)),
Model\Assistant\Prompts\KnownChatMessages.cs (1)
312
Summarize the distributed span `{OtlpHelpers.ToShortenedId(span.
SpanId
)}`. Focus on errors.
Model\GenAI\GenAIVisualizerDialogViewModel.cs (2)
82
errorRecorder.RecordError($"Error reading GenAI telemetry messages for span {viewModel.Span.
SpanId
}", ex, writeToLogging: true);
399
Value = span.
SpanId
Model\Otlp\SpanWaterfallViewModel.cs (3)
86
return viewModel.Span.
SpanId
.Contains(filter, StringComparison.CurrentCultureIgnoreCase)
136
groupedLogs.TryGetValue(span.
SpanId
, out var spanLogs);
194
if (state.CollapsedSpanIds.Contains(span.
SpanId
))
Model\SpanDetailsViewModel.cs (1)
68
var linkSpan = trace?.Spans.FirstOrDefault(s => s.
SpanId
== spanId);
Otlp\Model\OtlpSpan.cs (5)
49
public static IEnumerable<OtlpSpan> GetChildSpans(OtlpSpan parentSpan, OtlpSpanCollection spans) => spans.Where(s => s.ParentSpanId == parentSpan.
SpanId
);
85
SpanId = item.
SpanId
,
106
new OtlpDisplayField { DisplayName = "SpanId", Key = KnownTraceFields.SpanIdField, Value =
SpanId
},
162
return $@"SpanId = {
SpanId
}, StartTime = {StartTime.ToLocalTime():h:mm:ss.fff tt}, ParentSpanId = {ParentSpanId}, Resource = {Source.ResourceKey}, UninstrumentedPeerResource = {UninstrumentedPeer?.ResourceKey}, TraceId = {Trace.TraceId}";
236
KnownTraceFields.SpanIdField => span.
SpanId
,
Otlp\Model\OtlpSpanCollection.cs (1)
19
return item.
SpanId
;
Otlp\Model\OtlpTrace.cs (3)
42
if (Spans.Contains(span.
SpanId
))
44
throw new InvalidOperationException($"Duplicate span id '{span.
SpanId
}' detected.");
65
throw new InvalidOperationException($"Circular loop detected for span '{span.
SpanId
}' with parent '{span.ParentSpanId}'.");
Otlp\Storage\TelemetryRepository.cs (3)
859
if (span.
SpanId
== spanId)
1006
if (existingLink.SpanId == newSpan.
SpanId
&& existingLink.TraceId == newSpan.TraceId)
1214
throw new InvalidOperationException($"Couldn't find expected link from span {span.
SpanId
} to span {link.SpanId}.");
Aspire.Dashboard.Tests (49)
Model\SpanWaterfallViewModelTests.cs (7)
38
Assert.Equal("1", e.Span.
SpanId
);
39
Assert.Equal("1-1", Assert.Single(e.Children).Span.
SpanId
);
43
Assert.Equal("1-1", e.Span.
SpanId
);
69
Assert.Equal("31", e.Span.
SpanId
);
98
Assert.Equal("1", e.Span.
SpanId
);
103
Assert.Equal("2", e.Span.
SpanId
);
265
Assert.Equal("child", Assert.Single(descendents).Span.
SpanId
);
TelemetryRepositoryTests\TraceTests.cs (42)
91
AssertId("1-1", trace.FirstSpan.
SpanId
);
92
AssertId("1-1", trace.RootSpan!.
SpanId
);
331
AssertId("1-1", trace.FirstSpan.
SpanId
);
332
AssertId("1-1", trace.RootSpan!.
SpanId
);
408
AssertId("2-1", trace.FirstSpan.
SpanId
);
409
AssertId("2-1", trace.RootSpan!.
SpanId
);
414
AssertId("1-2", trace.FirstSpan.
SpanId
);
450
AssertId("1-1", trace.FirstSpan.
SpanId
);
452
AssertId("1-1", trace.RootSpan!.
SpanId
);
457
AssertId("2-1", trace.FirstSpan.
SpanId
);
459
AssertId("2-1", trace.RootSpan!.
SpanId
);
505
AssertId("1-1", trace.FirstSpan.
SpanId
);
506
AssertId("1-1", trace.RootSpan!.
SpanId
);
508
s => AssertId("1-1", s.
SpanId
),
509
s => AssertId("1-2", s.
SpanId
),
510
s => AssertId("1-3", s.
SpanId
),
511
s => AssertId("1-4", s.
SpanId
),
512
s => AssertId("1-5", s.
SpanId
));
574
AssertId("1-1", trace.FirstSpan.
SpanId
);
651
AssertId("1-1", trace.FirstSpan.
SpanId
);
741
AssertId("1-1", trace.FirstSpan.
SpanId
);
742
AssertId("1-1", trace.RootSpan!.
SpanId
);
825
AssertId("1-1", trace.FirstSpan.
SpanId
);
1056
AssertId("1-2", trace.FirstSpan.
SpanId
); // First by time
1057
AssertId("1-3", trace.RootSpan!.
SpanId
); // First by time and without a parent
1525
AssertId("1-1", s.
SpanId
);
1535
AssertId("1-2", s.
SpanId
);
1550
AssertId("1-3", s.
SpanId
);
1728
AssertId("2-1", s.
SpanId
);
1732
AssertId("2-2", s.
SpanId
);
1741
AssertId("3-1", s.
SpanId
);
1745
AssertId("3-2", s.
SpanId
);
1831
AssertId("3-1", s.
SpanId
);
1835
AssertId("3-2", s.
SpanId
);
1923
AssertId("3-1", s.
SpanId
);
1927
AssertId("3-2", s.
SpanId
);
1993
AssertId("1-1", s.
SpanId
);
1998
AssertId("1-2", s.
SpanId
);
2072
AssertId("1-1", s.
SpanId
);
2077
AssertId("1-2", s.
SpanId
);
2114
AssertId("1-1", s.
SpanId
);
2119
AssertId("1-2", s.
SpanId
);