mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[completion fus] IJPL-215307 add FUS for duration of insert handler in completion
GitOrigin-RevId: bc502f9ff815132d49073103c03873740cc799be
This commit is contained in:
committed by
intellij-monorepo-bot
parent
5e9e3ece74
commit
cf22f48204
+21
-1
@@ -42,7 +42,7 @@ import static com.intellij.codeInsight.lookup.impl.LookupTypedHandler.CANCELLATI
|
||||
public final class LookupUsageTracker extends CounterUsagesCollector {
|
||||
public static final String FINISHED_EVENT_ID = "finished";
|
||||
public static final String GROUP_ID = "completion";
|
||||
public static final EventLogGroup GROUP = new EventLogGroup(GROUP_ID, 34);
|
||||
public static final EventLogGroup GROUP = new EventLogGroup(GROUP_ID, 35);
|
||||
private static final EventField<String> SCHEMA = EventFields.StringValidatedByCustomRule("schema", FileTypeSchemaValidator.class);
|
||||
private static final BooleanEventField ALPHABETICALLY = EventFields.Boolean("alphabetically");
|
||||
private static final EnumEventField<EditorKind> EDITOR_KIND = EventFields.Enum("editor_kind", EditorKind.class);
|
||||
@@ -61,6 +61,7 @@ public final class LookupUsageTracker extends CounterUsagesCollector {
|
||||
private static final LongEventField TIME_TO_SHOW_CORRECT_ELEMENT = EventFields.Long("time_to_show_correct_element");
|
||||
private static final LongEventField TIME_TO_SHOW_FIRST_ELEMENT = EventFields.Long("time_to_show_first_element");
|
||||
private static final LongEventField TIME_TO_COMPUTE_CORRECT_ELEMENT = EventFields.Long("time_to_compute_correct_element");
|
||||
private static final LongEventField INSERT_HANDLER_DURATION = EventFields.Long("insert_handler_duration");
|
||||
private static final IntEventField ORDER_ADDED_CORRECT_ELEMENT = EventFields.Int("order_added_correct_element");
|
||||
private static final BooleanEventField DUMB_FINISH = EventFields.Boolean("dumb_finish");
|
||||
private static final BooleanEventField DUMB_START = EventFields.Boolean("dumb_start");
|
||||
@@ -91,6 +92,7 @@ public final class LookupUsageTracker extends CounterUsagesCollector {
|
||||
TIME_TO_SHOW_CORRECT_ELEMENT,
|
||||
TIME_TO_SHOW_FIRST_ELEMENT,
|
||||
TIME_TO_COMPUTE_CORRECT_ELEMENT,
|
||||
INSERT_HANDLER_DURATION,
|
||||
ORDER_ADDED_CORRECT_ELEMENT,
|
||||
DUMB_FINISH,
|
||||
DUMB_START,
|
||||
@@ -131,6 +133,8 @@ public final class LookupUsageTracker extends CounterUsagesCollector {
|
||||
private @Nullable Long myTimestampCorrectElementShown = null;
|
||||
private @Nullable Long myTimestampCorrectElementComputed = null;
|
||||
private @Nullable Integer myOrderComputedCorrectElement = null;
|
||||
private @Nullable Long myItemSelectedInLookupMs = null;
|
||||
private @Nullable Long myItemInsertHandlerDurationMs = null;
|
||||
private final boolean myIsDumbStart;
|
||||
private final DependenciesState myIncompleteDependenciesStateStart;
|
||||
private final @Nullable Language myLanguage;
|
||||
@@ -175,6 +179,12 @@ public final class LookupUsageTracker extends CounterUsagesCollector {
|
||||
mySelectionChangedCount += 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean beforeItemSelected(@NotNull LookupEvent event) {
|
||||
myItemSelectedInLookupMs = System.currentTimeMillis();
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void itemSelected(@NotNull LookupEvent event) {
|
||||
LookupElement item = event.getItem();
|
||||
@@ -186,6 +196,12 @@ public final class LookupUsageTracker extends CounterUsagesCollector {
|
||||
myTimestampCorrectElementShown = item.getUserData(LOOKUP_ELEMENT_SHOW_TIMESTAMP_MILLIS);
|
||||
myTimestampCorrectElementComputed = item.getUserData(LOOKUP_ELEMENT_RESULT_ADD_TIMESTAMP_MILLIS);
|
||||
myOrderComputedCorrectElement = item.getUserData(LOOKUP_ELEMENT_RESULT_SET_ORDER);
|
||||
|
||||
if (myItemSelectedInLookupMs != null) {
|
||||
// insert handling happens between `beforeItemSelected` and `itemSelected`
|
||||
myItemInsertHandlerDurationMs = System.currentTimeMillis() - myItemSelectedInLookupMs;
|
||||
}
|
||||
|
||||
if (isSelectedByTyping(myLookup, item)) {
|
||||
triggerLookupUsed(FinishType.TYPED, item, completionChar);
|
||||
}
|
||||
@@ -284,6 +300,10 @@ public final class LookupUsageTracker extends CounterUsagesCollector {
|
||||
data.add(ORDER_ADDED_CORRECT_ELEMENT.with(myOrderComputedCorrectElement));
|
||||
}
|
||||
|
||||
if (myItemInsertHandlerDurationMs != null) {
|
||||
data.add(INSERT_HANDLER_DURATION.with(myItemInsertHandlerDurationMs));
|
||||
}
|
||||
|
||||
// Indexing
|
||||
data.add(DUMB_START.with(myIsDumbStart));
|
||||
data.add(DUMB_FINISH.with(DumbService.isDumb(myLookup.getProject())));
|
||||
|
||||
Reference in New Issue
Block a user