我们衡量什么?
我们使用 Cloudflare 提供的估算数据,衡量社区扩展(以及常规扩展)的 INSTALL
事件,这些事件触发了从 http[s]://community-extensions.duckdb.org
站点进行的下载。
我们在 https://community-extensions.duckdb.org/downloads-last-week.json
端点发布关于下载总数的数据,这些数据按 DuckDB 版本和平台进行了聚合。
分析下载量
一个用于返回按下载量降序排列的社区扩展列表的查询示例是
UNPIVOT (
SELECT 'community' AS repository, *
FROM 'https://community-extensions.duckdb.org/downloads-last-week.json'
)
ON COLUMNS(* EXCLUDE (_last_update, repository))
INTO NAME extension VALUE downloads_last_week
ORDER BY downloads_last_week DESC;
例如,要返回自 2024 年 10 月 1 日以来各周的下载计数
PIVOT (
UNPIVOT (
FROM read_json([
printf('https://community-extensions.duckdb.org/download-stats-weekly/%s.json',
strftime(x, '%Y/%W')
)
FOR x
IN range(TIMESTAMP '2024-10-01', now()::TIMESTAMP, INTERVAL 1 WEEK)
IF strftime(x, '%W') != '53'
], union_by_name := true)
)
ON COLUMNS(* EXCLUDE _last_update)
INTO NAME extension VALUE downloads
)
ON date_trunc('day', _last_update)
USING any_value(downloads)
ORDER BY extension;