dotTrace and dotMemory bring new home screen!
Longtime users of dotTrace and dotMemory may have noticed the brand new home screen that ships with version 2021.1. The change comes as part of our goal to make our products the best profiling tools on the market for all major desktop platforms (we’re using Avalonia to make this cross-platform UI a reality).
We redesigned the user interfaces to help developers jump right into a profiling session. Both products share some UI design elements that should help users transition seamlessly between the two profiling products. Not only do the UI’s look similar, but dotTrace and dotMemory will share the same run configurations, meaning we only need to set up a run configuration once.
Let’s see what each profiling product’s home screen offers, starting with dotTrace.
dotTrace Home Screen
The first thing dotTrace users will notice is the column-based layout, guiding the user to look naturally from left to right labeled from #1 to #3, not including the navigation on the left-hand side.
Starting in the first column, we’ll be able to create a new run configuration or use an existing run configuration from a previous profiling session. Clicking the plus (+) icon will immediately display the run configuration dialog screen.
From this dialog, we can choose to profile several kinds of .NET applications:
- .NET Core Application
- IIS Express
- Windows Service
- WCF Service
- WinRT Application
- .NET Process
- Mono Application
- Unity Application
Whichever platform we’re developing for, dotTrace can help us find and eliminate problems quickly and efficiently.
If our .NET process is already running, we can use the Running Processes section to find and begin our profiling session. We can use the plus (+) icon to turn a running process into a run configuration for future profiling sessions.
Column #2 displays all the types of profiling configurations we can choose for our target .NET process:
Most users will start with Timeline or Sampling profiling as it has the most negligible impact on application performance while giving us a general idea of our application’s behavior.
We can set process filters in the Advanced options to exclude any related processes from the profiling session, making sure the session doesn’t pollute our data set with unnecessary information. We may also toggle collection from native allocations, Task Parallel Library (TPL) events, and debug output.
Finally, once we’ve configured our profiling session just the way we like it, we can click the Start button found in column #3.
As we’ve seen, the new UI is intuitive and helpful in guiding the developer in configuring and starting a profiling session. As we’ll see with dotMemory, both UIs share the same layout and intuitive design.
dotMemory Home Screen
Let’s explore the redesign of dotMemory and what users will be using to profile their applications. When first starting dotMemory 2021.1, the UI will greet users with a four-column layout. We have the navigation menu, the process profiling selection column, the profiling filters column, and the start column from left to right. Each actionable column has a number from 1 to 3.
Starting at column #1, Choose the process you want to profile, we can create a new run process run or choose from a currently running process. To create a new process run, we can click any of the green plus icons, which will show the New Run Configuration dialog.
From the dialog, we can select from a menu of run profiles that best-suites our application:
- .NET Core Applications
- Internet Information Services (IIS) hosted web applications
- IIS Express Applications
- Windows Services
- WCF Services
- WinRT Applications
- .NET Process
Staying in column #1, below the run configurations, is a selection of currently running processes. We can choose any of the listed processes to jump into a profiling session immediately.
As stated below this process selection box, dotMemory supports only .NET Framework 4.0+, .NET Core 3.0+, and .NET 5+ processes.
Moving on to column #2, we can choose how we want to profile our .NET application. Most users should select Default, but we can also modify the processes filtered from the profiling session.
Choosing Add Filter from the selection, we’ll see a New Process Filter dialog. Here, we can choose our new profile’s name and add any filter masks for processes to include or exclude in our session. Filter masks are helpful for any applications that run across several processes.
In the third column, we have Run Profiling options. We can choose to start collecting memory allocations and traffic as soon as our application starts or toggle that feature off.
Collecting early memory allocations might help our memory issues start immediately, but collecting allocations can also impact our applications’ performance. There’s no need to worry about the choice since collecting allocations can be toggled on or off during the profiling session.
While not shown in this post, the stand-alone UI for dotCover 2021.1 has also received the same familiar UI treatment.
That about sums up the new home screens for our profiling tools. We hope the change is an indicator of things to come, not only for Windows users but all desktop users interested in profiling their applications.
Subscribe to Blog updates
Thanks, we've got you!
The Developer Ecosystem in 2023: Key Trends for C#
We’ve captured insights from 26,348 developers worldwide in our annual Developer Ecosystem Survey 2023. This recap focuses on C# and .NET, but you can see what’s trending in other languages as well. Enjoy the results and commentary, and let us know what you think! Top Discoveries We know t…
The ReSharper 2023.3 Release Candidate Is Now Available
Get a preview of all the latest features and improvements set to be shipped with the next major ReSharper and .NET tools releases by downloading the Release Candidate builds that have just landed. Here are the major improvements in each of the new builds: The ReSharper 2023.3 Release Can…
The Rider 2023.3 Release Candidate Is Now Available
There’s only a few days left before the next major release for Rider! Don’t feel like waiting? Get a sneak peek of Rider 2023.3 now by downloading the Release Candidate build that has just landed on our website. The Release Candidate build contains all of the notable changes that we’ve introduc…
Primary Constructors – Using C# 12 in Rider and ReSharper
Welcome to our series, where we take a closer look at the C# 12 language features and how ReSharper and Rider make it easy for you to adopt them in your codebase. If you haven’t yet, download the latest .NET 8 SDK and update your project files! In this series, we are looking at: Primary …