Что определяет приложение как часто используемое?
Я знаю, что нечто, называемое Zeitgeist, используется для определения "наиболее часто используемой" части панели мониторинга Unity, но мне было интересно, что за специфика. Я знаю, что количество приложений в этом разделе варьируется, так что это не так просто, как # с большинством применений сегодня.
Существует ли какой-либо (относительно) простой способ выражения правил, которые определяют список и рейтинг наиболее часто используемых?
1 ответ
Основной ответ
Проще говоря, область наиболее часто используемых областей сортирует приложения по количеству запусков. То есть, если вы запустили Firefox 1000 раз, а Chromium 999 раз, Firefox будет указан первым. Даже если вы не запускали Firefox месяцами и месяцами.
Технический ответ
Проще говоря, наиболее часто используемая область - это оболочка, которая ищет Zeitgeist.Index
установленных приложений с типом результата MostPopularSubjects
, Zeitgeist измеряет эту популярность с zeitgeist-datahub
демон, который замечает и обновляет свою статистику каждый раз, когда вы запускаете приложение. Вы можете посмотреть соответствующий код объектива здесь и документацию API для Zeitgeist здесь.
Посмотрев на текущий код Zeitgeist, он выглядит MostPopularSubjects
простая сортировка по количеству доступов. Кроме того, при одинаковом количестве обращений к приложениям приложения сначала сортируются по самым новым. Это немного сложнее, чем этот, но SQL, сгенерированный для наиболее часто используемого запроса, более или менее:
SELECT
subj_id,
MAX(timestamp) as timestamp,
COUNT(subj_id) as num_events
FROM
event_view
GROUP BY
subj_id
ORDER BY
num_events DESC
timestamp DESC
Разве открытый код не красив?