|
|
Created:
6 years, 6 months ago by Alexei Svitkine (slow) Modified:
6 years, 6 months ago CC:
chromium-reviews, Ilya Sherman, asvitkine+watch_chromium.org Base URL:
svn://svn.chromium.org/chrome/trunk/src/ Project:
chromium Visibility:
Public. |
DescriptionSimulate variation seeds using installed version string.
Exposes getting the installed version from UpgradeDetector and
uses it from VariationService when simulating new Finch seeds,
so that the simulation more accurately reflects what will happen
on a restart when that seed will be applied.
BUG=315807
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=278740
Patch Set 1 : #
Total comments: 11
Patch Set 2 : #Patch Set 3 : #
Total comments: 2
Patch Set 4 : #Patch Set 5 : #
Messages
Total messages: 31 (0 generated)
Finnur: Please review changes to UpgradeDetectorImpl Ilya: Please review changes to VariationsService (as Jesse is on vacation) Also, perhaps the method I'm exposing from UpgradeDetectorImpl should live outside of that class? If so, suggestions welcome for where it should live. Thanks!
https://codereview.chromium.org/333313003/diff/40001/chrome/browser/metrics/v... File chrome/browser/metrics/variations/variations_service.cc (right): https://codereview.chromium.org/333313003/diff/40001/chrome/browser/metrics/v... chrome/browser/metrics/variations/variations_service.cc:249: } nit: It would be nice if there weren't multiple constructors for this class... (not necessarily something that needs to be addressed as part of this CL, but just something I'm noticing from looking at this code). (Alternately, it would be nice if we could C++11 already.) https://codereview.chromium.org/333313003/diff/40001/chrome/browser/metrics/v... chrome/browser/metrics/variations/variations_service.cc:440: content::BrowserThread::FILE, FROM_HERE, I believe that the shared blocking thread pool is preferred over the file thread these days. https://codereview.chromium.org/333313003/diff/40001/chrome/browser/metrics/v... File chrome/browser/metrics/variations/variations_service.h (right): https://codereview.chromium.org/333313003/diff/40001/chrome/browser/metrics/v... chrome/browser/metrics/variations/variations_service.h:16: #include "base/version.h" nit: Can this be forward-declared? https://codereview.chromium.org/333313003/diff/40001/chrome/browser/metrics/v... chrome/browser/metrics/variations/variations_service.h:150: // Performs a variations seed simulation with the given |seed| and |version|. From just reading the declaration and comment, it's unclear to me why this is a void method. What happens to the result of the simulation?
https://codereview.chromium.org/333313003/diff/40001/chrome/browser/metrics/v... File chrome/browser/metrics/variations/variations_service.cc (right): https://codereview.chromium.org/333313003/diff/40001/chrome/browser/metrics/v... chrome/browser/metrics/variations/variations_service.cc:249: } On 2014/06/17 21:24:59, Ilya Sherman wrote: > nit: It would be nice if there weren't multiple constructors for this class... > (not necessarily something that needs to be addressed as part of this CL, but > just something I'm noticing from looking at this code). (Alternately, it would > be nice if we could C++11 already.) I think this can be cleaned up. File http://crbug.com/385843 https://codereview.chromium.org/333313003/diff/40001/chrome/browser/metrics/v... chrome/browser/metrics/variations/variations_service.cc:440: content::BrowserThread::FILE, FROM_HERE, On 2014/06/17 21:24:59, Ilya Sherman wrote: > I believe that the shared blocking thread pool is preferred over the file thread > these days. When I try that, I get: ../../chrome/browser/metrics/variations/variations_service.cc:439:46: error: no member named 'PostTaskAndReplyWithResult' in 'base::SequencedWorkerPool' content::BrowserThread::GetBlockingPool()->PostTaskAndReplyWithResult( ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ I suppose base::SequencedWorkerPool can be expanded with that API, but I'd rather not shave an extra yak unless you insist. Let me know what you prefer. https://codereview.chromium.org/333313003/diff/40001/chrome/browser/metrics/v... File chrome/browser/metrics/variations/variations_service.h (right): https://codereview.chromium.org/333313003/diff/40001/chrome/browser/metrics/v... chrome/browser/metrics/variations/variations_service.h:16: #include "base/version.h" On 2014/06/17 21:24:59, Ilya Sherman wrote: > nit: Can this be forward-declared? Done. https://codereview.chromium.org/333313003/diff/40001/chrome/browser/metrics/v... chrome/browser/metrics/variations/variations_service.h:150: // Performs a variations seed simulation with the given |seed| and |version|. On 2014/06/17 21:24:59, Ilya Sherman wrote: > From just reading the declaration and comment, it's unclear to me why this is a > void method. What happens to the result of the simulation? Currently, it only logs histograms. In another CL (that's under review) it will notify observers based on the simulation results. I've expanded the comment to mention the current behavior.
https://codereview.chromium.org/333313003/diff/40001/chrome/browser/metrics/v... File chrome/browser/metrics/variations/variations_service.cc (right): https://codereview.chromium.org/333313003/diff/40001/chrome/browser/metrics/v... chrome/browser/metrics/variations/variations_service.cc:249: } On 2014/06/17 22:15:54, Alexei Svitkine wrote: > On 2014/06/17 21:24:59, Ilya Sherman wrote: > > nit: It would be nice if there weren't multiple constructors for this class... > > (not necessarily something that needs to be addressed as part of this CL, but > > just something I'm noticing from looking at this code). (Alternately, it > would > > be nice if we could C++11 already.) > > I think this can be cleaned up. File http://crbug.com/385843 Thanks :) https://codereview.chromium.org/333313003/diff/40001/chrome/browser/metrics/v... chrome/browser/metrics/variations/variations_service.cc:440: content::BrowserThread::FILE, FROM_HERE, On 2014/06/17 22:15:54, Alexei Svitkine wrote: > On 2014/06/17 21:24:59, Ilya Sherman wrote: > > I believe that the shared blocking thread pool is preferred over the file > thread > > these days. > > When I try that, I get: > > ../../chrome/browser/metrics/variations/variations_service.cc:439:46: error: no > member named 'PostTaskAndReplyWithResult' in 'base::SequencedWorkerPool' > content::BrowserThread::GetBlockingPool()->PostTaskAndReplyWithResult( > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ > > I suppose base::SequencedWorkerPool can be expanded with that API, but I'd > rather not shave an extra yak unless you insist. Let me know what you prefer. Can you use PostTaskAndReplyWithResult() from base/task_runner_util.h?
UpgradeDetector changes LGTM.
(PS. Didn't see your request yesterday due to national holiday).
https://codereview.chromium.org/333313003/diff/40001/chrome/browser/metrics/v... File chrome/browser/metrics/variations/variations_service.cc (right): https://codereview.chromium.org/333313003/diff/40001/chrome/browser/metrics/v... chrome/browser/metrics/variations/variations_service.cc:440: content::BrowserThread::FILE, FROM_HERE, On 2014/06/17 22:27:53, Ilya Sherman wrote: > On 2014/06/17 22:15:54, Alexei Svitkine wrote: > > On 2014/06/17 21:24:59, Ilya Sherman wrote: > > > I believe that the shared blocking thread pool is preferred over the file > > thread > > > these days. > > > > When I try that, I get: > > > > ../../chrome/browser/metrics/variations/variations_service.cc:439:46: error: > no > > member named 'PostTaskAndReplyWithResult' in 'base::SequencedWorkerPool' > > content::BrowserThread::GetBlockingPool()->PostTaskAndReplyWithResult( > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ > > > > I suppose base::SequencedWorkerPool can be expanded with that API, but I'd > > rather not shave an extra yak unless you insist. Let me know what you prefer. > > Can you use PostTaskAndReplyWithResult() from base/task_runner_util.h? Done. Kind of silly that we have a bunch of different ways to do this, depending on the situation (instance methods, static methods, free-standing functions, sigh). Thanks for finding the right one here.
LGTM, thanks. https://codereview.chromium.org/333313003/diff/80001/chrome/browser/metrics/v... File chrome/browser/metrics/variations/variations_service.h (right): https://codereview.chromium.org/333313003/diff/80001/chrome/browser/metrics/v... chrome/browser/metrics/variations/variations_service.h:15: #include "base/task_runner_util.h" nit: Does this need to be in the header file, or can it be moved to the implementation file?
https://codereview.chromium.org/333313003/diff/80001/chrome/browser/metrics/v... File chrome/browser/metrics/variations/variations_service.h (right): https://codereview.chromium.org/333313003/diff/80001/chrome/browser/metrics/v... chrome/browser/metrics/variations/variations_service.h:15: #include "base/task_runner_util.h" On 2014/06/18 17:11:36, Ilya Sherman wrote: > nit: Does this need to be in the header file, or can it be moved to the > implementation file? Oops, meant to add it to the .cc file, but I guess I had the wrong file open. Fixed now.
The CQ bit was checked by asvitkine@chromium.org
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/asvitkine@chromium.org/333313003/100001
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: chromium_presubmit on tryserver.chromium (http://build.chromium.org/p/tryserver.chromium/builders/chromium_presubmit/bu...)
The CQ bit was checked by asvitkine@chromium.org
The CQ bit was unchecked by asvitkine@chromium.org
+sky for chrome/ OWNERS
LGTM
The CQ bit was checked by asvitkine@chromium.org
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/asvitkine@chromium.org/333313003/100001
The CQ bit was unchecked by asvitkine@chromium.org
Finnur, can you take another look? I had to make a change to upgrade_detector_impl.cc to fix a compile issue on Windows as the GetCriticalUpdateVersion() code actually needed variables that were local to the new function. I've now introduced a helper function in the anon namespace.
LGTM
The CQ bit was checked by asvitkine@chromium.org
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/asvitkine@chromium.org/333313003/120001
FYI, CQ is re-trying this CL (attempt #1). The failing builders are: android_aosp on tryserver.chromium (http://build.chromium.org/p/tryserver.chromium/builders/android_aosp/builds/8...) win_gpu_triggered_tests on tryserver.chromium.gpu (http://build.chromium.org/p/tryserver.chromium.gpu/builders/win_gpu_triggered...)
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: win_gpu_triggered_tests on tryserver.chromium.gpu (http://build.chromium.org/p/tryserver.chromium.gpu/builders/win_gpu_triggered...)
The CQ bit was checked by asvitkine@chromium.org
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/asvitkine@chromium.org/333313003/120001
FYI, CQ is re-trying this CL (attempt #1). The failing builders are: win_gpu_triggered_tests on tryserver.chromium.gpu (http://build.chromium.org/p/tryserver.chromium.gpu/builders/win_gpu_triggered...)
Message was sent while issue was closed.
Change committed as 278740 |