Homebrew 使用 InfluxDB 收集匿名分析。您在首次运行 brew update
或安装 Homebrew 时会收到通知。在显示此通知之前不会启用分析,以确保您可以在不发送任何分析数据的情况下 选择退出。
Homebrew 完全免费,由志愿者在业余时间运行。因此,我们没有资源对 Homebrew 用户进行详细的用户研究,以决定如何最好地设计未来的功能并优先考虑当前的工作。匿名分析允许我们根据人们使用 Homebrew 的方式、地点和时间来优先考虑修复和功能。例如
Homebrew 的匿名分析在 InfluxDB 中的保留期为 365 天。
Homebrew 的分析会记录每个公式或木桶事件的一些共享信息
true
。/opt/homebrew
)或自定义前缀(例如,/home/mike/.brew
)。如果您的前缀是自定义的,它将作为 custom-prefix
发送,以保持匿名性。HOMEBREW_DEVELOPER
环境变量,则为 true
。devcmdrun
,例如,如果您曾经运行过 Homebrew 的某个开发者命令,则为 true
。x86_64
。macOS 13
。4.0.0
。以前发送到 Google Analytics 的所有分析数据均已销毁。
Homebrew 的分析记录以下不同的事件
install
”事件类别和您从非私有 GitHub tap 安装的 Homebrew 公式以及任何已使用的选项(例如 wget --HEAD
)作为操作。这使我们能够识别应优先处理哪些公式,以及如何处理任何公式的可能弃用或删除。install_on_request
”事件类别和您已请求从非私有 GitHub tap 安装的 Homebrew 公式(例如,当使用 brew install
明确命名时)以及选项。这使我们能够区分用户打算安装的公式和作为依赖项引入的公式。cask_install
”事件类别和您从非私有 GitHub tap 安装的 Homebrew cask 作为操作。这使我们能够识别应优先处理哪些 cask,以及如何处理任何 cask 的可能弃用或删除。build_error
”事件类别和安装失败的 Homebrew 公式以及选项作为操作,例如 wget --HEAD
。这使我们能够识别可能需要修复的公式。构建错误的详细信息或日志不会被发送。command_run
”事件类别和您作为操作运行的命令和标志。这使我们能够识别最常使用和根本不使用的命令和标志。test_bot_test
”事件类别仅在 Homebrew 的 CI 环境中使用,用于记录对拉取请求运行测试的结果。您还可以通过在您的环境中设置 HOMEBREW_ANALYTICS_DEBUG=1
来查看 Homebrew 分析发送的所有信息。请注意,这也将阻止发送任何分析。
Homebrew 开发人员不可能将任何特定事件与任何特定用户匹配。我们不存储或接收 IP 地址。
Homebrew 的分析在整个 Homebrew 执行过程中通过 HTTPS 发送到 InfluxDB。
分析事件的聚合是 公开的。JSON API 也可用。除了这些公共资源之外,大多数 Homebrew 维护人员都没有获得更详细的分析数据。
代码可以在 analytics.rb
和 analytics.sh
中查看。它们在单独的后台进程中完成,并快速失败以避免延迟任何执行。如果您没有网络连接,它们将立即静默失败。
Homebrew 分析有助于我们维护人员,保留它将不胜感激。但是,如果您想退出 Homebrew 的分析,您可以在您的环境中设置此变量
export HOMEBREW_NO_ANALYTICS=1
或者,这将阻止分析被发送
brew analytics off