提交 0eb155df 编写于 作者: G Gen Lu

Add telemetry for VS item cache

上级 900477c0
......@@ -15,6 +15,9 @@ internal enum ActionInfo
CommitWithTypeImportCompletionEnabled,
CommitTypeImportCompletionItem,
RoslynCompletionItemsCached,
VSCompletionItemsCacheHit,
// For targeted type completion
SessionHasTargetTypeFilterEnabled,
......@@ -30,6 +33,12 @@ internal enum ActionInfo
CommitItemWithTargetTypeFilter,
}
internal static void LogRoslynCompletionItemsCached(int count) =>
s_logAggregator.IncreaseCountBy((int)ActionInfo.RoslynCompletionItemsCached, count);
internal static void LogVSCompletionItemsCacheHit(int count) =>
s_logAggregator.IncreaseCountBy((int)ActionInfo.VSCompletionItemsCacheHit, count);
internal static void LogSessionWithTypeImportCompletionEnabled() =>
s_logAggregator.IncreaseCount((int)ActionInfo.SessionWithTypeImportCompletionEnabled);
......
......@@ -269,6 +269,9 @@ static void CheckForExperimentStatus(ITextView textView, Document document)
session.Properties.AddProperty(ExcludedCommitCharacters, excludedCommitCharacters);
}
AsyncCompletionLogger.LogRoslynCompletionItemsCached(RoslynCompletionItemsCached);
AsyncCompletionLogger.LogVSCompletionItemsCacheHit(VSCompletionItemsCacheHitCount);
return new AsyncCompletionData.CompletionContext(
items,
suggestionItemOptions,
......@@ -315,13 +318,23 @@ public async Task<object> GetDescriptionAsync(IAsyncCompletionSession session, V
}
}
private int VSCompletionItemsCacheHitCount { get; set; }
private int RoslynCompletionItemsCached { get; set; }
private VSCompletionItem Convert(
Document document,
RoslynCompletionItem roslynItem)
{
if (roslynItem.IsCached && s_roslynItemToVsItem.TryGetValue(roslynItem, out var vsItem))
if (roslynItem.IsCached)
{
return vsItem;
RoslynCompletionItemsCached++;
if (s_roslynItemToVsItem.TryGetValue(roslynItem, out var vsItem))
{
VSCompletionItemsCacheHitCount++;
return vsItem;
}
}
var imageId = roslynItem.Tags.GetFirstGlyph().GetImageId();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册