Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Ward <matt.ward@microsoft.com>2019-10-08 19:17:16 +0300
committerMatt Ward <matt.ward@microsoft.com>2019-10-08 19:17:16 +0300
commit488934d584a08783c806788ff1f792d04a1977c7 (patch)
tree3d7ac7c868e5b0f96e009905e306cb09c3bf53d7
parentdb0d46381fb2b63842f4cc20eaf975d6121c447b (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.cs16
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)