1 write to Span
Aspire.Dashboard (1)
Model\GenAI\GenAIVisualizerDialogViewModel.cs (1)
62Span = spanDetailsViewModel.Span,
25 references to Span
Aspire.Dashboard (25)
Components\Dialogs\GenAIVisualizerDialog.razor.cs (5)
84_tracesSubscription = TelemetryRepository.OnNewTraces(Content.Span.Source.ResourceKey, SubscriptionType.Read, UpdateDialogData); 85_logsSubscription = TelemetryRepository.OnNewLogs(Content.Span.Source.ResourceKey, SubscriptionType.Read, UpdateDialogData); 96_currentSpanContextIndex = _contextSpans.FindIndex(s => s.SpanId == Content.Span.SpanId); 111var hasUpdatedTrace = TelemetryRepository.HasUpdatedTrace(Content.Span.Trace); 119var span = newContextSpans.Find(s => s.SpanId == Content.Span.SpanId)!;
Model\GenAI\GenAIVisualizerDialogViewModel.cs (20)
73viewModel.ModelName = viewModel.Span.Attributes.GetValue(GenAIHelpers.GenAIResponseModel); 74viewModel.InputTokens = viewModel.Span.Attributes.GetValueAsInteger(GenAIHelpers.GenAIUsageInputTokens); 75viewModel.OutputTokens = viewModel.Span.Attributes.GetValueAsInteger(GenAIHelpers.GenAIUsageOutputTokens); 78var toolDefinitionsJson = viewModel.Span.Attributes.GetValue(GenAIHelpers.GenAIToolDefinitions); 122errorRecorder.RecordError($"Error parsing tool definitions for span {viewModel.Span.SpanId}", ex, writeToLogging: true); 135errorRecorder.RecordError($"Error reading GenAI telemetry messages for span {viewModel.Span.SpanId}", ex, writeToLogging: true); 164errorRecorder.RecordError($"Error parsing GenAI evaluation results for span {viewModel.Span.SpanId}", ex, writeToLogging: true); 168if (viewModel.Span.Status == OtlpSpanStatusCode.Error) 172viewModel.Span.Attributes.GetValue("error.type"), 173viewModel.Span.StatusMessage); 180Parent = viewModel.Span, 285var systemInstructions = viewModel.Span.Attributes.GetValue(GenAIHelpers.GenAISystemInstructions); 286var inputMessages = viewModel.Span.Attributes.GetValue(GenAIHelpers.GenAIInputMessages); 287var outputMessages = viewModel.Span.Attributes.GetValue(GenAIHelpers.GenAIOutputInstructions); 315var logEntries = await GetSpanLogEntriesAsync(telemetryRepository, viewModel.Span, cancellationToken).ConfigureAwait(false); 332foreach (var (item, index) in viewModel.Span.Events.OrderBy(i => i.Time).Select((l, i) => (l, i))) 394var attributes = viewModel.Span.Attributes; 497Parent = viewModel.Span, 622var logEntries = await GetSpanLogEntriesAsync(telemetryRepository, viewModel.Span, cancellationToken).ConfigureAwait(false); 636foreach (var spanEvent in viewModel.Span.Events)