Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 0 additions & 65 deletions .coderabbit.yaml

This file was deleted.

2 changes: 1 addition & 1 deletion src/PlanViewer.App/AboutWindow.axaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ private async void CheckUpdate_Click(object? sender, RoutedEventArgs e)
if (_velopackUpdate != null)
{
UpdateStatusText.Text = "Update available:";
UpdateLink.Text = $"v{_velopackUpdate.TargetFullRelease.Version} — click to download and install";
UpdateLink.Text = $"v{_velopackUpdate.TargetFullRelease.Version} — click to install";
UpdateLink.IsVisible = true;
CheckUpdateButton.IsEnabled = true;
return;
Expand Down
45 changes: 43 additions & 2 deletions src/PlanViewer.App/Controls/QueryStoreGridControl.axaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,26 @@
x:Class="PlanViewer.App.Controls.QueryStoreGridControl"
Background="{DynamicResource BackgroundBrush}">
<Grid RowDefinitions="Auto,Auto,*">
<!-- Time Range Slicer -->
<local:TimeRangeSlicerControl x:Name="TimeRangeSlicer" Grid.Row="0"/>
<!-- Time Range Slicer + Wait Stats Profile -->
<Grid Grid.Row="0" x:Name="SlicerRow" ColumnDefinitions="2*,Auto,*">
<local:TimeRangeSlicerControl x:Name="TimeRangeSlicer" Grid.Column="0"/>
<!-- Resizable separator with chevron overlay -->
<GridSplitter x:Name="WaitStatsSplitter" Grid.Column="1" Width="14"
Background="{DynamicResource BorderBrush}"
ResizeDirection="Columns"/>
<Button x:Name="WaitStatsChevronButton" Grid.Column="1"
Content="»"
Width="14" Height="28" Padding="0"
FontSize="11" FontWeight="Bold"
Background="Transparent" BorderThickness="0"
Foreground="{DynamicResource ForegroundBrush}"
HorizontalAlignment="Center"
VerticalAlignment="Center"
IsHitTestVisible="True"
ToolTip.Tip="Collapse / expand wait stats panel"
Click="WaitStatsChevron_Click"/>
<local:WaitStatsProfileControl x:Name="WaitStatsProfile" Grid.Column="2"/>
</Grid>

<!-- Toolbar -->
<Border Grid.Row="1" Background="{DynamicResource BackgroundDarkBrush}" Padding="8,6"
Expand Down Expand Up @@ -134,6 +152,29 @@
<DataGridTextColumn Header="Query Hash" Binding="{ReflectionBinding QueryHash}" SortMemberPath="QueryHash" Width="150"/>
<DataGridTextColumn Header="Plan Hash" Binding="{ReflectionBinding QueryPlanHash}" SortMemberPath="QueryPlanHash" Width="150"/>
<DataGridTextColumn Header="Module" Binding="{ReflectionBinding ModuleName}" SortMemberPath="ModuleName" Width="140"/>
<DataGridTemplateColumn SortMemberPath="WaitGrandTotalSort" Width="160">
<DataGridTemplateColumn.Header>
<StackPanel Orientation="Horizontal" Spacing="4">
<Button Content="v" Width="20" Height="18" Padding="0"
FontSize="10" FontWeight="Bold"
Background="Transparent" BorderThickness="1"
BorderBrush="{DynamicResource ForegroundMutedBrush}"
Foreground="{DynamicResource ForegroundBrush}"
ToolTip.Tip="Toggle value (v) / percent (%) stacked bar"
Click="WaitModeToggle_Click"/>
<TextBlock Text="Wait Profile" VerticalAlignment="Center"/>
</StackPanel>
</DataGridTemplateColumn.Header>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate x:DataType="local:QueryStoreRow">
<local:WaitProfileBarControl Height="14" Margin="2,1"
Profile="{Binding WaitProfile}"
HighlightCategory="{Binding WaitHighlightCategory}"
PercentMode="{Binding WaitPercentMode}"
MaxGrandTotalRatio="{Binding WaitMaxGrandTotal}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn Header="Last Executed (Local)" Binding="{ReflectionBinding LastExecutedLocal}" SortMemberPath="LastExecutedLocal" Width="160"/>
<DataGridTemplateColumn Header="Executions" SortMemberPath="ExecsSort" Width="100">
<DataGridTemplateColumn.CellTemplate>
Expand Down
Loading
Loading