2 writes to Items
Aspire.Dashboard (2)
Otlp\Model\OtlpHelpers.cs (1)
442Items = items,
Otlp\Storage\PagedResult.cs (1)
11Items = new List<T>(),
149 references to Items
Aspire.Dashboard (28)
Api\TelemetryApiService.cs (4)
57allSpans.AddRange(result.PagedResult.Items.SelectMany(t => t.Spans)); 128allTraces.AddRange(result.PagedResult.Items); 179var trace = result.PagedResult.Items.FirstOrDefault(t => OtlpHelpers.MatchTelemetryId(t.TraceId, traceId)); 252allLogs.AddRange(result.Items);
Components\Pages\StructuredLogs.razor.cs (2)
165return GridItemsProviderResult.From(logs.Items, logs.TotalItemCount); 607foreach (var l in logs.Items.DistinctBy(l => (l.SpanId, l.TraceId)))
Components\Pages\Traces.razor.cs (1)
164return GridItemsProviderResult.From(traces.Items, traces.TotalItemCount);
Mcp\AspireTelemetryMcpTools.cs (3)
63}).Items; 114}).PagedResult.Items; 167var otlpData = TelemetryExportService.ConvertLogsToOtlpJson(logs.Items);
Model\Assistant\AssistantChatDataContext.cs (3)
134var otlpData = TelemetryExportService.ConvertLogsToOtlpJson(logs.Items); 178var spans = TelemetryExportService.ConvertTracesToOtlpJson(traces.PagedResult.Items, _outgoingPeerResolvers.ToArray()).ResourceSpans; 217var otlpData = TelemetryExportService.ConvertLogsToOtlpJson(logs.Items);
Model\Assistant\Prompts\PromptContextsBuilder.cs (4)
17foreach (var trace in errorTraces.Items) 24KnownChatMessages.Traces.CreateErrorTracesMessage(errorTraces.Items, outgoingPeerResolvers, promptContext.DashboardOptions, r => OtlpHelpers.GetResourceName(r, resources)).Text); 34foreach (var log in errorLogs.Items) 41KnownChatMessages.StructuredLogs.CreateErrorStructuredLogsMessage(errorLogs.Items, promptContext.DashboardOptions, r => OtlpHelpers.GetResourceName(r, resources)).Text);
Model\GenAI\GenAIVisualizerDialogViewModel.cs (1)
580return logsResult.Items;
Model\StructuredLogsViewModel.cs (1)
124_currentDataHasErrors = logs.Items.Any(i => i.Severity >= Microsoft.Extensions.Logging.LogLevel.Error);
Model\TelemetryExportService.cs (4)
164if (logs.Items.Count == 0) 170var logsJson = ConvertLogsToOtlpJson(logs.Items); 181if (tracesResponse.PagedResult.Items.Count == 0) 187var tracesJson = ConvertTracesToOtlpJson(tracesResponse.PagedResult.Items, _outgoingPeerResolvers);
Model\TracesViewModel.cs (1)
97_currentDataHasErrors = result.PagedResult.Items.Any(t => t.Spans.Any(s => s.Status == OtlpSpanStatusCode.Error));
Otlp\Storage\TelemetryRepository.cs (2)
508return GetLogs(logsContext).Items; 533return GetLogs(logsContext).Items;
Otlp\Storage\TelemetryRepository.Watchers.cs (2)
76foreach (var trace in existingTraces.PagedResult.Items) 167foreach (var log in existingLogs.Items)
Aspire.Dashboard.Components.Tests (3)
Controls\GenAIVisualizerDialogTests.cs (3)
157var trace = tracesResult.PagedResult.Items[0]; 241var trace = tracesResult.PagedResult.Items[0]; 254}).PagedResult.Items.FirstOrDefault(t => t.TraceId == trace.TraceId);
Aspire.Dashboard.Tests (118)
Integration\OtlpHttpJsonTests.cs (6)
439Assert.NotEmpty(traces.PagedResult.Items); 441var trace = traces.PagedResult.Items.First(); 499Assert.NotEmpty(logs.Items); 501var log = logs.Items.First(); 576Assert.NotEmpty(logs.Items); 578var log = logs.Items.First();
Model\TelemetryExportServiceTests.cs (16)
61var result = TelemetryExportService.ConvertLogsToOtlpJson(logs.Items); 122var result = TelemetryExportService.ConvertLogsToOtlpJson(logs.Items); 130Assert.Equal(logs.Items[0].InternalId.ToString(CultureInfo.InvariantCulture), logIdAttribute.Value?.StringValue); 169var result = TelemetryExportService.ConvertLogsToOtlpJson(logs.Items); 241var result = TelemetryExportService.ConvertLogsToOtlpJson(logs.Items); 295var result = TelemetryExportService.ConvertTracesToOtlpJson(traces.PagedResult.Items, []); 361var result = TelemetryExportService.ConvertTracesToOtlpJson(traces.PagedResult.Items, []); 414var result = TelemetryExportService.ConvertTracesToOtlpJson(traces.PagedResult.Items, [outgoingPeerResolver]); 457var result = TelemetryExportService.ConvertTracesToOtlpJson(traces.PagedResult.Items, []); 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]; 943var logs = repository.GetLogs(GetLogsContext.ForResourceKey(repository.GetResources()[0].ResourceKey)).Items; 1002var trace = repository.GetTraces(GetTracesRequest.ForResourceKey(repository.GetResources()[0].ResourceKey)).PagedResult.Items[0]; 1003var logs = repository.GetLogs(GetLogsContext.ForResourceKey(repository.GetResources()[0].ResourceKey)).Items; 1043var trace = repository.GetTraces(GetTracesRequest.ForResourceKey(repository.GetResources()[0].ResourceKey)).PagedResult.Items[0]; 1079var logEntry = repository.GetLogs(GetLogsContext.ForResourceKey(repository.GetResources()[0].ResourceKey)).Items[0];
Model\TelemetryImportServiceTests.cs (15)
70Assert.Single(logs.Items); 71Assert.Equal("Test log message", logs.Items[0].Message); 94Assert.Single(traces.PagedResult.Items); 293var exportedJson = TelemetryExportService.ConvertLogsToOtlpJson(logs.Items); 312Assert.Single(importedLogs.Items); 313Assert.Equal("Round trip test", importedLogs.Items[0].Message); 314Assert.Equal(Microsoft.Extensions.Logging.LogLevel.Warning, importedLogs.Items[0].Severity); 342var originalInternalId = logs.Items[0].InternalId; 345var exportedJson = TelemetryExportService.ConvertLogsToOtlpJson(logs.Items); 366Assert.Single(importedLogs.Items); 369Assert.DoesNotContain(importedLogs.Items[0].Attributes, a => a.Key == OtlpHelpers.AspireLogIdAttribute); 372Assert.NotEqual(originalInternalId, importedLogs.Items[0].InternalId); 375Assert.Contains(importedLogs.Items[0].Attributes, a => a.Key == "custom.attr" && a.Value == "custom-value"); 405var exportedJson = TelemetryExportService.ConvertTracesToOtlpJson(traces.PagedResult.Items, []); 423Assert.Single(importedTraces.PagedResult.Items);
TelemetryRepositoryTests\LogTests.cs (21)
72Assert.Collection(logs.Items, 127Assert.Collection(logs.Items, 179Assert.Collection(logs.Items, 429Assert.Empty(logs.Items); 525Assert.Single(logs.Items); 667Assert.Collection(logs.Items, 814}).Items); 822}).Items); 861}).Items); 869}).Items); 931Assert.Collection(logs1.Items, 954Assert.Collection(logs2.Items, 1030Assert.Collection(logs.Items, 1121Assert.Empty(logs.Items); 1186Assert.Collection(logs.Items, 1260var log = Assert.Single(logs.Items); 1299Assert.Collection(logs.Items, 1340Assert.Collection(logs.Items, 1381Assert.Collection(logs.Items, 1424Assert.Collection(logs.Items, 1466Assert.Collection(logs.Items,
TelemetryRepositoryTests\TelemetryRepositoryTests.cs (16)
41Assert.Empty(repository.GetLogs(new GetLogsContext { ResourceKey = resourceKey, Count = 100, Filters = [], StartIndex = 0 }).Items); 43Assert.Empty(repository.GetTraces(new GetTracesRequest { ResourceKey = resourceKey, Count = 100, Filters = [], StartIndex = 0, FilterText = string.Empty }).PagedResult.Items); 52Assert.Single(repository.GetLogs(new GetLogsContext { ResourceKey = resourceKey, Count = 100, Filters = [], StartIndex = 0 }).Items); 56Assert.Single(repository.GetTraces(new GetTracesRequest { ResourceKey = resourceKey, Count = 100, Filters = [], StartIndex = 0, FilterText = string.Empty }).PagedResult.Items); 234Assert.Single(logs.Items); 235Assert.Equal("log-resource2-456", logs.Items[0].Message); 246Assert.Single(resource2Logs.Items); 247Assert.Equal("log-resource2-456", resource2Logs.Items[0].Message); 250Assert.Single(resource2Traces.PagedResult.Items); 276Assert.Contains(logs.Items, l => l.Message == "log-resource1-111"); 277Assert.Contains(logs.Items, l => l.Message == "log-resource3-333"); 278Assert.DoesNotContain(logs.Items, l => l.Message == "log-resource2-222"); 319Assert.Empty(logs.Items); 322Assert.Empty(traces.PagedResult.Items); 350Assert.Empty(logs.Items); 353Assert.Empty(traces.PagedResult.Items);
TelemetryRepositoryTests\TraceTests.cs (44)
87Assert.Collection(traces.PagedResult.Items, 146Assert.Empty(traces.PagedResult.Items); 201Assert.Collection(traces.PagedResult.Items, 256Assert.Collection(traces.PagedResult.Items, 327Assert.Collection(traces.PagedResult.Items, 404Assert.Collection(traces1.PagedResult.Items, 446Assert.Collection(traces2.PagedResult.Items, 501Assert.Collection(traces.PagedResult.Items, 570Assert.Collection(traces.PagedResult.Items, 647Assert.Collection(traces.PagedResult.Items, 737Assert.Collection(traces1.PagedResult.Items, 753Assert.NotSame(traces1.PagedResult.Items[0], traces2.PagedResult.Items[0]); 754Assert.NotSame(traces1.PagedResult.Items[0].Spans[0].Trace, traces2.PagedResult.Items[0].Spans[0].Trace); 822var trace = Assert.Single(traces.PagedResult.Items); 875var trace = Assert.Single(traces.PagedResult.Items); 947var first = GetStringId(traces.PagedResult.Items.First().TraceId); 948var last = GetStringId(traces.PagedResult.Items.Last().TraceId); 953var actualOrder = traces.PagedResult.Items.Select(t => t.TraceId).ToList(); 954var expectedOrder = traces.PagedResult.Items.OrderBy(t => t.FirstSpan.StartTime).Select(t => t.TraceId).ToList(); 1052Assert.Collection(traces.PagedResult.Items, 1122Assert.Collection(traces.PagedResult.Items, 1190Assert.Collection(traces.PagedResult.Items, 1209Assert.Collection(traces.PagedResult.Items, 1229Assert.Empty(traces.PagedResult.Items); 1281Assert.Empty(traces.PagedResult.Items); 1297Assert.Collection(traces.PagedResult.Items, 1341var trace = Assert.Single(repository.GetTraces(request).PagedResult.Items); 1366trace = Assert.Single(repository.GetTraces(request).PagedResult.Items); 1391trace = Assert.Single(repository.GetTraces(request).PagedResult.Items); 1416trace = Assert.Single(repository.GetTraces(request).PagedResult.Items); 1520var trace = Assert.Single(traces.PagedResult.Items); 1639Assert.NotNull(traces?.PagedResult?.Items); 1640Assert.Empty(traces.PagedResult.Items); 1718Assert.NotNull(traces?.PagedResult?.Items); 1721Assert.Collection(traces.PagedResult.Items, 1824Assert.NotNull(traces?.PagedResult?.Items); 1825var trace = Assert.Single(traces.PagedResult.Items); 1916Assert.NotNull(traces?.PagedResult?.Items); 1917var trace = Assert.Single(traces.PagedResult.Items); 1989var trace = Assert.Single(traces.PagedResult.Items); 2068var trace = Assert.Single(traces.PagedResult.Items); 2110trace = Assert.Single(traces.PagedResult.Items);