diff options
author | Matt Ward <matt.ward@microsoft.com> | 2019-10-08 19:17:16 +0300 |
---|---|---|
committer | Matt Ward <matt.ward@microsoft.com> | 2019-10-08 19:17:16 +0300 |
commit | 488934d584a08783c806788ff1f792d04a1977c7 (patch) | |
tree | 3d7ac7c868e5b0f96e009905e306cb09c3bf53d7 | |
parent | db0d46381fb2b63842f4cc20eaf975d6121c447b (diff) |
[Ide] Add timer for project creationperf-tests-new-solution-take-2
Starts when the Create button is clicked and ends when the New
Project dialog has finished all its processing.
-rw-r--r-- | main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects/NewProjectController.cs | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects/NewProjectController.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects/NewProjectController.cs index 455929c782..4581b3a563 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects/NewProjectController.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects/NewProjectController.cs @@ -40,10 +40,10 @@ using System.Text; using Mono.Addins;
using MonoDevelop.Core;
using MonoDevelop.Ide.Templates;
+using MonoDevelop.Core.Instrumentation;
using MonoDevelop.Projects;
using Xwt.Drawing;
using System.Threading.Tasks;
-using System.Threading;
namespace MonoDevelop.Ide.Projects
{
@@ -51,7 +51,12 @@ namespace MonoDevelop.Ide.Projects /// To be renamed to NewProjectDialog
/// </summary>
class NewProjectDialogController : INewProjectDialogController
- { + {
+ static TimerCounter NewProjectCreatedTimer = InstrumentationService.CreateTimerCounter (
+ "New Project Created",
+ "IDE",
+ id: "Ide.NewProjectDialog.ProjectCreated");
+
public event EventHandler ProjectCreationFailed;
public event EventHandler ProjectCreated;
@@ -613,6 +618,13 @@ namespace MonoDevelop.Ide.Projects public async Task Create ()
{
+ using (var timer = NewProjectCreatedTimer.BeginTiming ()) {
+ await CreateInternal ();
+ }
+ }
+
+ async Task CreateInternal ()
+ {
projectCreated = new TaskCompletionSource<bool> ();
if (wizardProvider.HasWizard)
|