Skip to content

Commit c123334

Browse files
committed
Add more telemetry for progression graph query commands to help better understand usage patterns
1 parent 72266a2 commit c123334

File tree

7 files changed

+25
-0
lines changed

7 files changed

+25
-0
lines changed

src/VisualStudio/Core/Def/Progression/GraphQueries/CallsGraphQuery.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
using System.Threading;
99
using System.Threading.Tasks;
1010
using Microsoft.CodeAnalysis;
11+
using Microsoft.CodeAnalysis.Internal.Log;
1112
using Microsoft.CodeAnalysis.PooledObjects;
1213
using Microsoft.VisualStudio.GraphModel;
1314
using Microsoft.VisualStudio.GraphModel.Schemas;
@@ -18,6 +19,8 @@ internal sealed class CallsGraphQuery : IGraphQuery
1819
{
1920
public async Task<GraphBuilder> GetGraphAsync(Solution solution, IGraphContext context, CancellationToken cancellationToken)
2021
{
22+
using var _ = Logger.LogBlock(FunctionId.GraphQuery_Calls, KeyValueLogMessage.Create(LogType.UserAction), cancellationToken);
23+
2124
var graphBuilder = await GraphBuilder.CreateForInputNodesAsync(solution, context.InputNodes, cancellationToken).ConfigureAwait(false);
2225

2326
foreach (var node in context.InputNodes)

src/VisualStudio/Core/Def/Progression/GraphQueries/ContainsGraphQuery.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
using System.Threading;
77
using System.Threading.Tasks;
88
using Microsoft.CodeAnalysis;
9+
using Microsoft.CodeAnalysis.Internal.Log;
910
using Microsoft.VisualStudio.GraphModel;
1011
using Microsoft.VisualStudio.GraphModel.Schemas;
1112

@@ -15,6 +16,8 @@ internal sealed class ContainsGraphQuery : IGraphQuery
1516
{
1617
public async Task<GraphBuilder> GetGraphAsync(Solution solution, IGraphContext context, CancellationToken cancellationToken)
1718
{
19+
using var _ = Logger.LogBlock(FunctionId.GraphQuery_Contains, KeyValueLogMessage.Create(LogType.UserAction), cancellationToken);
20+
1821
var graphBuilder = await GraphBuilder.CreateForInputNodesAsync(solution, context.InputNodes, cancellationToken).ConfigureAwait(false);
1922
var nodesToProcess = context.InputNodes;
2023

src/VisualStudio/Core/Def/Progression/GraphQueries/InheritedByGraphQuery.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
using System.Threading.Tasks;
77
using Microsoft.CodeAnalysis;
88
using Microsoft.CodeAnalysis.FindSymbols;
9+
using Microsoft.CodeAnalysis.Internal.Log;
910
using Microsoft.VisualStudio.GraphModel;
1011
using Microsoft.VisualStudio.GraphModel.Schemas;
1112
using Roslyn.Utilities;
@@ -16,6 +17,8 @@ internal sealed class InheritedByGraphQuery : IGraphQuery
1617
{
1718
public async Task<GraphBuilder> GetGraphAsync(Solution solution, IGraphContext context, CancellationToken cancellationToken)
1819
{
20+
using var _ = Logger.LogBlock(FunctionId.GraphQuery_InheritedBy, KeyValueLogMessage.Create(LogType.UserAction), cancellationToken);
21+
1922
var graphBuilder = await GraphBuilder.CreateForInputNodesAsync(solution, context.InputNodes, cancellationToken).ConfigureAwait(false);
2023

2124
foreach (var node in context.InputNodes)

src/VisualStudio/Core/Def/Progression/GraphQueries/InheritsGraphQuery.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
using System.Threading;
88
using System.Threading.Tasks;
99
using Microsoft.CodeAnalysis;
10+
using Microsoft.CodeAnalysis.Internal.Log;
1011
using Microsoft.VisualStudio.GraphModel;
1112
using Microsoft.VisualStudio.GraphModel.Schemas;
1213

@@ -16,6 +17,8 @@ internal sealed class InheritsGraphQuery : IGraphQuery
1617
{
1718
public async Task<GraphBuilder> GetGraphAsync(Solution solution, IGraphContext context, CancellationToken cancellationToken)
1819
{
20+
using var _ = Logger.LogBlock(FunctionId.GraphQuery_Inherits, KeyValueLogMessage.Create(LogType.UserAction), cancellationToken);
21+
1922
var graphBuilder = await GraphBuilder.CreateForInputNodesAsync(solution, context.InputNodes, cancellationToken).ConfigureAwait(false);
2023
var nodesToProcess = context.InputNodes;
2124

src/VisualStudio/Core/Def/Progression/GraphQueries/OverriddenByGraphQuery.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
using System.Threading;
66
using System.Threading.Tasks;
77
using Microsoft.CodeAnalysis;
8+
using Microsoft.CodeAnalysis.Internal.Log;
89
using Microsoft.CodeAnalysis.Shared.Extensions;
910
using Microsoft.VisualStudio.GraphModel;
1011

@@ -14,6 +15,8 @@ internal sealed class OverriddenByGraphQuery : IGraphQuery
1415
{
1516
public async Task<GraphBuilder> GetGraphAsync(Solution solution, IGraphContext context, CancellationToken cancellationToken)
1617
{
18+
using var _ = Logger.LogBlock(FunctionId.GraphQuery_OverriddenBy, KeyValueLogMessage.Create(LogType.UserAction), cancellationToken);
19+
1720
var graphBuilder = await GraphBuilder.CreateForInputNodesAsync(solution, context.InputNodes, cancellationToken).ConfigureAwait(false);
1821

1922
foreach (var node in context.InputNodes)

src/VisualStudio/Core/Def/Progression/GraphQueries/SearchGraphQuery.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
using System.Threading.Tasks;
77
using Microsoft.CodeAnalysis;
88
using Microsoft.CodeAnalysis.Host;
9+
using Microsoft.CodeAnalysis.Internal.Log;
910
using Microsoft.CodeAnalysis.NavigateTo;
1011
using Microsoft.CodeAnalysis.Shared.Extensions;
1112
using Microsoft.VisualStudio.GraphModel;
@@ -18,6 +19,8 @@ internal sealed partial class SearchGraphQuery(
1819
{
1920
public async Task<GraphBuilder> GetGraphAsync(Solution solution, IGraphContext context, CancellationToken cancellationToken)
2021
{
22+
using var _ = Logger.LogBlock(FunctionId.GraphQuery_Search, KeyValueLogMessage.Create(LogType.UserAction), cancellationToken);
23+
2124
var graphBuilder = await GraphBuilder.CreateForInputNodesAsync(solution, context.InputNodes, cancellationToken).ConfigureAwait(false);
2225
var callback = new ProgressionNavigateToSearchCallback(solution, context, graphBuilder);
2326

src/Workspaces/SharedUtilitiesAndExtensions/Compiler/Core/Log/FunctionId.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -651,6 +651,13 @@ internal enum FunctionId
651651
VSCode_Project_Load_Started = 861,
652652
VSCode_Projects_Load_Completed = 862,
653653

654+
GraphQuery_Calls = 870,
655+
GraphQuery_Contains = 871,
656+
GraphQuery_InheritedBy = 872,
657+
GraphQuery_Inherits = 873,
658+
GraphQuery_OverriddenBy = 874,
659+
GraphQuery_Search = 875,
660+
654661
// 900-999 for items that don't fit into other categories.
655662
Workspace_EventsImmediate = 900,
656663
ChecksumUpdater_SynchronizeTextChangesStatus = 901,

0 commit comments

Comments
 (0)