ユニティダッシュボードの「最も頻繁に使用される」部分を決定するためにZeitgeistと呼ばれるものが使用されていることは知っていますが、具体的にはどこにあるのか疑問に思いました。このセクションのアプリケーションの数はさまざまであることがわかっているため、今日最も使用されている#ほど単純ではありません。
最も頻繁に使用されるリストとランキングを指示するルールを表現する(比較的)簡単な方法はありますか?
簡単に言うと、最も頻繁に使用されるスコープは、アプリケーションを起動した回数で並べ替えます。つまり、 Firefox 1000回、 Chromium 999回起動した場合、Firefoxが最初に表示されます。 Firefoxを何ヶ月も起動していなくても。
簡単に言えば、最も頻繁に使用されるスコープは、インストールされたアプリケーションのZeitgeist.Index
を検索し、結果タイプがMostPopularSubjects
のラッパーです。 Zeitgeistは、zeitgeist-datahub
デーモンを使用してこの人気を測定します。このデーモンは、アプリケーションを起動するたびに統計を通知して更新します。関連するレンズコード ここ 、およびZeitgeistのAPIドキュメント ここ を見ることができます。
現在の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
オープンソースは美しくありませんか?