182 references to AspireDataType
Aspire.Dashboard (60)
Components\Dialogs\ManageDataDialog.razor.cs (38)
68
private readonly HashSet<(string ResourceName,
AspireDataType
DataType)> _selectedRows = [];
210
? new TelemetryDataRow { DataType =
AspireDataType
.ResourceDetails, Icon = new Icons.Regular.Size16.ContentView(), Url = DashboardUrls.ResourcesUrl(resource: resource.Name) }
211
: CreateTelemetryDataRow(
AspireDataType
.ResourceDetails, resource.Name));
214
data.Add(CreateTelemetryDataRow(
AspireDataType
.ConsoleLogs, resource.Name));
250
data.Add(CreateTelemetryDataRow(
AspireDataType
.StructuredLogs, resourceName));
255
data.Add(CreateTelemetryDataRow(
AspireDataType
.Traces, resourceName));
260
data.Add(CreateTelemetryDataRow(
AspireDataType
.Metrics, resourceName));
264
private static TelemetryDataRow CreateTelemetryDataRow(
AspireDataType
dataType, string resourceName)
268
AspireDataType
.ResourceDetails => new TelemetryDataRow { DataType =
AspireDataType
.ResourceDetails, Icon = new Icons.Regular.Size16.ContentView(), Url = DashboardUrls.ResourceOverviewUrl(resourceName) },
269
AspireDataType
.ConsoleLogs => new TelemetryDataRow { DataType =
AspireDataType
.ConsoleLogs, Icon = new Icons.Regular.Size16.SlideText(), Url = DashboardUrls.ConsoleLogsUrl(resource: resourceName) },
270
AspireDataType
.StructuredLogs => new TelemetryDataRow { DataType =
AspireDataType
.StructuredLogs, Icon = new Icons.Regular.Size16.SlideTextSparkle(), Url = DashboardUrls.StructuredLogsUrl(resource: resourceName) },
271
AspireDataType
.Traces => new TelemetryDataRow { DataType =
AspireDataType
.Traces, Icon = new Icons.Regular.Size16.GanttChart(), Url = DashboardUrls.TracesUrl(resource: resourceName) },
272
AspireDataType
.Metrics => new TelemetryDataRow { DataType =
AspireDataType
.Metrics, Icon = new Icons.Regular.Size16.ChartMultiple(), Url = DashboardUrls.MetricsUrl(resource: resourceName) },
367
private string GetDataTypeDisplayName(
AspireDataType
dataType) => dataType switch
369
AspireDataType
.ResourceDetails => Loc[nameof(Resources.Dialogs.ManageDataResource)],
370
AspireDataType
.ConsoleLogs => Loc[nameof(Resources.Dialogs.ManageDataConsoleLogs)],
371
AspireDataType
.StructuredLogs => Loc[nameof(Resources.Dialogs.ManageDataStructuredLogs)],
372
AspireDataType
.Traces => Loc[nameof(Resources.Dialogs.ManageDataTraces)],
373
AspireDataType
.Metrics => Loc[nameof(Resources.Dialogs.ManageDataMetrics)],
428
private void OnSelectDataRowClicked(string resourceName,
AspireDataType
dataType)
439
private bool IsDataRowSelected(string resourceName,
AspireDataType
dataType) => _selectedRows.Contains((resourceName, dataType));
466
return !_selectedRows.Any(r => r.DataType is not
AspireDataType
.Resource);
476
return _selectedRows.Contains((row.Name,
AspireDataType
.Resource));
496
return !_selectedRows.Contains((row.Name,
AspireDataType
.Resource));
513
private IconCheckboxState GetDataRowCheckboxState(string resourceName,
AspireDataType
dataType) =>
516
private bool IsSelectionAvailable((string ResourceName,
AspireDataType
DataType) selection)
524
? selection.DataType is
AspireDataType
.Resource
562
.Where(kvp => kvp.Value.Contains(
AspireDataType
.ConsoleLogs))
657
private Dictionary<string, HashSet<
AspireDataType
>> GetSelectedResourcesAndDataTypes()
659
var result = new Dictionary<string, HashSet<
AspireDataType
>>(StringComparers.ResourceName);
680
dataTypes.Add(
AspireDataType
.Resource);
690
_selectedRows.Remove((resourceName,
AspireDataType
.Resource));
694
_selectedRows.Add((resourceName,
AspireDataType
.Resource));
Model\ManageData\TelemetryDataRow.cs (1)
16
public required
AspireDataType
DataType { get; init; }
Model\TelemetryExportService.cs (7)
49
Dictionary<string, HashSet<
AspireDataType
>> selectedResources,
60
var hasResourceDetailsSelected = selectedResources.Any(kvp => kvp.Value.Contains(
AspireDataType
.ResourceDetails));
67
.Where(kvp => kvp.Value.Contains(
AspireDataType
.ResourceDetails) && resourcesByName.ContainsKey(kvp.Key))
73
.Where(kvp => kvp.Value.Contains(
AspireDataType
.ConsoleLogs))
78
.Where(r => selectedResources.TryGetValue(r.ResourceKey.GetCompositeName(), out var types) && types.Contains(
AspireDataType
.StructuredLogs))
82
.Where(r => selectedResources.TryGetValue(r.ResourceKey.GetCompositeName(), out var types) && types.Contains(
AspireDataType
.Traces))
86
.Where(r => selectedResources.TryGetValue(r.ResourceKey.GetCompositeName(), out var types) && types.Contains(
AspireDataType
.Metrics))
Otlp\Storage\ITelemetryRepositoryWriter.cs (1)
47
Task ClearSelectedSignalsAsync(Dictionary<string, HashSet<
AspireDataType
>> selectedResources);
Otlp\Storage\SqliteTelemetryRepository.cs (1)
273
public async Task ClearSelectedSignalsAsync(Dictionary<string, HashSet<
AspireDataType
>> selectedResources)
Otlp\Storage\SqliteTelemetryRepository.Logs.cs (3)
726
private async Task ClearSelectedLogsFromDatabaseAsync(Dictionary<string, HashSet<
AspireDataType
>> selectedResources)
742
if (dataTypes.Contains(
AspireDataType
.Resource))
746
else if (dataTypes.Contains(
AspireDataType
.StructuredLogs))
Otlp\Storage\SqliteTelemetryRepository.Metrics.Writes.cs (3)
876
private async Task ClearSelectedMetricsFromDatabaseAsync(Dictionary<string, HashSet<
AspireDataType
>> selectedResources)
882
if (selectedResources.TryGetValue(key.GetCompositeName(), out var dataTypes) && dataTypes.Contains(
AspireDataType
.Metrics) && !dataTypes.Contains(
AspireDataType
.Resource))
Otlp\Storage\SqliteTelemetryRepository.Runtime.cs (3)
110
private void ClearUnviewedErrorCounts(Dictionary<string, HashSet<
AspireDataType
>> selectedResources)
117
(dataTypes.Contains(
AspireDataType
.StructuredLogs) || dataTypes.Contains(
AspireDataType
.Resource)))
Otlp\Storage\SqliteTelemetryRepository.Traces.Writes.cs (3)
993
private async Task ClearSelectedTracesFromDatabaseAsync(Dictionary<string, HashSet<
AspireDataType
>> selectedResources)
1004
dataTypes.Contains(
AspireDataType
.Traces) &&
1005
!dataTypes.Contains(
AspireDataType
.Resource))
Aspire.Dashboard.Components.Tests (44)
Layout\ResourceRowAvailabilityTests.cs (23)
132
[InlineData(
AspireDataType
.StructuredLogs, "/structuredlogs", "/structuredlogs/resource/test-TestId")]
133
[InlineData(
AspireDataType
.Traces, "/traces", "/traces/resource/test-TestId")]
134
[InlineData(
AspireDataType
.Metrics, "/metrics", "/metrics/resource/test-TestId")]
135
public async Task SignalAvailability_UpdatesWithoutChangingSelectionOrNavigation(
AspireDataType
signal, string url, string selectedUrl)
149
AspireDataType
.StructuredLogs => Resources.Layout.ResourcePaneNoStructuredLogs,
150
AspireDataType
.Traces => Resources.Layout.ResourcePaneNoTraces,
188
[InlineData(
AspireDataType
.StructuredLogs, "/structuredlogs")]
189
[InlineData(
AspireDataType
.Traces, "/traces")]
190
public async Task RetentionEvictsLastItem_RestoresUnavailableStateWithoutChangingSelection(
AspireDataType
signal, string url)
192
var reason = signal ==
AspireDataType
.StructuredLogs ? Resources.Layout.ResourcePaneNoStructuredLogs : Resources.Layout.ResourcePaneNoTraces;
214
if (signal ==
AspireDataType
.StructuredLogs)
242
Assert.True(signal ==
AspireDataType
.StructuredLogs ? resource.HasLogs : resource.HasTraces);
247
[InlineData(
AspireDataType
.StructuredLogs, false)]
248
[InlineData(
AspireDataType
.Metrics, false)]
249
[InlineData(
AspireDataType
.StructuredLogs, true)]
250
[InlineData(
AspireDataType
.Metrics, true)]
251
public async Task Peer_IsAvailableForTracesUntilItsOutgoingSpanIsCleared(
AspireDataType
? reportedSignal, bool reportAfterSpan)
311
await repository.ClearSelectedSignalsAsync(new() { ["api-TestId"] = [
AspireDataType
.Traces] });
322
AspireDataType
.StructuredLogs => repository.AddLogsAsync(new(),
330
AspireDataType
.Metrics => repository.AddMetricsAsync(new(),
396
await TelemetryHelpSetupHelpers.AddSignalAsync(repository,
AspireDataType
.Metrics);
410
await TelemetryHelpSetupHelpers.AddSignalAsync(repository,
AspireDataType
.StructuredLogs);
428
await TelemetryHelpSetupHelpers.AddSignalAsync(Services.GetRequiredService<SqliteTelemetryRepository>(),
AspireDataType
.StructuredLogs);
Layout\ResourcesLayoutTests.cs (1)
2729
await Services.GetRequiredService<SqliteTelemetryRepository>().ClearSelectedSignalsAsync(new() { ["worker"] = [
AspireDataType
.Resource] });
Pages\MetricsTests.cs (4)
44
[InlineData(
AspireDataType
.StructuredLogs)]
45
[InlineData(
AspireDataType
.Traces)]
46
[InlineData(
AspireDataType
.Metrics)]
47
public async Task EmptyState_HelpDisappearsAfterAnySignalAndStaysHiddenAfterClear(
AspireDataType
signal)
Pages\ResourceOverviewEmptyPanelsTests.cs (4)
345
[InlineData(
AspireDataType
.StructuredLogs, "overview-logs-title")]
346
[InlineData(
AspireDataType
.Traces, "overview-traces-title")]
347
[InlineData(
AspireDataType
.Metrics, "overview-metrics-title")]
348
public async Task HiddenTelemetryPanels_AppearWhileLoadingAndKeepReceivedSignals(
AspireDataType
signal, string expectedPanel)
Pages\StructuredLogsTests.cs (4)
36
[InlineData(
AspireDataType
.StructuredLogs)]
37
[InlineData(
AspireDataType
.Traces)]
38
[InlineData(
AspireDataType
.Metrics)]
39
public async Task EmptyState_HelpDisappearsAfterAnySignalAndStaysHiddenAfterClear(
AspireDataType
signal)
Pages\TracesTests.cs (4)
32
[InlineData(
AspireDataType
.StructuredLogs)]
33
[InlineData(
AspireDataType
.Traces)]
34
[InlineData(
AspireDataType
.Metrics)]
35
public async Task EmptyState_HelpDisappearsAfterAnySignalAndStaysHiddenAfterClear(
AspireDataType
signal)
Shared\TelemetryHelpSetupHelpers.cs (4)
38
public static Task AddSignalAsync(ITelemetryRepositoryWriter repository,
AspireDataType
signal) => signal switch
40
AspireDataType
.StructuredLogs => repository.AddLogsAsync(new(),
48
AspireDataType
.Traces => repository.AddTracesAsync(new(),
56
AspireDataType
.Metrics => repository.AddMetricsAsync(new(),
Aspire.Dashboard.Playwright.Tests (25)
Integration\Playwright\ResourcePanelNavigationTests.cs (25)
177
[InlineData(
AspireDataType
.StructuredLogs)]
178
[InlineData(
AspireDataType
.Traces)]
180
public async Task ExistingTelemetry_RemainsVisibleWhenAllResourcesViewReloads(
AspireDataType
signal)
189
AspireDataType
.StructuredLogs => ("structuredlogs", "Existing sidebar log"),
190
AspireDataType
.Traces => ("traces", "Test span. Id: preloaded-span"),
195
AspireDataType
.StructuredLogs => writer.AddLogsAsync(new(),
203
AspireDataType
.Traces => writer.AddTracesAsync(new(),
233
[InlineData(390,
AspireDataType
.StructuredLogs)]
234
[InlineData(768,
AspireDataType
.StructuredLogs)]
235
[InlineData(1440,
AspireDataType
.StructuredLogs)]
236
[InlineData(390,
AspireDataType
.Traces)]
237
[InlineData(768,
AspireDataType
.Traces)]
238
[InlineData(1440,
AspireDataType
.Traces)]
239
[InlineData(390,
AspireDataType
.Metrics)]
240
[InlineData(768,
AspireDataType
.Metrics)]
241
[InlineData(1440,
AspireDataType
.Metrics)]
243
public async Task UnavailableRows_RemainInteractiveAndUpdateWhenSignalsArriveAndClear(int width,
AspireDataType
signal)
248
AspireDataType
.StructuredLogs => ("structuredlogs", Resources.Layout.ResourcePaneNoStructuredLogs),
249
AspireDataType
.Traces => ("traces", Resources.Layout.ResourcePaneNoTraces),
250
AspireDataType
.Metrics => ("metrics", Resources.Layout.ResourcePaneNoMetrics),
254
if (signal ==
AspireDataType
.StructuredLogs)
311
AspireDataType
.StructuredLogs => writer.AddLogsAsync(new(),
319
AspireDataType
.Traces => writer.AddTracesAsync(new(),
327
AspireDataType
.Metrics => writer.AddMetricsAsync(new(),
348
if (width > 768 && signal ==
AspireDataType
.StructuredLogs)
Aspire.Dashboard.Tests (53)
Model\TelemetryExportServiceTests.cs (16)
697
var selectedResources = new Dictionary<string, HashSet<
AspireDataType
>>
699
["resource1-111"] = [
AspireDataType
.StructuredLogs],
700
["resource2-222"] = [
AspireDataType
.Traces],
701
["resource3-333"] = [
AspireDataType
.StructuredLogs,
AspireDataType
.Traces,
AspireDataType
.Metrics]
819
var selectedResources = new Dictionary<string, HashSet<
AspireDataType
>>
821
["LargeService-instance-1"] = [
AspireDataType
.StructuredLogs]
870
var selectedResources = new Dictionary<string, HashSet<
AspireDataType
>>
872
["LargeService-instance-1"] = [
AspireDataType
.Traces]
1278
private static Dictionary<string, HashSet<
AspireDataType
>> BuildAllResourcesSelection(ITelemetryRepository repository)
1283
_ => new HashSet<
AspireDataType
>([
AspireDataType
.ConsoleLogs,
AspireDataType
.StructuredLogs,
AspireDataType
.Traces,
AspireDataType
.Metrics]));
TelemetryRepositoryTests\TelemetryReceiptTests.cs (20)
23
[InlineData(
AspireDataType
.StructuredLogs)]
24
[InlineData(
AspireDataType
.Traces)]
25
[InlineData(
AspireDataType
.Metrics)]
26
public async Task AcceptedTelemetry_RemainsReceivedAfterRemoval(
AspireDataType
signal)
43
[repository.GetResources().Single().ResourceKey.GetCompositeName()] = [
AspireDataType
.Resource,
AspireDataType
.StructuredLogs,
AspireDataType
.Traces,
AspireDataType
.Metrics]
69
[InlineData(
AspireDataType
.StructuredLogs)]
70
[InlineData(
AspireDataType
.Traces)]
71
[InlineData(
AspireDataType
.Metrics)]
72
public async Task PausedTelemetry_DoesNotCountAsReceived(
AspireDataType
signal)
120
await Assert.ThrowsAsync<SqliteException>(() => AddSignalAsync(context.Repository,
AspireDataType
.StructuredLogs));
132
AddSignalAsync(context.Repository,
AspireDataType
.StructuredLogs),
133
AddSignalAsync(context.Repository,
AspireDataType
.Traces),
134
AddSignalAsync(context.Repository,
AspireDataType
.Metrics));
139
private static Task AddSignalAsync(SqliteTelemetryRepository repository,
AspireDataType
signal) => signal switch
141
AspireDataType
.StructuredLogs => repository.AddLogsAsync(new(),
149
AspireDataType
.Traces => repository.AddTracesAsync(new(),
157
AspireDataType
.Metrics => repository.AddMetricsAsync(new(),
TelemetryRepositoryTests\TelemetryRepositoryTests.cs (15)
222
var selectedResources = new Dictionary<string, HashSet<
AspireDataType
>>
224
["resource1-123"] = [
AspireDataType
.StructuredLogs]
269
var selectedResources = new Dictionary<string, HashSet<
AspireDataType
>>
271
["resource2-222"] = [
AspireDataType
.StructuredLogs,
AspireDataType
.Traces,
AspireDataType
.Metrics,
AspireDataType
.Resource]
309
var selectedResources = new Dictionary<string, HashSet<
AspireDataType
>>
311
["resource1-123"] = [
AspireDataType
.StructuredLogs,
AspireDataType
.Traces,
AspireDataType
.Metrics,
AspireDataType
.Resource]
340
var selectedResources = new Dictionary<string, HashSet<
AspireDataType
>>
342
["resource1-123"] = [
AspireDataType
.StructuredLogs,
AspireDataType
.Traces]
TelemetryRepositoryTests\TraceTests.cs (2)
4990
await repositoryContext.Repository.AsWriter().ClearSelectedSignalsAsync(new Dictionary<string, HashSet<
AspireDataType
>>
4992
[new ResourceKey("frontend", "TestId").GetCompositeName()] = [
AspireDataType
.Resource]