mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Usage view statistics: fixes in finished and cancelled events.
* removed `search_cancelled` event replaced it with a field in `finished` event. * added number of results in `popup.closed` event. Number of results is recorded from visible usages in popup GitOrigin-RevId: 521f0d239ab81c4cfc0d71ee585ddf533d37ae21
This commit is contained in:
committed by
intellij-monorepo-bot
parent
1f36544d00
commit
a0cf27aaf5
@@ -456,10 +456,9 @@ public class ShowUsagesAction extends AnAction implements PopupAction, HintManag
|
||||
Usage usage = node != null ? node.getUsage() : null;
|
||||
UsageInfo2UsageAdapter usageAdapter = ObjectUtils.tryCast(usage, UsageInfo2UsageAdapter.class);
|
||||
UsageInfo usageInfo = usageAdapter != null ? usageAdapter.getUsageInfo() : null;
|
||||
UsageViewStatisticsCollector.logPopupClosed(project, usageView, event.isOk(),
|
||||
getRowNumber(preselectedRow.get(), table),
|
||||
getRowNumber(node, table),
|
||||
popupShownTime.get(), actionHandler.buildFinishEventData(usageInfo));
|
||||
UsageViewStatisticsCollector.logPopupClosed(project, usageView, event.isOk(), getRowNumber(preselectedRow.get(), table),
|
||||
getRowNumber(node, table), visibleUsages.size(), popupShownTime.get(),
|
||||
actionHandler.buildFinishEventData(usageInfo));
|
||||
}
|
||||
});
|
||||
ProgressIndicator indicator = new ProgressIndicatorBase();
|
||||
@@ -617,13 +616,14 @@ public class ShowUsagesAction extends AnAction implements PopupAction, HintManag
|
||||
}
|
||||
|
||||
long current = System.nanoTime();
|
||||
|
||||
UsageViewStatisticsCollector.logSearchFinished(project,
|
||||
actionHandler.getTargetClass(), searchScope, actionHandler.getTargetLanguage(), usages.size(),
|
||||
TimeUnit.NANOSECONDS.toMillis(current - firstUsageAddedTS.get()),
|
||||
TimeUnit.NANOSECONDS.toMillis(current - searchStarted),
|
||||
tooManyResults.get(),
|
||||
CodeNavigateSource.ShowUsagesPopup, usageView);
|
||||
UsageViewStatisticsCollector.logSearchFinished(project, usageView,
|
||||
actionHandler.getTargetClass(), searchScope, actionHandler.getTargetLanguage(),
|
||||
visibleUsages.size(),
|
||||
TimeUnit.NANOSECONDS.toMillis(current - firstUsageAddedTS.get()),
|
||||
TimeUnit.NANOSECONDS.toMillis(current - searchStarted),
|
||||
tooManyResults.get(),
|
||||
indicator.isCanceled(),
|
||||
CodeNavigateSource.ShowUsagesPopup);
|
||||
},
|
||||
project.getDisposed()
|
||||
));
|
||||
|
||||
@@ -198,17 +198,9 @@ public class UsageViewManagerImpl extends UsageViewManager {
|
||||
scope = UsageView.USAGE_SCOPE.getData((DataProvider)element);
|
||||
}
|
||||
int numberOfUsagesFound = view == null ? 0 : view.getUsagesCount();
|
||||
if (isCancelled) {
|
||||
UsageViewStatisticsCollector.logSearchCancelled(myProject, targetClass, scope, language, numberOfUsagesFound,
|
||||
durationFirstResults, duration,
|
||||
tooManyUsages.get(), CodeNavigateSource.FindToolWindow, view);
|
||||
}
|
||||
else {
|
||||
UsageViewStatisticsCollector.logSearchFinished(myProject, targetClass, scope, language, numberOfUsagesFound,
|
||||
durationFirstResults, duration,
|
||||
tooManyUsages.get(), CodeNavigateSource.FindToolWindow, view);
|
||||
}
|
||||
|
||||
UsageViewStatisticsCollector.logSearchFinished(myProject, view, targetClass, scope, language, numberOfUsagesFound,
|
||||
durationFirstResults, duration,
|
||||
tooManyUsages.get(), isCancelled, CodeNavigateSource.FindToolWindow);
|
||||
return duration;
|
||||
}
|
||||
};
|
||||
|
||||
@@ -38,7 +38,7 @@ class UsageViewStatisticsCollector : CounterUsagesCollector() {
|
||||
override fun getGroup() = GROUP
|
||||
|
||||
companion object {
|
||||
val GROUP = EventLogGroup("usage.view", 20)
|
||||
val GROUP = EventLogGroup("usage.view", 21)
|
||||
val USAGE_VIEW = object : PrimitiveEventField<UsageView?>() {
|
||||
override val name: String = "usage_view"
|
||||
|
||||
@@ -108,20 +108,12 @@ class UsageViewStatisticsCollector : CounterUsagesCollector() {
|
||||
private val FIRST_RESULT_TS = EventFields.Long("duration_first_results_ms")
|
||||
private val TOO_MANY_RESULTS = EventFields.Boolean("too_many_result_warning")
|
||||
private val IS_SIMILAR_USAGE = EventFields.Boolean("is_similar_usage")
|
||||
private val IS_SEARCH_CANCELLED = EventFields.Boolean("search_cancelled")
|
||||
|
||||
private val searchStarted = GROUP.registerVarargEvent("started", USAGE_VIEW, UI_LOCATION, TARGET_ELEMENT_DATA, NUMBER_OF_TARGETS)
|
||||
|
||||
private val searchCancelled = GROUP.registerVarargEvent("cancelled",
|
||||
SYMBOL_CLASS,
|
||||
SEARCH_SCOPE,
|
||||
EventFields.Language,
|
||||
RESULTS_TOTAL,
|
||||
FIRST_RESULT_TS,
|
||||
EventFields.DurationMs,
|
||||
TOO_MANY_RESULTS,
|
||||
UI_LOCATION,
|
||||
USAGE_VIEW)
|
||||
private val searchFinished = GROUP.registerVarargEvent("finished",
|
||||
USAGE_VIEW,
|
||||
SYMBOL_CLASS,
|
||||
SEARCH_SCOPE,
|
||||
EventFields.Language,
|
||||
@@ -129,7 +121,8 @@ class UsageViewStatisticsCollector : CounterUsagesCollector() {
|
||||
FIRST_RESULT_TS,
|
||||
EventFields.DurationMs,
|
||||
TOO_MANY_RESULTS,
|
||||
UI_LOCATION, USAGE_VIEW)
|
||||
IS_SEARCH_CANCELLED,
|
||||
UI_LOCATION)
|
||||
private val itemChosen = GROUP.registerVarargEvent("item.chosen",
|
||||
USAGE_VIEW,
|
||||
UI_LOCATION,
|
||||
@@ -155,6 +148,7 @@ class UsageViewStatisticsCollector : CounterUsagesCollector() {
|
||||
private val ITEM_CHOSEN = EventFields.Boolean("item_chosen")
|
||||
private val popupClosed = GROUP.registerVarargEvent("popup.closed", USAGE_VIEW, PRESELECTED_ROW, SELECTED_ROW, ITEM_CHOSEN,
|
||||
TARGET_ELEMENT_DATA,
|
||||
RESULTS_TOTAL,
|
||||
NUMBER_OF_TARGETS, SELECTED_ELEMENT_DATA, IS_THE_SAME_FILE,
|
||||
IS_SELECTED_ELEMENT_AMONG_RECENT_FILES,
|
||||
EventFields.DurationMs)
|
||||
@@ -257,32 +251,11 @@ class UsageViewStatisticsCollector : CounterUsagesCollector() {
|
||||
itemChosenInPopupFeatures.log(project, showUsagesHandlerData)
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
fun logSearchCancelled(project: Project?,
|
||||
targetClass: Class<*>?,
|
||||
scope: SearchScope?,
|
||||
language: Language?,
|
||||
results: Int,
|
||||
durationFirstResults: Long,
|
||||
duration: Long,
|
||||
tooManyResult: Boolean,
|
||||
source: CodeNavigateSource,
|
||||
usageView: UsageView?) {
|
||||
searchCancelled.log(project,
|
||||
SYMBOL_CLASS.with(targetClass),
|
||||
SEARCH_SCOPE.with(scope?.let { ScopeIdMapper.instance.getScopeSerializationId(it.displayName) }),
|
||||
EventFields.Language.with(language),
|
||||
RESULTS_TOTAL.with(results),
|
||||
FIRST_RESULT_TS.with(durationFirstResults),
|
||||
EventFields.DurationMs.with(duration),
|
||||
TOO_MANY_RESULTS.with(tooManyResult),
|
||||
UI_LOCATION.with(source),
|
||||
USAGE_VIEW.with(usageView))
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
fun logSearchFinished(
|
||||
project: Project?,
|
||||
usageView : UsageView?,
|
||||
targetClass: Class<*>?,
|
||||
scope: SearchScope?,
|
||||
language: Language?,
|
||||
@@ -290,8 +263,8 @@ class UsageViewStatisticsCollector : CounterUsagesCollector() {
|
||||
durationFirstResults: Long,
|
||||
duration: Long,
|
||||
tooManyResult: Boolean,
|
||||
source: CodeNavigateSource,
|
||||
usageView : UsageView?
|
||||
isCancelled: Boolean,
|
||||
source: CodeNavigateSource
|
||||
) {
|
||||
searchFinished.log(project,
|
||||
USAGE_VIEW.with(usageView),
|
||||
@@ -302,6 +275,7 @@ class UsageViewStatisticsCollector : CounterUsagesCollector() {
|
||||
FIRST_RESULT_TS.with(durationFirstResults),
|
||||
EventFields.DurationMs.with(duration),
|
||||
TOO_MANY_RESULTS.with(tooManyResult),
|
||||
IS_SEARCH_CANCELLED.with(isCancelled),
|
||||
UI_LOCATION.with(source))
|
||||
}
|
||||
|
||||
@@ -350,11 +324,13 @@ class UsageViewStatisticsCollector : CounterUsagesCollector() {
|
||||
itemChosen: Boolean,
|
||||
preselectRow: Int,
|
||||
selectedRow: Int?,
|
||||
results: Int,
|
||||
startTime: Long?,
|
||||
showUsagesHandlerEventData: MutableList<EventPair<*>>) {
|
||||
showUsagesHandlerEventData.add(USAGE_VIEW.with(usageView))
|
||||
showUsagesHandlerEventData.add(ITEM_CHOSEN.with(itemChosen))
|
||||
showUsagesHandlerEventData.add(PRESELECTED_ROW.with(preselectRow))
|
||||
showUsagesHandlerEventData.add(RESULTS_TOTAL.with(results))
|
||||
selectedRow?.let { showUsagesHandlerEventData.add(SELECTED_ROW.with(it)) }
|
||||
showUsagesHandlerEventData.addAll(showUsagesHandlerEventData)
|
||||
if (startTime != null) {
|
||||
|
||||
Reference in New Issue
Block a user