summaryrefslogtreecommitdiffstats
path: root/components/startup_metric_utils
Commit message (Collapse)AuthorAgeFilesLines
* base: Implement GetCurrentThreadPriority.erikchen2016-03-141-4/+0
| | | | | | | | | | | | | The Chrome thread priority is saved in the thread dictionary during SetCurrentThreadPriority(). This seemed a better approach than using thread_policy_get(), since there are 4 Chrome priorities which won't cleanly map to thread flavors. BUG=554651 Review URL: https://codereview.chromium.org/1620673003 Cr-Commit-Position: refs/heads/master@{#381102}
* Pre-read chrome_child.dll in the browser process.fdoray2016-02-052-5/+20
| | | | | | | | | | | | | Add an option to the PreRead field trial to pre-read chrome_child.dll in the browser process rather than in child processes. This is expected to reduce PLT.PT_RequestToFinish. BUG=547794 Review URL: https://codereview.chromium.org/1661503002 Cr-Commit-Position: refs/heads/master@{#373867}
* Remove code related to the OnlyIfCold option of the PreRead field trial.fdoray2016-02-032-5/+0
| | | | | | | | | | | Experimental results show that the heuristic that was used to determine whether a binary is warm isn't good enough. BUG=547794 Review URL: https://codereview.chromium.org/1654823004 Cr-Commit-Position: refs/heads/master@{#373301}
* Use a valid /prefetch argument when launching a process.fdoray2016-02-032-24/+23
| | | | | | | | | | | | | | | | The /prefetch:# argument that is currently added to the command line of processes launched with content::StartSandboxedProcess is ignored by Windows because # doesn't respect the [1, 8] constraint. This CL ensures that a valid /prefetch:# argument is used for every process launch (except when the feature is disabled by the PreRead field trial). BUG=577698 Review URL: https://codereview.chromium.org/1612663002 Cr-Commit-Position: refs/heads/master@{#373241}
* Update components for new prefs location.brettw2016-02-012-2/+3
| | | | | | | | | | | | | | | | This is a search-and-replace update for includes with "base/prefs" -> "components/prefs" and the headers re-sorted. DEPS files were updated to allow the components in question to depend on components/prefs. This should be a no-op from a build perspective. BUG=583034 Review URL: https://codereview.chromium.org/1651203002 Cr-Commit-Position: refs/heads/master@{#372780}
* Update GN build files for new prefs location.brettw2016-01-301-1/+1
| | | | | | | | | | Updates references from //base:prefs to //components/prefs/ TBR=jam@chromium.org Review URL: https://codereview.chromium.org/1652573002 Cr-Commit-Position: refs/heads/master@{#372540}
* Add SameVersionStartupCounts suffix to startup HardFault and Temperature ↵gab2016-01-262-88/+132
| | | | | | | | | | | | | | | | | | | | | | | | | | histograms. Also: - Move RecordTimeSinceLastStartup() and RecordStartupCount() as implementation details of RecordBrowserMainMessageLoopStart(). - Deprecate "Startup.BrowserMessageLoopStartHardFaultCount.FirstRun" histogram (obsolete and also replaced by the more generic "Startup.BrowserMessageLoopStartHardFaultCount.1") - Fix "Startup.BrowserMessageLoopStartHardFaultCount" to use 1 instead of 0 as minimum since 0 is implicit in UMA. - Fix "Startup.Temperature" to use STARTUP_TEMPERATURE_MAX instead of STARTUP_TEMPERATURE_COUNT as the |max_boundary| as this is what the UMA_HISTOGRAM_ENUMERATION macro expects FWICT. BUG=580211 Review URL: https://codereview.chromium.org/1637493002 Cr-Commit-Position: refs/heads/master@{#371630}
* Add Startup.SameVersionStartupCount histogramgab2016-01-226-13/+86
| | | | | | | | BUG=580211 Review URL: https://codereview.chromium.org/1619273003 Cr-Commit-Position: refs/heads/master@{#371073}
* Introduce .LukewarmStartup suffixgab2016-01-222-21/+36
| | | | | | | | BUG=580207 Review URL: https://codereview.chromium.org/1616113002 Cr-Commit-Position: refs/heads/master@{#370986}
* Store PreRead options obtained from the registry in a global variable.fdoray2016-01-212-30/+44
| | | | | | | | | | | | | | | | | | | | | | | | Instead of reading PreRead options from the registry every time they are needed, read them once and store them in a global variable. This optimization isn't immediately useful as PreRead options are currently read only once per process. However, with the upcoming /prefetch:# experiment, the browser process will need the PreRead options every time it launches a process. This CL also has these benefits: - The caller of GetPreReadOptions doesn't need to know the product registry path. This will allow content to get the PreRead options to decide whether it should use a /prefetch:# switch when launching a process. - The PreRead options are returned as a bit field instead of by setting multiple booleans. This will facilitate the addition of new PreRead options. BUG=577698 Review URL: https://codereview.chromium.org/1610733002 Cr-Commit-Position: refs/heads/master@{#370805}
* Move pre_read_field_trial_utils.h/cc to common/.fdoray2016-01-196-8/+8
| | | | | | | | | | | | | | | Move pre_read_field_trial_utils.h/cc from components/startup_metric_utils/browser/ to components/startup_metric_utils/common/. The files needs to be moved because I'm working on code that will use them from chrome/common/. BUG=577698 Review URL: https://codereview.chromium.org/1591663003 Cr-Commit-Position: refs/heads/master@{#370151}
* Add Startup.TimeSinceLastStartup histogram.fdoray2016-01-083-0/+61
| | | | | | | | | | This histogram shows the time between 2 consecutive startups. BUG=547794 Review URL: https://codereview.chromium.org/1558203003 Cr-Commit-Position: refs/heads/master@{#368354}
* Add Startup.SystemUptime histogram.fdoray2016-01-061-0/+25
| | | | | | | | | | | This histogram shows the time elapsed between system boot and Chrome browser process launch. BUG=547794 Review URL: https://codereview.chromium.org/1556103002 Cr-Commit-Position: refs/heads/master@{#367832}
* Switch to standard integer types in components/, part 4 of 4.avi2015-12-251-2/+5
| | | | | | | | | BUG=138542 TBR=blundell@chromium.org Review URL: https://codereview.chromium.org/1549993003 Cr-Commit-Position: refs/heads/master@{#366870}
* Fix startup_metric_utils::UpdatePreReadOptions.fdoray2015-12-141-7/+9
| | | | | | | | | | | | | | | | | variations::GetVariationParams returns false when there is no variation params for the current group. Because of that, with the current code, no group name is written in the registry by startup_metric_utils::UpdatePreReadOptions when the group is Default or EnabledNormalPriority2. With this CL, the group name is always written in the registry when it is not empty. BUG=547794 Review URL: https://codereview.chromium.org/1523003002 Cr-Commit-Position: refs/heads/master@{#365074}
* Add Pre-read Experiment: Preread Only Cold DLLs.fdoray2015-12-106-139/+164
| | | | | | | | | | | | | | | | | | | | | | | A Chrome process's main DLL is pre-read on each launch on Windows. This CL adds the EnabledColdOnly group to the PreRead field trial. For users in this group, DLLs will be pre-read only if they are cold. To detect that a DLL is cold, we read some bytes from its first page and check if that generates a hard fault. This should improve the following metrics: - PLT.PT_RequestToFinish, by about 5% at the 50th percentile. - Startup.FirstWebContents.NonEmptyPaint2.WarmStartup, by about 8% at the 50th percentile. - Startup.BrowserMessageLoopStartHardFaultCount, half the number of hard faults at the 50th percentile. - Less cold startups, because Superfetch does a better job? (based on results obtained with the "Disabled" group) BUG=547794 Review URL: https://codereview.chromium.org/1499223002 Cr-Commit-Position: refs/heads/master@{#364350}
* Fixing remaining VC++ 2015 64-bit build breaksbrucedawson2015-12-101-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | VC++ 2015 64-bit builds trigger many new warnings about possibly unintended truncation bugs. Some of the bugs have a very low signal-to- noise ratio and this change suppresses them (4311 and 4312). Others seem to find some real bugs so I am leaving them enabled for now (4302 and 4334), fixing the bugs, and adjusting the code to suppress the other warnings. The changes in shell_web_contents_view_delegate_win.cc, ipc_perftest_support.cc, test_root_certs_win.cc, TracedLayoutObject.* and TraceEvent.h appear to fix real truncation bugs. Typical warnings are: ipc\ipc_perftest_support.cc(351): warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) net\cert\test_root_certs_win.cc(103): warning C4302: 'reinterpret_cast': truncation from 'LPCSTR' to 'uint32_t' The main pattern is that VC++ 2015 is suspicious of code that converts a 64-bit pointer to a 32-bit integer. If the code converts from a pointer to a 64-bit integer, and then to a 32-bit integer, separating the type change from the truncation, then it assumes that the truncation is intentional. This seems like a reasonable heuristic. The warnings in the generated code were suppressed because they aren't bugs and because fixing gperf.exe (untouched since 2004) does not seem worthwhile. The warnings from gperf generated code look like: out\release_x64\gen\blink\core\csspropertynames.cpp(2914): warning C4302: 'type cast': truncation from 'char (*)[28]' to 'long' out\release_x64\gen\blink\core\cssvaluekeywords.cpp(3409): warning C4302: 'type cast': truncation from 'char (*)[4]' to 'long' Note that Windows HANDLE types are a wrapper around a pointer, but due to WOW64 (32-bit process on 64-bit Windows) compatibility they are always 32-bit values that can safely be truncated, then sign-extended back. Unfortunately Microsoft does not supply a safe-truncation macro. https://msdn.microsoft.com/en-us/library/windows/desktop/aa384203%28v=vs.85%29.aspx Also a few uncommented warning-disables in common.gypi were commented. Setting NOTRY=true because the change is hitting timeouts. See crbug.com/567377 and comment #119 for details. NOTRY=true BUG=440500 Review URL: https://codereview.chromium.org/1422773008 Cr-Commit-Position: refs/heads/master@{#364264}
* Change DLL pre-reading behavior with a field trial.fdoray2015-11-273-0/+161
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, on Windows, Chrome pre-reads chrome.dll and chrome_child.dll before they are used. On a test machine, we have found that increasing the thread priority during this operation reduces startup time. However, pre-reading might interfere with SuperFetch. This is hard to evaluate on a test machine because it takes multiple days for SuperFetch to be completely trained. This CL uses a field trial to measure startup time in the wild for 3 different scenarios: - EnabledNormalPriority: DLLs are pre-read with a normal thread priority (existing behavior). - EnabledHighPriority: DLLs are pre-read with a high thread priority. - Disabled: DLLs are not pre-read. Because the field trial list is not available in chrome.exe, the browser stores the group to use for the next startup in the registry. BUG=557984 Review URL: https://codereview.chromium.org/1446483002 Cr-Commit-Position: refs/heads/master@{#362020}
* Implements AddStartupEventsForTelemetry() in startup_metric_utils.cc for ↵gabadie2015-11-191-0/+19
| | | | | | | | | | | in-coming startup telemetry benchmarks using TBM. BUG=539287 CQ_EXTRA_TRYBOTS=tryserver.chromium.perf:linux_perf_bisect;tryserver.chromium.perf:mac_10_10_perf_bisect;tryserver.chromium.perf:win_perf_bisect;tryserver.chromium.perf:android_nexus5_perf_bisect Review URL: https://codereview.chromium.org/1410943005 Cr-Commit-Position: refs/heads/master@{#360592}
* Remove v1 of Startup.FirstWebContents.* stats deprecated in M48.gab2015-11-172-38/+0
| | | | | | | | | | (to be landed in M49) BUG=544138 Review URL: https://codereview.chromium.org/1450913003 Cr-Commit-Position: refs/heads/master@{#360002}
* Add UMA metric: Startup.BrowserMainToRendererMain.fdoray2015-11-1612-16/+231
| | | | | | | | | | | | | | | | | | | | | | | | | | This new metric keeps track of the time from BrowserMain() to RendererMain(). Time is recorded by renderer processes when they enter RendererMain(). This time is sent to the browser through an IPC. The browser records the first renderer main entry time that it receives and ignores the others. When the first non-empty paint occurs, the browser computes Startup.BrowserMainToRendererMain (First Renderer Main Entry Time - Browser Main Entry Time) and logs it. We need a renderer->browser IPC because the startup temperature is only known in the browser (we cannot pass this information with a cmd-line flag because it is not known yet when the first renderer is launched). We need to wait until the first non-empty paint to log the metric, because we don't have any guarantee that both the startup temperature and the first renderer main entry time are known before that. BUG=547794 Review URL: https://codereview.chromium.org/1413533008 Cr-Commit-Position: refs/heads/master@{#359904}
* Use TimeTicks as much as possible in startup_metric_utils.gab2015-11-112-92/+140
| | | | | | | | BUG=544131, 521164 Review URL: https://codereview.chromium.org/1425263003 Cr-Commit-Position: refs/heads/master@{#359183}
* Remove usage of MainEntryPointTime() inside the impl which has direct access ↵gab2015-11-091-10/+9
| | | | | | | | | | to the variable. BUG=544131 (makes that cleanup slightly easier) Review URL: https://codereview.chromium.org/1413193011 Cr-Commit-Position: refs/heads/master@{#358687}
* Move components/startup_metric_utils/* to ↵fdoray2015-11-093-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | components/startup_metric_utils/browser/*. This CL first landed as revision 357702. It was reverted because of an XP-only perf regression (crbug.com/551690). After discussion with jschuh@, it was decided that this regression can be ignored. We are working on new startup metrics that require sending IPCs from the renderer to the browser. The message definitions will live in components/startup_metric_utils/common/*, while the code that receives IPCs and logs UMA metrics will live in components/startup_metric_utils/browser/*. As a first step towards implementing these new metrics, this CL moves existing code from components/startup_metric_utils/* to components/startup_metric_utils/browser/*. BUG=547794 Review URL: https://codereview.chromium.org/1413153010 Cr-Commit-Position: refs/heads/master@{#358636}
* Revert of Move components/startup_metric_utils/* to ↵fdoray2015-11-063-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | components/startup_metric_utils/browser/*. (patchset #5 id:80001 of https://codereview.chromium.org/1413153010/ ) Reason for revert: We suspect that this CL is responsible for a 7.1%-7.7% regression in startup.warm.blank_page (crbug.com/551690) Original issue's description: > Move components/startup_metric_utils/* to components/startup_metric_utils/browser/*. > > We are working on new startup metrics that require sending IPCs from > the renderer to the browser. The message definitions will live in > components/startup_metric_utils/common/*, while the code that receives > IPCs and logs UMA metrics will live in > components/startup_metric_utils/browser/*. > > As a first step towards implementing these new metrics, this CL moves > existing code from components/startup_metric_utils/* to > components/startup_metric_utils/browser/*. > > BUG=547794 > > Committed: https://crrev.com/055d3862641a91e4a5ff2a49bd5d0f835f0436d1 > Cr-Commit-Position: refs/heads/master@{#357702} TBR=gab@chromium.org,sky@chromium.org,caitkp@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=551690 Review URL: https://codereview.chromium.org/1431053003 Cr-Commit-Position: refs/heads/master@{#358278}
* Kills TraceTicks, which was functionally the same as TimeTickscharliea2015-11-051-6/+6
| | | | | | | | | | | | | This was not true until last week's submission of http://crrev.com/1374753004. BUG=541692 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel NO_PRESUBMIT=true Review URL: https://codereview.chromium.org/1424703003 Cr-Commit-Position: refs/heads/master@{#358047}
* base: SysInfo::Uptime() returns a TimeDeltasque2015-11-051-3/+1
| | | | | | | | | | | | | | | | | | This makes more sense than returning a number of milliseconds, especially when the function name does not reflect the return value type. In a few places, the number of milliseconds is converted into a TimeDelta anyway. So this patch simplifies some of the code out there. BUG=chromium:157548 TEST=build successfully, SysInfoTest passes TBR=jif@chromium.org Signed-off-by: Simon Que <sque@chromium.org> Review URL: https://codereview.chromium.org/1417673009 Cr-Commit-Position: refs/heads/master@{#357937}
* Move components/startup_metric_utils/* to ↵fdoray2015-11-043-5/+5
| | | | | | | | | | | | | | | | | | | | components/startup_metric_utils/browser/*. We are working on new startup metrics that require sending IPCs from the renderer to the browser. The message definitions will live in components/startup_metric_utils/common/*, while the code that receives IPCs and logs UMA metrics will live in components/startup_metric_utils/browser/*. As a first step towards implementing these new metrics, this CL moves existing code from components/startup_metric_utils/* to components/startup_metric_utils/browser/*. BUG=547794 Review URL: https://codereview.chromium.org/1413153010 Cr-Commit-Position: refs/heads/master@{#357702}
* Move new Startup.FirstWebContents.* stats to Startup.FirstWebContents.*2.gab2015-10-292-4/+40
| | | | | | | | | | | Keep the old version of the stats around for a milestone as a comparison basis. BUG=525209 TBR=pkasting@chromium.org (for side-effects in c/b/ui browser_test) Review URL: https://codereview.chromium.org/1421293005 Cr-Commit-Position: refs/heads/master@{#356896}
* Add start/finish navigation to startup metrics.gab2015-10-292-0/+36
| | | | | | | | | | Also add a new abandon reason for navigation errors. BUG=544138, 525209 Review URL: https://codereview.chromium.org/1407093003 Cr-Commit-Position: refs/heads/master@{#356851}
* Add top-level async trace events for the main startup timings.gab2015-10-161-35/+68
| | | | | | | | | | | | | Allows to quickly see core metrics at a glance of a startup trace. See SS in bug for an example. As an added bonus, this also makes startup traces correctly consider 0s as the process creation time (instead of the first tracing event which is a fair bit later in practice). BUG=542798 Review URL: https://codereview.chromium.org/1408483002 Cr-Commit-Position: refs/heads/master@{#354522}
* Split Startup metrics based on Warm/Cold startup 'temperature'.chrisha2015-09-242-17/+107
| | | | | | | | | | | This also exposes a function that can be used to test for startup temperature, and subsequently split any other histograms of interest. R=gab@chromium.org,rkaplow@chromium.org BUG= Review URL: https://codereview.chromium.org/1365453002 Cr-Commit-Position: refs/heads/master@{#350442}
* Consolidate startup_metric_utils BrowserOpenTabs code.msw2015-08-272-0/+12
| | | | | | | | | | | | | | | Add startup_metric_utils::RecordBrowserOpenTabsDelta() helper. Record a (reasonably corresponding?) time delta in Mandoline. Change mojo:tracing to record a time delta instead of a timestamp. Minor cleanup in chrome_browser_main.cc. BUG=513779 TEST="./tools/perf/run_benchmark --browser=mandoline-debug startup.warm.blank_page" reports an 'open tabs time' closer to Chrome's. R=sky@chromium.org,gab@chromium.org Review URL: https://codereview.chromium.org/1315263002 Cr-Commit-Position: refs/heads/master@{#346021}
* Refine Chrome and Mandoline startup metric measurements.msw2015-08-262-14/+62
| | | | | | | | | | | | | | | | | | | | | | | Add startup_metric_utils helpers to record common metrics. (for FirstWebContentsProfiler, Browser, StatsCollectionController) Record the process creation time in startup_metric_utils. (timing taken from ChromeMainDelegate and mojo::Context) (measure Mandoline shell's process, not mojo:browser's) Also record a shell main entry point via mojo::Context. Record more accurate metrics around the mojo:browser app. Get the message loop start time from BrowserManager's ctor. Get the window display time from BrowserWindow::OnEmbed. Get the 'tab open' time from the end of OnEmbed. BUG=513779 TEST=More accurate measurements of Mandoline startup. No Chrome changes. R=sky@chromium.org,gab@chromium.org Review URL: https://codereview.chromium.org/1305203003 Cr-Commit-Position: refs/heads/master@{#345535}
* Use a lazy pointer for startup_metric_utils' main entry time.msw2015-08-202-19/+15
| | | | | | | | | | | | | | Also return a base::Time object from MainEntryPointTime() As requested in https://codereview.chromium.org/1287063010 BUG=513779 TEST=No behavior changes. R=gab@chromium.org TBR=mark@chromium.org Review URL: https://codereview.chromium.org/1298223006 Cr-Commit-Position: refs/heads/master@{#344564}
* Cleanup startup_metric_utils.msw2015-08-192-56/+48
| | | | | | | | | | | | | | | | | Use time args instead of Now() in startup_metric_utils. Use html_viewer's recorded browser_message_loop_start_time. Move "Startup.BrowserMessageLoopStartTime" recording. iOS may now record Startup.BrowserMessageLoopStartTime. Other minor code refactoring. BUG=513779 TEST=No differences in recorded Chrome metrics. R=gab@chromium.org,sky@chromium.org Review URL: https://codereview.chromium.org/1287063010 Cr-Commit-Position: refs/heads/master@{#344313}
* Add stats collection for telemetry startup.warm.blank_page test.msw2015-08-182-9/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | This attempts to mirror similar functionality in Chrome. Add StartupPerformance[Times|DataCollector] to mojo:metrics. Record times from the shell, mojo:browser, and mojo:html_viewer. Add the --enable-stats-collection-bindings flag for mandoline. Add StatsCollectionController to mojo:html_viewer. This registers and implements JS callbacks for perf testing. TODO: Record more appropriate times; sanity check values! TODO: Consolidate more code in startup_metric_utils. TODO: Serve histogram JSON, not times struct, from mojo:tracing? TODO: Refine mojo:tracing; combine with or use components/tracing? TODO: Use base::TimeTicks deltas (crbug.com/521164) TODO: Android support. BUG=513779,517622,521164 TEST="./tools/perf/run_benchmark --browser=mandoline-debug startup.warm.blank_page --also-run-disabled-tests" runs okay. R=yzshen@chromium.org,sky@chromium.org TBR=gab@chromium.org Review URL: https://codereview.chromium.org/1278673002 Cr-Commit-Position: refs/heads/master@{#343983}
* Deprecate Startup.SlowStartup* histograms.asvitkine2015-06-093-107/+4
| | | | | | | | | | | | | | | | | | | Per discussion on the associated bug, these aren't as useful without data for fast start ups and many of these areas are already being investigated using other mechanism (i.e. histograms that are always logged, UMA profiler, etc). Also updates components/startup_metric_utils/OWNERS to a more current set of people that are now focusing on the start up performance problem space, removing jeremy@ who is no longer working on Chrome. BUG=246555 Review URL: https://codereview.chromium.org/1167203002 Cr-Commit-Position: refs/heads/master@{#333491}
* Add UMA stats for hard-fault counts for Windows 7 and greater.chrisha2015-04-151-0/+151
| | | | | | | | | | | If this stat is strongly bimodal it will be used to distinguish warm from cold for various startup metrics. BUG=476923 TBR=jeremy@chromium.org Review URL: https://codereview.chromium.org/1084943002 Cr-Commit-Position: refs/heads/master@{#325337}
* Avoid using ToInternalValue in computing timings, so that the timings are ↵azarchs2014-09-161-2/+1
| | | | | | | | | | consistent accross platforms and with javascript performance timings API. BUG=413672 Review URL: https://codereview.chromium.org/557953006 Cr-Commit-Position: refs/heads/master@{#295123}
* Add LOCAL_ prefix to non-UMA histogram macros.asvitkine2014-08-261-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes it harder to accidently use the wrong macro. Also, removes the D* variants of the macros and associated DebugNow() function. These were rarely used and removing them removes clutter from the header file. Existing uses converted to be behind NDEBUG ifdefs. No functional changes except for a fix to the code in content_based_thumbnailing_algorithm.cc which was incorrectly using a ternary operator for the histogram name (which doesn't work since the macros cache the histogram object) and removal of local histograms Spellcheck.SuggestTime and Spellcheck.InitTime per groby@. Since this is an API rename, TBR'ing downstream owners. BUG=311349 TBR=groby@chromium.org,zea@chromium.org,jeremy@chromium.org,reveman@chromium.org,agl@chromium.org,jam@chromium.org Review URL: https://codereview.chromium.org/484603006 Cr-Commit-Position: refs/heads/master@{#291840}
* mac: Add a profiler for startup time.erikchen@chromium.org2014-07-182-0/+11
| | | | | | | | | | The profiler records UMA metrics for several key phases in Chrome startup. BUG=393819 Review URL: https://codereview.chromium.org/393753002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@283974 0039d316-1c4b-4281-b951-d872f2087c98
* Componentize bookmarks_codec_unittestblundell@chromium.org2014-05-061-1/+2
| | | | | | | | | | | | Moves test_bookmark_client to the bookmarks component and componentizes bookmarks_codec_unittest. The latter entails moving data files to //components/test/data and accessing them from that location in the test. BUG=367839,367829 Review URL: https://codereview.chromium.org/269813006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@268528 0039d316-1c4b-4281-b951-d872f2087c98
* Move some component's GN build files to main tree.brettw@chromium.org2014-04-021-0/+14
| | | | | | | | | | | | | This moves the files from the shadow tree and updates shared_library -> source_set. This also hooks up //url to the build (the file was already in the right place) BUG= R=blundell@chromium.org Review URL: https://codereview.chromium.org/221553002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@261140 0039d316-1c4b-4281-b951-d872f2087c98
* Report page load time for startup tests.jeremy@chromium.org2013-11-191-0/+30
| | | | | | | | | | | | | | | | | Add the following stats to startup tests: * foreground_tab_load_complete - time it took for the foreground tab to load * last_tab_load_complete - time it took for the last tab to load. All of these are in ms relative to browser main entry. Changes in Chrome: Report tab load time using base::Time rather than base::TimeTicks since all times are relative to browser main entry. BUG=317481 Review URL: https://codereview.chromium.org/62833008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@236009 0039d316-1c4b-4281-b951-d872f2087c98
* Add UMA tracking for timings around Chrome exe and dll loading.koz@chromium.org2013-11-192-0/+51
| | | | | | | | | | See histograms.xml for UMA descriptions. BUG=314526 Review URL: https://codereview.chromium.org/57633002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@235954 0039d316-1c4b-4281-b951-d872f2087c98
* Move startup_metric_utils.* to a new componentaberent@chromium.org2013-09-033-0/+240
startup_metric_utils is currently in chrome/common, but is only used by the browser. It can't be in chrome/browser because it is used by browser/bookmarks, which is becoming a component. To fix this create a new startup_metrics_utils component. BUG=280523 Review URL: https://chromiumcodereview.appspot.com/23515005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@220932 0039d316-1c4b-4281-b951-d872f2087c98