
Someone else has been sending weird data to ours and it has bad initial test data so let's roll it before we ship it to everyone on Saturday.
80 lines
2.7 KiB
Bash
80 lines
2.7 KiB
Bash
setup-analytics() {
|
|
[[ -z "$HOMEBREW_ANALYTICS" ]] && return
|
|
[[ -n "$HOMEBREW_NO_ANALYTICS" ]] && return
|
|
|
|
# User UUID file. Used for Homebrew user counting. Can be deleted and
|
|
# recreated with no adverse effect (beyond our user counts being inflated).
|
|
HOMEBREW_ANALYTICS_USER_UUID_FILE="$HOME/.homebrew_analytics_user_uuid"
|
|
if [[ -r "$HOMEBREW_ANALYTICS_USER_UUID_FILE" ]]
|
|
then
|
|
HOMEBREW_ANALYTICS_USER_UUID="$(<"$HOMEBREW_ANALYTICS_USER_UUID_FILE")"
|
|
else
|
|
HOMEBREW_ANALYTICS_USER_UUID="$(uuidgen)"
|
|
echo "$HOMEBREW_ANALYTICS_USER_UUID" > "$HOMEBREW_ANALYTICS_USER_UUID_FILE"
|
|
fi
|
|
|
|
if [[ -n "$HOMEBREW_LINUX" ]]
|
|
then
|
|
# For Linuxbrew's analytics.
|
|
HOMEBREW_ANALYTICS_ID="UA-76492262-1"
|
|
else
|
|
# Otherwise, fall back to Homebrew's analytics.
|
|
HOMEBREW_ANALYTICS_ID="UA-76679469-1"
|
|
fi
|
|
|
|
export HOMEBREW_ANALYTICS_ID
|
|
export HOMEBREW_ANALYTICS_USER_UUID
|
|
}
|
|
|
|
report-analytics-screenview-command() {
|
|
[[ -z "$HOMEBREW_ANALYTICS" ]] && return
|
|
[[ -n "$HOMEBREW_NO_ANALYTICS" ]] && return
|
|
|
|
# Don't report non-official commands.
|
|
if ! [[ "$HOMEBREW_COMMAND" = "bundle" ||
|
|
"$HOMEBREW_COMMAND" = "cask" ||
|
|
"$HOMEBREW_COMMAND" = "services" ||
|
|
-f "$HOMEBREW_LIBRARY/Homebrew/cmd/$HOMEBREW_COMMAND.rb" ||
|
|
-f "$HOMEBREW_LIBRARY/Homebrew/cmd/$HOMEBREW_COMMAND.sh" ||
|
|
-f "$HOMEBREW_LIBRARY/Homebrew/dev-cmd/$HOMEBREW_COMMAND.rb" ||
|
|
-f "$HOMEBREW_LIBRARY/Homebrew/dev-cmd/$HOMEBREW_COMMAND.sh" ]]
|
|
then
|
|
return
|
|
fi
|
|
|
|
# Don't report commands used mostly by our scripts and not users.
|
|
# TODO: list more e.g. shell completion things here perhaps using a single
|
|
# script as a shell-completion entry point.
|
|
if [[ "$HOMEBREW_COMMAND" = "commands" ]]
|
|
then
|
|
return
|
|
fi
|
|
|
|
local args=(
|
|
--max-time 3 \
|
|
--user-agent "$HOMEBREW_USER_AGENT_CURL" \
|
|
-d v=1 \
|
|
-d tid="$HOMEBREW_ANALYTICS_ID" \
|
|
-d cid="$HOMEBREW_ANALYTICS_USER_UUID" \
|
|
-d aip=1 \
|
|
-d an="$HOMEBREW_PRODUCT" \
|
|
-d av="$HOMEBREW_VERSION" \
|
|
-d t=screenview \
|
|
-d cd="$HOMEBREW_COMMAND" \
|
|
)
|
|
|
|
# Send analytics. Don't send or store any personally identifiable information.
|
|
# https://github.com/Homebrew/brew/blob/master/share/doc/homebrew/Analytics.md
|
|
# https://developers.google.com/analytics/devguides/collection/protocol/v1/devguide#screenView
|
|
# https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters
|
|
if [[ -z "$HOMEBREW_ANALYTICS_DEBUG" ]]
|
|
then
|
|
"$HOMEBREW_CURL" https://www.google-analytics.com/collect \
|
|
"${args[@]}" \
|
|
--silent --output /dev/null &>/dev/null & disown
|
|
else
|
|
"$HOMEBREW_CURL" https://www.google-analytics.com/debug/collect \
|
|
"${args[@]}"
|
|
fi
|
|
}
|