Was qualifiziert eine Anwendung als häufig verwendet?

7

Ich bin mir bewusst, dass etwas namens Zeitgeist verwendet wird, um den "am häufigsten verwendeten" Teil des Unity-Dashboards zu bestimmen, aber ich habe mich gefragt, wo die Einzelheiten liegen. Ich weiß, dass die Anzahl der Anwendungen in diesem Abschnitt unterschiedlich ist, daher ist es nicht so einfach wie das #, das heute am häufigsten verwendet wird.

Gibt es eine (relativ) einfache Möglichkeit, die Regeln auszudrücken, die die Auflistung und Rangfolge der am häufigsten verwendeten festlegen?

Lewis Goddard
quelle

Antworten:

8

Grundlegende Antwort

Einfach ausgedrückt, sortiert der am häufigsten verwendete Bereich Anwendungen nach der Häufigkeit, mit der Sie sie gestartet haben. Das heißt, wenn Sie Firefox 1000-mal und Chromium 999-mal gestartet haben, wird Firefox zuerst aufgeführt. Auch wenn Sie Firefox seit Monaten nicht mehr gestartet haben.

Technische Antwort

Einfach ausgedrückt ist der am häufigsten verwendete Bereich ein Wrapper, der eine Zeitgeist.Indexder installierten Anwendungen mit dem Ergebnistyp durchsucht MostPopularSubjects. Zeitgeist misst diese Beliebtheit mit dem zeitgeist-datahubDaemon, der seine Statistiken bei jedem Start einer Anwendung bemerkt und aktualisiert. Den entsprechenden Objektivcode finden Sie hier und die API-Dokumentation für Zeitgeist hier .

Nach dem Betrachten des aktuellen Zeitgeist-Codes scheint MostPopularSubjectses sich um eine einfache Sortierung nach Anzahl der Zugriffe zu handeln. Bei der gleichen Anzahl von Anwendungszugriffen werden die Anwendungen außerdem zuerst nach den neuesten sortiert. Es ist etwas komplexer als dieses, aber das SQL, das für eine am häufigsten verwendete Anforderung generiert wird, ist mehr oder weniger:

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

Ist Open Source nicht schön?

Jjed
quelle
Außerdem wird der Start der Anwendung von einem anderen Daemon namens aufgerufen, zeitgeist-datahubder diese Daten in die Hauptzeitgeist-Engine (die als Daemon ausgeführt wird) einspeist. Es gibt einen Desktop-Launch-Listener, der den App-Start hört
Manish Sinha