Что определяет приложение как часто используемое?

Я знаю, что нечто, называемое 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

Разве открытый код не красив?

Другие вопросы по тегам