EntityProfiler
EntityProfiler copied to clipboard
New UI
First, good job. I created a new IDE like UI, if you like I create a Pull Request after some patches. See: https://github.com/julianpaulozzi/EntityProfiler Thanks.
Sorry for the delay. I had a daugther on 30 july so I was a little busy with the family expansion the last month, upgrading my computer to Windows 10 in the mean time. I will review your changes now.
Sorry, I'm having trouble building. For example, the Gemini.pfx key file is missing. Also I am missing Xceed related references.
1>------ Build started: Project: Gemini, Configuration: Debug Any CPU ------
1> Restoring NuGet packages...
1> To prevent NuGet from downloading packages during build, open the Visual Studio Options dialog, click on the Package Manager node and uncheck 'Allow NuGet to download missing packages'.
1> All packages listed in packages.config are already installed.
1>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(1819,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "Xceed.Wpf.AvalonDock.Themes.VS2013". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors.
1>Z:\Developing\Visual Studio\Projects\EntityProfilerui\src\UI\Gemini\Framework\Themes\LightTheme.cs(37,33,37,49): error CS0246: The type or namespace name 'Vs2013LightTheme' could not be found (are you missing a using directive or an assembly reference?)
1>Z:\Developing\Visual Studio\Projects\EntityProfilerui\src\UI\Gemini\Framework\Themes\DarkTheme.cs(37,33,37,48): error CS0246: The type or namespace name 'Vs2013DarkTheme' could not be found (are you missing a using directive or an assembly reference?)
1>Z:\Developing\Visual Studio\Projects\EntityProfilerui\src\UI\Gemini\Framework\Themes\BlueTheme.cs(37,33,37,48): error CS0246: The type or namespace name 'Vs2013BlueTheme' could not be found (are you missing a using directive or an assembly reference?)
2>------ Build started: Project: EntityProfiler.Viewer, Configuration: Debug Any CPU ------
2> Restoring NuGet packages...
2> To prevent NuGet from downloading packages during build, open the Visual Studio Options dialog, click on the Package Manager node and uncheck 'Allow NuGet to download missing packages'.
2> All packages listed in packages.config are already installed.
2>Z:\Developing\Visual Studio\Projects\EntityProfilerui\src\UI\EntityProfiler.Viewer\Modules\ContextDetail\Views\ContextDetailView.xaml(140,26): error MC3074: The tag 'ToolPaneToolBar' does not exist in XML namespace 'clr-namespace:Gemini.Modules.ToolBars.Controls;assembly=Gemini'. Line 140 Position 26.
2>Z:\Developing\Visual Studio\Projects\EntityProfilerui\src\UI\EntityProfiler.Viewer\Modules\ContextExplorer\ContextExplorerView.xaml(38,10): error MC3074: The tag 'ToolPaneToolBar' does not exist in XML namespace 'clr-namespace:Gemini.Modules.ToolBars.Controls;assembly=Gemini'. Line 38 Position 10.
2>Z:\Developing\Visual Studio\Projects\EntityProfilerui\src\UI\EntityProfiler.Viewer\Modules\Output\Views\OutputView.xaml(16,10): error MC3074: The tag 'ToolPaneToolBar' does not exist in XML namespace 'clr-namespace:Gemini.Modules.ToolBars.Controls;assembly=Gemini'. Line 16 Position 10.
2>Z:\Developing\Visual Studio\Projects\EntityProfilerui\src\UI\EntityProfiler.Viewer\Modules\QueryTools\Views\DatabaseQueryRunnerView.xaml(16,10): error MC3074: The tag 'NullableBooleanToVisibilityConverter' does not exist in XML namespace 'http://schemas.timjones.tw/gemini'. Line 16 Position 10.
No problem. My failure to send the commit. I added and committed the missing files. Already available in https://github.com/julianpaulozzi/EntityProfiler. Thank you.
The project should require Visual Studio 2015, may be having some part in C # 6 requiring "Roslyn" Compiler.
Thanks. Still wasn't able to find the Gemini.pfx
file so I substituted that with the signing key of the other project to get it to build.
First impressions are very good. It looks very nice and I am impressed.
Some remarks:
- Try including the Xceed package as a nuget, if it is possible.
- Noticed the SELECT 1+N detection is not present anymore.
- Some kind of deadlock happens when generating many messages using new DbContext after each other (
EntityProfiler.Tools.MessageGenerator
, try hittingsncdaad
) but after a while the UI responds again
- Sorry the "AvalonDock.Themes.VS2013" is not available for nuget.
- Duplicate or SELECT 1+N query detection works for me. You did not work for you? It displays a grid with parameters of each query, which when selected replaces the query parameter and displays the value.
- At the moment this behavior is caused by throttling (notificationTimer on SessionData.cs) where I just stop to insert messages in the queue for a while until have a 300 ms break in the reception. It may seem the odd behavior but in some tests with hundreds of thousands of messages received in sequence, that's what kept the UI responsive. It may be that later on leave this configurable.
Alright. Those are only small issues and can be fixed later on. If you'd like to create a pull request I'Il merge it.
After our conversation I fixed a few items and changed some behaviors. Already available in https://github.com/julianpaulozzi/EntityProfiler. Take a look, if ok I proceed. For now I will not have much longer to continue it.