diff options
author | Greg Munn <gregm@microsoft.com> | 2019-07-26 17:55:46 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-07-26 17:55:46 +0300 |
commit | 411f83630e8e9c470224430640b5655e28115a64 (patch) | |
tree | 06fe8fe49478d6c45d3a9cdda92df0d34ed7102c /main/src/addins | |
parent | cae16fe377c1c822d7b6c17662b50476b5b8df7f (diff) | |
parent | a4547b579661f7d3df238e556e2f778a838122c8 (diff) |
Merge pull request #7989 from mono/jstedfast-802365
[Debugger] Log telemetry for async ops that stall out
Diffstat (limited to 'main/src/addins')
-rw-r--r-- | main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/Counters.cs | 1 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/DebuggingService.cs | 23 |
2 files changed, 21 insertions, 3 deletions
diff --git a/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/Counters.cs b/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/Counters.cs index 4fed6bfbab..c8fd7030f7 100644 --- a/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/Counters.cs +++ b/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/Counters.cs @@ -35,6 +35,7 @@ namespace MonoDevelop.Debugger public static Counter EvaluationStats = InstrumentationService.CreateCounter ("Evaluation Statistics", "Debugger", id: "Debugger.EvaluationStatistics"); public static TimerCounter<DebuggerStartMetadata> DebuggerStart = InstrumentationService.CreateTimerCounter<DebuggerStartMetadata> ("Debugger Start", "Debugger", id: "Debugger.Start"); public static TimerCounter<DebuggerActionMetadata> DebuggerAction = InstrumentationService.CreateTimerCounter<DebuggerActionMetadata> ("Debugger Action", "Debugger", id: "Debugger.Action"); + public static Counter DebuggerBusy = InstrumentationService.CreateCounter ("Debugger Busy", "Debugger", id: "Debugger.Busy"); } class DebuggerStartMetadata : CounterMetadata diff --git a/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/DebuggingService.cs b/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/DebuggingService.cs index 9e19487fc4..5ed2950d2e 100644 --- a/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/DebuggingService.cs +++ b/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/DebuggingService.cs @@ -905,6 +905,23 @@ namespace MonoDevelop.Debugger await Runtime.RunInMainThread (delegate { busyEvaluator.UpdateBusyState (args); if (args.IsBusy) { + var session = (DebuggerSession) s; + + if (sessions.TryGetValue (session, out var manager)) { + var metadata = new Dictionary<string, object> { + ["DebuggerType"] = manager.Engine.Id, + ["Debugger.AsyncOperation.Description"] = args.Description, + ["Debugger.EvaluationOptions.AllowDisplayStringEvaluation"] = args.EvaluationContext.Options.AllowDisplayStringEvaluation, + ["Debugger.EvaluationOptions.AllowMethodEvaluation"] = args.EvaluationContext.Options.AllowMethodEvaluation, + ["Debugger.EvaluationOptions.AllowTargetInvoke"] = args.EvaluationContext.Options.AllowTargetInvoke, + ["Debugger.EvaluationOptions.AllowToStringCalls"] = args.EvaluationContext.Options.AllowToStringCalls, + ["Debugger.EvaluationOptions.ChunkRawStrings"] = args.EvaluationContext.Options.ChunkRawStrings, + ["Debugger.EvaluationOptions.EvaluationTimeout"] = args.EvaluationContext.Options.EvaluationTimeout, + }; + + Counters.DebuggerBusy.Inc (1, null, metadata); + } + if (busyStatusIcon == null) { busyStatusIcon = IdeApp.Workbench.StatusBar.ShowStatusIcon (ImageService.GetIcon ("md-bug", Gtk.IconSize.Menu)); busyStatusIcon.SetAlertMode (100); @@ -1422,9 +1439,9 @@ namespace MonoDevelop.Debugger if (typeSymbol != null && (arity == 0 || arity == typeSymbol.Arity)) { return symbol; } - var namespaceSymbol = symbol as Microsoft.CodeAnalysis.INamespaceSymbol;
- if (namespaceSymbol != null) {
- return namespaceSymbol;
+ var namespaceSymbol = symbol as Microsoft.CodeAnalysis.INamespaceSymbol; + if (namespaceSymbol != null) { + return namespaceSymbol; } } return null; |