Skip to content

Commit 47ffa3b

Browse files
authored
Support displaying different resource properties (#5526)
1 parent 748ffcf commit 47ffa3b

24 files changed

+364
-105
lines changed

src/Aspire.Dashboard/Components/Controls/SpanDetails.razor

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<div class="span-details-layout">
1111
<FluentToolbar Orientation="Orientation.Horizontal">
1212
<div>
13-
@((MarkupString)string.Format(ControlsStrings.SpanDetailsResource, ViewModel.Span.Source.ApplicationName))
13+
@((MarkupString)string.Format(ControlsStrings.SpanDetailsResource, ViewModel.Span.Source.Application.ApplicationName))
1414
</div>
1515
<FluentDivider Role="DividerRole.Presentation" Orientation="Orientation.Vertical" />
1616
<div>

src/Aspire.Dashboard/Components/Controls/StructuredLogDetails.razor

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<div class="structured-log-details-layout">
88
<FluentToolbar Orientation="Orientation.Horizontal">
99
<div>
10-
@((MarkupString)string.Format(ControlsStrings.StructuredLogsDetailsResource, ViewModel.LogEntry.Application.ApplicationName))
10+
@((MarkupString)string.Format(ControlsStrings.StructuredLogsDetailsResource, ViewModel.LogEntry.ApplicationView.Application.ApplicationName))
1111
</div>
1212
<FluentDivider Role="DividerRole.Presentation" Orientation="Orientation.Vertical" />
1313
<div title="@FormatHelpers.FormatTimeWithOptionalDate(TimeProvider, ViewModel.LogEntry.TimeStamp, MillisecondsDisplay.Full)">

src/Aspire.Dashboard/Components/Controls/StructuredLogDetails.razor.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public partial class StructuredLogDetails
2828
.Where(ApplyFilter).AsQueryable();
2929

3030
private IQueryable<LogEntryPropertyViewModel> FilteredResourceItems =>
31-
ViewModel.LogEntry.Application.AllProperties().Select(p => new LogEntryPropertyViewModel { Name = p.Key, Value = p.Value })
31+
ViewModel.LogEntry.ApplicationView.AllProperties().Select(p => new LogEntryPropertyViewModel { Name = p.Key, Value = p.Value })
3232
.Where(ApplyFilter).AsQueryable();
3333

3434
private string _filter = "";

src/Aspire.Dashboard/Components/Pages/Resources.razor.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
using Aspire.Dashboard.Extensions;
99

1010
using Aspire.Dashboard.Model;
11-
using Aspire.Dashboard.Otlp.Model;
1211
using Aspire.Dashboard.Otlp.Storage;
1312
using Aspire.Dashboard.Resources;
1413
using Aspire.Dashboard.Utils;
@@ -31,7 +30,7 @@ public partial class Resources : ComponentBase, IAsyncDisposable
3130

3231
private Subscription? _logsSubscription;
3332
private IList<GridColumn>? _gridColumns;
34-
private Dictionary<OtlpApplication, int>? _applicationUnviewedErrorCounts;
33+
private Dictionary<ApplicationKey, int>? _applicationUnviewedErrorCounts;
3534

3635
[Inject]
3736
public required IDashboardClient DashboardClient { get; init; }
@@ -224,7 +223,7 @@ async Task SubscribeResourcesAsync()
224223
}
225224
}
226225

227-
private bool ApplicationErrorCountsChanged(Dictionary<OtlpApplication, int> newApplicationUnviewedErrorCounts)
226+
private bool ApplicationErrorCountsChanged(Dictionary<ApplicationKey, int> newApplicationUnviewedErrorCounts)
228227
{
229228
if (_applicationUnviewedErrorCounts == null || _applicationUnviewedErrorCounts.Count != newApplicationUnviewedErrorCounts.Count)
230229
{

src/Aspire.Dashboard/Components/Pages/StructuredLogs.razor

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -119,9 +119,9 @@
119119
OnRowClick="@(r => r.ExecuteOnDefault(d => OnShowPropertiesAsync(d, buttonId: null)))"
120120
Class="enable-row-click">
121121
<ChildContent>
122-
<AspireTemplateColumn ColumnId="@ResourceColumn" ColumnManager="@_manager" Title="@Loc[nameof(Dashboard.Resources.StructuredLogs.StructuredLogsResourceColumnHeader)]" Tooltip="true" TooltipText="@(e => GetResourceName(e.Application))">
123-
<span style="padding-left:5px; border-left-width: 5px; border-left-style: solid; border-left-color: @(ColorGenerator.Instance.GetColorHexByKey(GetResourceName(context.Application)));">
124-
@GetResourceName(context.Application)
122+
<AspireTemplateColumn ColumnId="@ResourceColumn" ColumnManager="@_manager" Title="@Loc[nameof(Dashboard.Resources.StructuredLogs.StructuredLogsResourceColumnHeader)]" Tooltip="true" TooltipText="@(e => GetResourceName(e.ApplicationView))">
123+
<span style="padding-left:5px; border-left-width: 5px; border-left-style: solid; border-left-color: @(ColorGenerator.Instance.GetColorHexByKey(GetResourceName(context.ApplicationView)));">
124+
@GetResourceName(context.ApplicationView)
125125
</span>
126126
</AspireTemplateColumn>
127127
<AspireTemplateColumn ColumnId="@LogLevelColumn" ColumnManager="@_manager" Title="@Loc[nameof(Dashboard.Resources.StructuredLogs.StructuredLogsLevelColumnHeader)]">

src/Aspire.Dashboard/Components/Pages/StructuredLogs.razor.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -344,7 +344,7 @@ private async Task HandleAfterFilterBindAsync()
344344
await this.AfterViewModelChangedAsync(_contentLayout, true);
345345
}
346346

347-
private string GetResourceName(OtlpApplication app) => OtlpApplication.GetResourceName(app, _applications);
347+
private string GetResourceName(OtlpApplicationView app) => OtlpApplication.GetResourceName(app.Application, _applications);
348348

349349
private string GetRowClass(OtlpLogEntry entry)
350350
{

src/Aspire.Dashboard/Components/Pages/TraceDetail.razor.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -349,7 +349,7 @@ private async Task ClearSelectedSpanAsync(bool causedByUserAction = false)
349349
_elementIdBeforeDetailsViewOpened = null;
350350
}
351351

352-
private string GetResourceName(OtlpApplication app) => OtlpApplication.GetResourceName(app, _applications);
352+
private string GetResourceName(OtlpApplicationView app) => OtlpApplication.GetResourceName(app, _applications);
353353

354354
public void Dispose()
355355
{

src/Aspire.Dashboard/Components/Pages/Traces.razor

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@
5959
<AspireTemplateColumn ColumnId="@SpansColumn" ColumnManager="@_manager" Title="@Loc[nameof(Dashboard.Resources.Traces.TracesSpansColumnHeader)]">
6060
<FluentOverflow>
6161
<ChildContent>
62-
@foreach (var item in context.Spans.GroupBy(s => s.Source).OrderBy(g => g.Min(s => s.StartTime)))
62+
@foreach (var item in context.Spans.GroupBy(s => s.Source.Application).OrderBy(g => g.Min(s => s.StartTime)))
6363
{
6464
<FluentOverflowItem>
6565
<span class="trace-tag trace-service-tag" title="@(GetSpansTooltip(item))" style="border-left-color: @(ColorGenerator.Instance.GetColorHexByKey(GetResourceName(item.Key)));">

src/Aspire.Dashboard/Components/Pages/Traces.razor.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,7 @@ private async Task HandleAfterFilterBindAsync()
228228
}
229229

230230
private string GetResourceName(OtlpApplication app) => OtlpApplication.GetResourceName(app, _applications);
231+
private string GetResourceName(OtlpApplicationView app) => OtlpApplication.GetResourceName(app, _applications);
231232

232233
protected override async Task OnAfterRenderAsync(bool firstRender)
233234
{

src/Aspire.Dashboard/Components/ResourcesGridColumns/StateColumnDisplay.razor

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
@using Aspire.Dashboard.Extensions
22
@using Aspire.Dashboard.Model
33
@using Aspire.Dashboard.Otlp.Model
4+
@using Aspire.Dashboard.Otlp.Storage
45
@using Aspire.Dashboard.Resources
56
@using Humanizer
67

@@ -99,5 +100,5 @@ else
99100

100101

101102
[Parameter, EditorRequired]
102-
public required Dictionary<OtlpApplication, int>? UnviewedErrorCounts { get; set; }
103+
public required Dictionary<ApplicationKey, int>? UnviewedErrorCounts { get; set; }
103104
}

0 commit comments

Comments
 (0)