From 95ce0bbec7f6650b270e2f17ed8eae2997179302 Mon Sep 17 00:00:00 2001 From: "Iaroslav (yarik) Sheptykin" Date: Thu, 1 Oct 2015 10:18:10 +0200 Subject: [PATCH] Bug 1209458 - Replace HISTOGRAM_FILE_VERSION preprocessor usage with AppConstants.jsm definitions. r=ted,gfritzsche --- configure.in | 12 ++++++++++++ toolkit/components/telemetry/Makefile.in | 7 ------- toolkit/components/telemetry/TelemetrySession.jsm | 6 +----- toolkit/components/telemetry/moz.build | 5 +---- toolkit/modules/AppConstants.jsm | 7 ++++++- toolkit/modules/moz.build | 3 ++- 6 files changed, 22 insertions(+), 18 deletions(-) diff --git a/configure.in b/configure.in index 4f0c8919618..6eb81033b3b 100644 --- a/configure.in +++ b/configure.in @@ -8777,6 +8777,18 @@ if test "$MOZILLA_OFFICIAL"; then MOZ_INCLUDE_SOURCE_INFO=1 fi +# On official builds, we need to know in Telemetry what revision this is built from. +# This is e.g. needed to match incoming data to a specific revision of the Histograms.json +# file. +if test "$MOZILLA_OFFICIAL" && test -d ${_topsrcdir}/.hg; then + SOURCE_REV=`cd $_topsrcdir && hg parent --template='{node|short}'` + SOURCE_REPO=`cd $_topsrcdir && hg showconfig paths.default | sed -e 's|^ssh://|http://|' -e 's|/$||'` + SOURCE_REV_URL=$SOURCE_REPO/rev/$SOURCE_REV +else + SOURCE_REV_URL= +fi +AC_SUBST(SOURCE_REV_URL) + AC_SUBST(MOZ_INCLUDE_SOURCE_INFO) AC_DEFINE_UNQUOTED(MOZ_TELEMETRY_DISPLAY_REV, 2) diff --git a/toolkit/components/telemetry/Makefile.in b/toolkit/components/telemetry/Makefile.in index 1763823a1ba..5cfcd252283 100644 --- a/toolkit/components/telemetry/Makefile.in +++ b/toolkit/components/telemetry/Makefile.in @@ -6,13 +6,6 @@ USE_RCS_MK := 1 include $(topsrcdir)/config/makefiles/rcs.mk -ifdef MOZILLA_OFFICIAL -MOZ_HISTOGRAMS_VERSION ?= $(call getSourceRepo)/rev/$(firstword $(shell hg -R $(topsrcdir) parent --template='{node|short}\n' 2>/dev/null)) -ifdef MOZ_HISTOGRAMS_VERSION -DEFINES += -DHISTOGRAMS_FILE_VERSION='$(MOZ_HISTOGRAMS_VERSION)' -endif -endif - INSTALL_TARGETS += histoenums histoenums_FILES := TelemetryHistogramEnums.h histoenums_DEST = $(DIST)/include/mozilla diff --git a/toolkit/components/telemetry/TelemetrySession.jsm b/toolkit/components/telemetry/TelemetrySession.jsm index cf0b3007fd8..899f21e13d9 100644 --- a/toolkit/components/telemetry/TelemetrySession.jsm +++ b/toolkit/components/telemetry/TelemetrySession.jsm @@ -47,10 +47,6 @@ const ENVIRONMENT_CHANGE_LISTENER = "TelemetrySession::onEnvironmentChange"; const MS_IN_ONE_HOUR = 60 * 60 * 1000; const MIN_SUBSESSION_LENGTH_MS = Preferences.get("toolkit.telemetry.minSubsessionLength", 10 * 60) * 1000; -// This is the HG changeset of the Histogram.json file, used to associate -// submitted ping data with its histogram definition (bug 832007) -#expand const HISTOGRAMS_FILE_VERSION = "__HISTOGRAMS_FILE_VERSION__"; - const LOGGER_NAME = "Toolkit.Telemetry"; const LOGGER_PREFIX = "TelemetrySession" + (Utils.isContentProcess ? "#content::" : "::"); @@ -1044,7 +1040,7 @@ var Impl = { let ret = { reason: reason, - revision: HISTOGRAMS_FILE_VERSION, + revision: AppConstants.SOURCE_REVISION_URL, asyncPluginInit: Preferences.get(PREF_ASYNC_PLUGIN_INIT, false), // Date.getTimezoneOffset() unintuitively returns negative values if we are ahead of diff --git a/toolkit/components/telemetry/moz.build b/toolkit/components/telemetry/moz.build index f400e3144b2..bd7113aceb7 100644 --- a/toolkit/components/telemetry/moz.build +++ b/toolkit/components/telemetry/moz.build @@ -36,6 +36,7 @@ EXTRA_JS_MODULES += [ 'TelemetryLog.jsm', 'TelemetryReportingPolicy.jsm', 'TelemetrySend.jsm', + 'TelemetrySession.jsm', 'TelemetryStopwatch.jsm', 'TelemetryStorage.jsm', 'TelemetryUtils.jsm', @@ -43,10 +44,6 @@ EXTRA_JS_MODULES += [ 'UITelemetry.jsm', ] -EXTRA_PP_JS_MODULES += [ - 'TelemetrySession.jsm', -] - TESTING_JS_MODULES += [ 'tests/unit/TelemetryArchiveTesting.jsm', ] diff --git a/toolkit/modules/AppConstants.jsm b/toolkit/modules/AppConstants.jsm index a3fbc009d57..fd5b8b2a753 100644 --- a/toolkit/modules/AppConstants.jsm +++ b/toolkit/modules/AppConstants.jsm @@ -223,5 +223,10 @@ this.AppConstants = Object.freeze({ #else false, #endif - DEBUG_JS_MODULES: "@DEBUG_JS_MODULES@" + DEBUG_JS_MODULES: "@DEBUG_JS_MODULES@", + + // URL to the hg revision this was built from (e.g. + // "https://hg.mozilla.org/mozilla-central/rev/6256ec9113c1") + // On unofficial builds, this is an empty string. + SOURCE_REVISION_URL: "@SOURCE_REV_URL@" }); diff --git a/toolkit/modules/moz.build b/toolkit/modules/moz.build index 94c6e2a7b6e..5e6b75228b0 100644 --- a/toolkit/modules/moz.build +++ b/toolkit/modules/moz.build @@ -107,7 +107,8 @@ for var in ('ANDROID_PACKAGE_NAME', 'MOZ_WIDGET_TOOLKIT', 'DLL_PREFIX', 'DLL_SUFFIX', - 'DEBUG_JS_MODULES'): + 'DEBUG_JS_MODULES', + 'SOURCE_REV_URL'): DEFINES[var] = CONFIG[var] for var in ('MOZ_TOOLKIT_SEARCH',