Closed
Bug 1209458
Opened 9 years ago
Closed 9 years ago
Replace HISTOGRAM_FILE_VERSION preprocessor usage with AppConstants.jsm definitions
Categories
(Toolkit :: Telemetry, defect, P3)
Toolkit
Telemetry
Tracking
()
RESOLVED
FIXED
mozilla44
Tracking | Status | |
---|---|---|
firefox44 | --- | fixed |
People
(Reporter: gfritzsche, Assigned: yarik.sheptykin, Mentored)
References
(Blocks 1 open bug)
Details
(Whiteboard: [unifiedTelemetry] [measurement:client] [lang=js])
Attachments
(2 files)
(In reply to Philip Chee from bug 1206085, comment #24)
> You forgot to update the moz.build file
> http://mxr.mozilla.org/mozilla-central/source/toolkit/components/telemetry/
> moz.build?rev=c646a88160d7#44
> Move from EXTRA_PP_JS_MODULES to EXTRA_JS_MODULES
>
> In TelemetrySession.jsm you can remove the final bit of preprocessing using
> AppConstants.jsm
>
> In toolkit/modules/moz.build add HISTOGRAMS_FILE_VERSION to the section that
> begins (This may not be needed):
>
> for var in ('ANDROID_PACKAGE_NAME',
> .......
>
> Then in AppConstants.jsm near the end of the file add a line like:
>
> HISTOGRAMS_FILE_VERSION: @HISTOGRAMS_FILE_VERSION@
>
> Then in TelemetrySession.jsm:
>
> - revision: HISTOGRAMS_FILE_VERSION,
> + revision: AppConstants.HISTOGRAMS_FILE_VERSION,
Reporter | ||
Comment 1•9 years ago
|
||
(In reply to Georg Fritzsche [:gfritzsche] from bug 1206085, comment #28)
> https://reviewboard.mozilla.org/r/19939/#review18551
>
> While we are doing this, we should also address/move the
> `HISTOGRAM_FILE_VERSION` definition:
> https://dxr.mozilla.org/mozilla-central/rev/
> 031db40e2b558c7e4dd0b4c565db4a992c1627c8/toolkit/components/telemetry/
> Makefile.in#9
>
> All this really has is the current revision of the repo (e.g.
> "https://hg.mozilla.org/mozilla-central/rev/6256ec9113c1"), so lets make
> this just a more general constant on AppConstants.jsm like `REVISION` or
> `SOURCE_REVISION`.
>
> I also wonder if we don't have a cleaner solution in or build system now.
>
> ::: toolkit/components/telemetry/moz.build:46
> (Diff revision 4)
> > - 'TelemetryController.jsm',
> > + 'TelemetryController.jsm',
> > - 'TelemetryEnvironment.jsm',
> > + 'TelemetryEnvironment.jsm',
> > - 'TelemetrySession.jsm',
> > + 'TelemetrySession.jsm',
>
> These are not testing-specific modules, they belong into `EXTRA_JS_MODULES`.
Assignee | ||
Updated•9 years ago
|
Assignee: nobody → yarik.sheptykin
Reporter | ||
Comment 2•9 years ago
|
||
(In reply to Georg Fritzsche [:gfritzsche] from comment #1)
> (In reply to Georg Fritzsche [:gfritzsche] from bug 1206085, comment #28)
> > https://reviewboard.mozilla.org/r/19939/#review18551
> >
> > While we are doing this, we should also address/move the
> > `HISTOGRAM_FILE_VERSION` definition:
> > https://dxr.mozilla.org/mozilla-central/rev/
> > 031db40e2b558c7e4dd0b4c565db4a992c1627c8/toolkit/components/telemetry/
> > Makefile.in#9
> >
> > All this really has is the current revision of the repo (e.g.
> > "https://hg.mozilla.org/mozilla-central/rev/6256ec9113c1"), so lets make
> > this just a more general constant on AppConstants.jsm like `REVISION` or
> > `SOURCE_REVISION`.
> >
> > I also wonder if we don't have a cleaner solution in or build system now.
gps, do you know if we have something cleaner by now?
All we really need is to have a string of the current source revision (e.g. "https://hg.mozilla.org/mozilla-central/rev/6256ec9113c1") in a JS module.
Do we still need that Makefile.in hack or do we have something nicer available now?
Flags: needinfo?(gps)
Reporter | ||
Updated•9 years ago
|
Status: NEW → ASSIGNED
Comment 3•9 years ago
|
||
Source revision information currently requires make foo. See config/makefiles/rcs.mk and various references in Makefile.in files. The easy solution is to add some one-off defines to a backend.mk-defined variable in a Makefile.in file so the source revision is populated at make/preprocessor time.
Flags: needinfo?(gps)
Assignee | ||
Comment 4•9 years ago
|
||
Hi Georg! Hi Phillip!
First, when I write SOURCE_REVISION I mean HISTOGRAMS_FILE_VERSION. I renamed it meanwhile according to Georg`s suggestion in comment 1.
I am stuck trying to get SOURCE_REVISION from Makefile.in into toolkit/modules/moz.build. I followed the instructions in the description but the configuration of the build system fails when I:
> > In toolkit/modules/moz.build add SOURCE_REVISION to the section that
> > begins (This may not be needed):
> >
> > for var in ('ANDROID_PACKAGE_NAME',
> > .......
i.e. = DEFINES['SOURCE_REVISION'] = CONFIG['SOURCE_REVISION'] triggers a failure.
Without that configuration succeeds but building AppConstants.jsm fails.
I was expecting that the moz-build system would magically detect the SOURCE_REVISION and add it to the CONFIG. This does not seem to be the case, so we should make configure aware of SOURCE_REVISION. I looked around to find an example of how others handle this an in all cases I could find people edit configure.in directly. see http://hg.mozilla.org/mozilla-central/rev/eb43469cf706 for ex. Is this the right way? Should I move SOURCE_REVISION declaration into configure.in?
Flags: needinfo?(philip.chee)
Flags: needinfo?(gfritzsche)
Reporter | ||
Comment 5•9 years ago
|
||
Thanks to Teds help i figured out what we need to do here.
I'll put that part up here and leave the Telemetry parts to you Iaroslav :)
(including cleaning up the Makefile.in there etc.)
Flags: needinfo?(philip.chee)
Flags: needinfo?(gfritzsche)
Reporter | ||
Comment 6•9 years ago
|
||
Attachment #8667984 -
Flags: review?(ted)
Comment 7•9 years ago
|
||
Comment on attachment 8667984 [details] [diff] [review]
Expose the current hg revision URL on AppConstants.jsm.
Review of attachment 8667984 [details] [diff] [review]:
-----------------------------------------------------------------
::: configure.in
@@ +8815,5 @@
>
> +# 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
I would leave out the MOZILLA_OFFICIAL bit, doesn't seem harmful to put this in for all builds, since we're checking for .hg already.
Attachment #8667984 -
Flags: review?(ted) → review+
Reporter | ||
Comment 8•9 years ago
|
||
(In reply to Ted Mielczarek [:ted.mielczarek] from comment #7)
> Comment on attachment 8667984 [details] [diff] [review]
> Expose the current hg revision URL on AppConstants.jsm.
>
> Review of attachment 8667984 [details] [diff] [review]:
> -----------------------------------------------------------------
>
> ::: configure.in
> @@ +8815,5 @@
> >
> > +# 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
>
> I would leave out the MOZILLA_OFFICIAL bit, doesn't seem harmful to put this
> in for all builds, since we're checking for .hg already.
I'm not sure if we should have a value there for local-only revisions (applied patches, local commits, ...).
Although we could just make Telemetry only submit this on official builds, maybe thats the better approach.
What do you think?
Flags: needinfo?(ted)
Comment 9•9 years ago
|
||
I was mostly thinking that relying on MOZILLA_OFFICIAL makes it slightly more of a pain to test, but I guess it's not really that important. Whatever you think is best is fine.
Flags: needinfo?(ted)
Reporter | ||
Comment 10•9 years ago
|
||
Ok, lets go with the current version then - if we have different needs we can always change this later.
Assignee | ||
Comment 11•9 years ago
|
||
Bug 1209458: Replace HISTOGRAM_FILE_VERSION preprocessor usage with AppConstants.jsm definitions. r?gfritzsche
Attachment #8669564 -
Flags: review?(gfritzsche)
Reporter | ||
Updated•9 years ago
|
Attachment #8669564 -
Flags: review?(gfritzsche) → review+
Reporter | ||
Comment 12•9 years ago
|
||
Comment on attachment 8669564 [details]
MozReview Request: Bug 1209458: Replace HISTOGRAM_FILE_VERSION preprocessor usage with AppConstants.jsm definitions. r=ted,gfritzsche
https://reviewboard.mozilla.org/r/21237/#review19131
Ok, i would have expected this to be based on my patch.
But its fine with me either way, you can just make this one r=ted,gfritzsche and go ahead.
Assignee | ||
Comment 13•9 years ago
|
||
Assignee | ||
Comment 14•9 years ago
|
||
(In reply to Georg Fritzsche [:gfritzsche] [away Oct 6 - Oct 8] from comment #12)
Thanks for the review, Georg!
> Ok, i would have expected this to be based on my patch.
Sorry about that. I imported your patch and mixed it into my tree. I was not sure how reviewboard deals with such things and expected it to delete all earlier attachments to a bug just like it does when I update a review. So I smashed everything together with histedit and sent it to review.
Just want you to know that there is no evil plan going on, rather a lack of experience. Next time I will try to do it properly.
> But its fine with me either way, you can just make this one r=ted,gfritzsche
> and go ahead.
I pushed this patch to the tryserver. Let's see how it behaves.
Reporter | ||
Comment 15•9 years ago
|
||
(In reply to Iaroslav Sheptykin from comment #14)
> (In reply to Georg Fritzsche [:gfritzsche] [away Oct 6 - Oct 8] from comment
> #12)
>
> Thanks for the review, Georg!
>
> > Ok, i would have expected this to be based on my patch.
>
> Sorry about that. I imported your patch and mixed it into my tree. I was not
> sure how reviewboard deals with such things and expected it to delete all
> earlier attachments to a bug just like it does when I update a review. So I
> smashed everything together with histedit and sent it to review.
> Just want you to know that there is no evil plan going on, rather a lack of
> experience. Next time I will try to do it properly.
No worries, i was just confused there for a moment - happens :)
Assignee | ||
Comment 16•9 years ago
|
||
Comment on attachment 8669564 [details]
MozReview Request: Bug 1209458: Replace HISTOGRAM_FILE_VERSION preprocessor usage with AppConstants.jsm definitions. r=ted,gfritzsche
Bug 1209458: Replace HISTOGRAM_FILE_VERSION preprocessor usage with AppConstants.jsm definitions. r=ted,gfritzsche
Attachment #8669564 -
Attachment description: MozReview Request: Bug 1209458: Replace HISTOGRAM_FILE_VERSION preprocessor usage with AppConstants.jsm definitions. r?gfritzsche → MozReview Request: Bug 1209458: Replace HISTOGRAM_FILE_VERSION preprocessor usage with AppConstants.jsm definitions. r=ted,gfritzsche
Attachment #8669564 -
Flags: review+ → review?(gfritzsche)
Assignee | ||
Comment 17•9 years ago
|
||
Some tests failed but they seem unrelated. There is a problem with healthreport on Windows, but it looks like this started before our patch.
Reporter | ||
Updated•9 years ago
|
Attachment #8669564 -
Flags: review?(gfritzsche) → review+
Reporter | ||
Comment 18•9 years ago
|
||
Comment on attachment 8669564 [details]
MozReview Request: Bug 1209458: Replace HISTOGRAM_FILE_VERSION preprocessor usage with AppConstants.jsm definitions. r=ted,gfritzsche
https://reviewboard.mozilla.org/r/21237/#review19521
Nothing really changed to the last version here?
ReviewBoard says there are some whitespace changes in `configure.in` in comparison to the previous revision.
Please double-check that you didn't unintentionally change some whitespacing in that file.
Reporter | ||
Comment 19•9 years ago
|
||
The failures look unrelated, i starred them as such.
Assignee | ||
Comment 20•9 years ago
|
||
Hi Georg! I didn't touch configure.in in the last changeset. I only updated the commit message with the reference to ted.
As far as I remember I did not rebase my work onto the newest central so my changeset applies to an outdated version of configure.in. This could explain the confusion of the ReviewBoard. But I will double-check that.
Assignee | ||
Comment 21•9 years ago
|
||
Comment on attachment 8669564 [details]
MozReview Request: Bug 1209458: Replace HISTOGRAM_FILE_VERSION preprocessor usage with AppConstants.jsm definitions. r=ted,gfritzsche
Bug 1209458: Replace HISTOGRAM_FILE_VERSION preprocessor usage with AppConstants.jsm definitions. r=ted,gfritzsche
Attachment #8669564 -
Flags: review+ → review?(gfritzsche)
Assignee | ||
Comment 22•9 years ago
|
||
Hi Georg!
It looks like we had a race with a bug 121452. I rebased our changeset onto the latest central which required a merge in moz.build. I checked the configure.in for empty lines introduced by our patch but I don"t see any. I believe that my histedits confuse reviewboard. Next time I will submit incremental changesets without editing published history. Sorry about that.
I am resending this to the tryserver.
Reporter | ||
Comment 23•9 years ago
|
||
Comment on attachment 8669564 [details]
MozReview Request: Bug 1209458: Replace HISTOGRAM_FILE_VERSION preprocessor usage with AppConstants.jsm definitions. r=ted,gfritzsche
https://reviewboard.mozilla.org/r/21237/#review19791
This looks good then, thanks for double-checking!
Attachment #8669564 -
Flags: review?(gfritzsche) → review+
Assignee | ||
Comment 24•9 years ago
|
||
Hi Georg!
The tests seem allright to me:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=336fb73d4319
checkin-needed here?
Flags: needinfo?(gfritzsche)
Reporter | ||
Comment 25•9 years ago
|
||
Yes, those look fine, thanks!
Flags: needinfo?(gfritzsche)
Keywords: checkin-needed
Comment 26•9 years ago
|
||
Keywords: checkin-needed
Comment 27•9 years ago
|
||
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla44
You need to log in
before you can comment on or make changes to this bug.
Description
•