These headers are very widely included, and this generated header is
enormous (about 18k LOC). This is estimated to trim about 1.4 GB off
Chrome's preprocessed source size (0.33%).
Bug: 40318405
Change-Id: I86abec3db39cb7989566bcf0fc266e89444813a2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6266086
Auto-Submit: Jeremy Roman <jbroman@chromium.org>
Reviewed-by: Robert Flack <flackr@chromium.org>
Commit-Queue: Robert Flack <flackr@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1420469}
NOTREACHED() and NOTREACHED_IN_MIGRATION() are both CHECK-fatal now.
The former is [[noreturn]] so this CL also performs dead-code removal
after the NOTREACHED().
This CL does not attempt to do additional rewrites of any surrounding
code, like:
if (!foo) {
NOTREACHED();
}
to CHECK(foo);
Those transforms take a non-trivial amount of time (and there are
thousands of instances). Cleanup can be left as an exercise for the
reader.
Bug: 40580068
Change-Id: Ib1ec65c775c4c64f0dffc002c232000d3688a2fb
Cq-Include-Trybots: luci.chromium.try:linux-dcheck-off-rel
Low-Coverage-Reason: OTHER Should-be-unreachable code
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5975073
Commit-Queue: Peter Boström <pbos@chromium.org>
Reviewed-by: Sam McNally <sammc@chromium.org>
Reviewed-by: Mitsuru Oshima <oshima@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1375585}
This should capture the work done on scroll input better. This CL also
removes a helper function that is no longer needed.
Bug: b/355589236,b/356584965
Change-Id: Id6be46e7af143324a51d48d670cadcaeed5404cc
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5899137
Commit-Queue: Tushar Agarwal <agarwaltushar@google.com>
Reviewed-by: Robert Flack <flackr@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1363834}
This CL removes small slices (e.g. during `Terminate()`), since such
slices are not useful for tracking the work done on the critical path of
fast path scrolling. We already have other overlapping
`LatencyInfo.Flow` or `Graphics.Pipeline` slices for tracking such work.
Bug: b/356584965,b/365983208
Change-Id: I895dc07f36d8756181c6fbecaa8518d7b2233406
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5898956
Commit-Queue: Tushar Agarwal <agarwaltushar@google.com>
Reviewed-by: Mikhail Khokhlov <khokhlov@google.com>
Auto-Submit: Tushar Agarwal <agarwaltushar@google.com>
Reviewed-by: Jonathan Ross <jonross@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1362278}
This CL adds two new slices (for gesture and touch events) representing
the finishing of input handling on Browser main.
We plan to use `LatencyInfo.Flow` slices to track the work done on input
events for fast-path scrolling, and these new slices should hopefully
help us do this better.
Bug: b/356584965,b/355589236
Change-Id: I7d0a9a6c2b106188045ab8b9fe9b82616b049b99
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5870053
Commit-Queue: Tushar Agarwal <agarwaltushar@google.com>
Reviewed-by: Jonathan Ross <jonross@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1357851}
This CL introduces separate helper functions for beginning and
intermediate flows, and also updates callsites to use the correct
variant of the helper functions.
Bug: b/356584965,b/360114110
Change-Id: Ifc691faa25158cde1c48b840a9e6ea119de8c35b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5875972
Reviewed-by: Stephen Nusko <nuskos@chromium.org>
Commit-Queue: Tushar Agarwal <agarwaltushar@google.com>
Cr-Commit-Position: refs/heads/main@{#1357725}
blink
This CL updates the ChromeLatencyInfo2::InputType enum values to
correspond to blink::mojom::EventType values so that we can use
input type in trace events. Also updates
RenderInputRouter::ForwardGestureEventWithLatencyInfo and
RenderInputRouter::ForwardTouchEventWithLatencyInfo to record the input
type.
PERFETTO_TESTS=`autoninja -C out/Default perfetto_diff_tests && out/Default/bin/run_perfetto_diff_tests`
Bug: b:356584965, b:360114110
Change-Id: I37fb12a6ac3486c3f8a895b3ebbb92d4e7bc68ab
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5867327
Reviewed-by: Stephen Nusko <nuskos@chromium.org>
Reviewed-by: Alexander Timin <altimin@chromium.org>
Commit-Queue: Oksana Zhuravlova <oksamyt@chromium.org>
Reviewed-by: Mikhail Khokhlov <khokhlov@google.com>
Cr-Commit-Position: refs/heads/main@{#1357244}
This change adds LatencyInfo.flow events to
RenderInputRouter::ForwardGestureEventWithLatencyInfo
and RenderInputRouter::ForwardTouchEventWithLatencyInfo to get fuller
work coverage.
Low-Coverage-Reason: TESTS_IN_SEPARATE_CL
Bug: b:356584965
Change-Id: If5b1f52d0190b5bce9c85610bfd41a5ea4dd2d65
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5766653
Commit-Queue: Oksana Zhuravlova <oksamyt@chromium.org>
Reviewed-by: Alexander Timin <altimin@chromium.org>
Reviewed-by: Robert Flack <flackr@chromium.org>
Reviewed-by: Tushar Agarwal <agarwaltushar@google.com>
Cr-Commit-Position: refs/heads/main@{#1352858}
This CL adds a copy of ChromeLatencyInfo from the perfetto repository
to ChromeTrackEvent and updates the corresponding code to use the new
proto.
This is the first step in moving this proto to
the chromium repository.
PERFETTO_TESTS=`autoninja -C out/Default perfetto_diff_tests && out/Default/bin/run_perfetto_diff_tests`
Bug: b:359558038
Change-Id: Ib3352e78721af30e8228c91b8d776bb7c4aac32e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5786797
Reviewed-by: Alexander Timin <altimin@chromium.org>
Reviewed-by: Robert Flack <flackr@chromium.org>
Commit-Queue: Oksana Zhuravlova <oksamyt@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1352843}
LatencyTracker was used to calculate UMAs/UKMs based on the start of
swap time. These have all been replaced by variants that calculate to
presentation time.
There were a few remaining UKMs left. The total latency now have
variants for presentation time. The others were never correctly
aggregated, and the breakdown coverage we have is sufficient.
This removes LatencyTracker along with some params in LatencyInfo that
were only ever relevant to these metrics.
Bug: 334977830
Change-Id: Ic09c1f7caa38edb57364ef6e689d80f83a693442
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5663414
Reviewed-by: Robert Kaplow <rkaplow@chromium.org>
Reviewed-by: Ken Buchanan <kenrb@chromium.org>
Reviewed-by: Hidehiko Abe <hidehiko@chromium.org>
Reviewed-by: ccameron chromium <ccameron@chromium.org>
Commit-Queue: Jonathan Ross <jonross@chromium.org>
Reviewed-by: Robert Flack <flackr@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1326804}
This is a reland of commit 8a98a9bad2
PatchSet1 is the original change
Later patchsets are additional fixes.
The initial change was reverted due to compilation failure detected on
`linux-asan-media-v8-arm-rel`. This is due to `off_t` type being
`long long` in this configuration and due to raw_ptr not allowing
pointer arithmetic with such types.
Original change's description:
> Rewrite previously excluded raw_ptr fields
>
> This rewrites pointers to byte buffers that were accidentally skipped by
> the rewriter. In addition to skipping string literals, the rewriter was
> wrongly skipping byte buffers.
>
> DanglingUntriaged-notes: Annotating pre-existing dangling pointers.
> Bug: 331840473
> Change-Id: I1845d17a5edffeeb94150e17afb2166b889f4c9d
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5497157
> Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
> Owners-Override: Arthur Sonzogni <arthursonzogni@chromium.org>
> Reviewed-by: Frank Liberato <liberato@chromium.org>
> Reviewed-by: Bartek Nowierski <bartekn@chromium.org>
> Commit-Queue: Ali Hijazi <ahijazi@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1306660}
Bug: 331840473
Change-Id: I0a4222f60804e528db3ace4a3d637d6d08f1994d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5575382
Owners-Override: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: Frank Liberato <liberato@chromium.org>
Reviewed-by: Bartek Nowierski <bartekn@chromium.org>
Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
Commit-Queue: Ali Hijazi <ahijazi@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1307468}
These metrics have newer variants based on presentation time, rather than swap times. Which is more representative of user experience.
OBSOLETE_HISTOGRAM[Event.Latency.ScrollJank]=Replaced by Replaced by Event.Jank.ScrollUpdate.{ScrollSpeed}.{VsyncStatus}.FrameAboveJankyThreshold2
OBSOLETE_HISTOGRAM[Event.Latency.ScrollUpdate.JankyEvents]=Replaced by Event.Jank.ScrollUpdate.{ScrollSpeed}.{VsyncStatus}.FrameAboveJankyThreshold2
OBSOLETE_HISTOGRAM[Event.Latency.ScrollUpdate.TotalDuration]=Replaced by Event.Jank.ScrollUpdate.{ScrollSpeed}.{VsyncStatus}.FrameAboveJankyThreshold2
OBSOLETE_HISTOGRAM[Event.Latency.ScrollUpdate.JankyDuration]=Replaced by Event.Jank.ScrollUpdate.{ScrollSpeed}.{VsyncStatus}.FrameAboveJankyThreshold2
OBSOLETE_HISTOGRAM[Event.Latency.ScrollUpdate.JankyDurationPercentage]=Replaced by Event.Jank.PredictorJankyFramePercentage2
OBSOLETE_HISTOGRAM[Event.Latency.ScrollUpdate.TotalEvents]=Replaced by Event.Jank.ScrollUpdate.{ScrollSpeed}.{VsyncStatus}.FrameAboveJankyThreshold2
Bug: 334977830
Change-Id: Ica5a60d18d8f772f4ea6ff16c0846b0116569dc5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5544838
Reviewed-by: Yaron Friedman <yfriedman@chromium.org>
Reviewed-by: Robert Flack <flackr@chromium.org>
Commit-Queue: Jonathan Ross <jonross@chromium.org>
Reviewed-by: Stephen Nusko <nuskos@chromium.org>
Reviewed-by: Mikhail Khokhlov <khokhlov@google.com>
Cr-Commit-Position: refs/heads/main@{#1305873}
A series of metrics have been deprecated by more accurate ones for a
few years. We've now updated active experiments to refer to the
replacements.
This change removes these deprecated metrics
OBSOLETE_HISTOGRAM[Event.Latency.ScrollUpdate.TimeToScrollUpdateSwapBegin2]= OBSOLETE_HISTOGRAM[Event.Latency.EndToEnd.TouchpadPinch2]=Replaced by EventLatency.GesturePinch*.TotalLatency
OBSOLETE_HISTOGRAM[Event.Latency.ScrollBegin.Wheel.TimeToScrollUpdateSwapBegin4]=Replaced by EventLatency.FirstGestureScrollUpdate.Wheel.TotalLatency
OBSOLETE_HISTOGRAM[Event.Latency.EndToEnd.KeyPress]=Replaced by EventLatency.KeyPressed.TotalLatency
OBSOLETE_HISTOGRAM[Event.Latency.ScrollUpdate.Wheel.TimeToScrollUpdateSwapBegin4]=Replaced by EventLatency.GestureScrollUpdate.Wheel.TotalLatency
OBSOLETE_HISTOGRAM[Event.Latency.ScrollUpdate.Scrollbar.TimeToScrollUpdateSwapBegin4]=Replaced by EventLatency.GestureScrollUpdate.Scrollbar.TotalLatency
Bug: 334977830
Change-Id: I39f681b71f74d235158149e1b5a3ba010dd814a7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5538612
Auto-Submit: Jonathan Ross <jonross@chromium.org>
Reviewed-by: Robert Flack <flackr@chromium.org>
Commit-Queue: Robert Flack <flackr@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1302782}
We used to have TimeToScrollUpdateSwapBegin4.TopControlsMoved and
NoTopControlsMoved. These were inaccurate, as they only were aware of
swap time, not presentation. They also had extra piping of info to
ui::LatencyTracker.
This change reimplements them in CompositorFrameReporter. Which has the
actual presentation time.
The old metrics were still being calculated, so this cleans up all of
that as well.
Bug: 41491800
Change-Id: I55057231aeac4fb03e2e5c855095401e44c7d556
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5527634
Commit-Queue: Jonathan Ross <jonross@chromium.org>
Reviewed-by: Kyle Charbonneau <kylechar@chromium.org>
Reviewed-by: Victor Miura <vmiura@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1301265}
This was generated by replacing " NOTREACHED()" with
" NOTREACHED_IN_MIGRATION()" and running git cl format.
This prepares for making NOTREACHED() [[noreturn]] alongside
NotReachedIsFatal migration of existing inventory.
Bug: 40580068
Change-Id: I68712c49687cddc13ee1b04c0b45a8ab03d4c5d1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5539000
Auto-Submit: Peter Boström <pbos@chromium.org>
Commit-Queue: Peter Boström <pbos@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Owners-Override: Lei Zhang <thestig@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1300959}
The canonical bug format is TODO(crbug.com/<id>). TODOs of the
following forms will all be migrated to the new format:
- TODO(crbug.com/<old id>)
- TODO(https://crbug.com/<old id>)
- TODO(crbug/<old id>)
- TODO(crbug/monorail/<old id>)
- TODO(<old id>)
- TODO(issues.chromium.org/<old id>)
- TODO(https://issues.chromium.org/<old id>)
- TODO(https://issues.chromium.org/u/1/issues/<old id>)
- TODO(bugs.chromium.org/<old id>)
Bug id mapping is sourced from go/chrome-on-buganizer-prod-issues.
See go/crbug-todo-migration for details.
#crbug-todo-migration
Bug: b/321899722
Change-Id: I050f2f811b9f50e8aa29d2474da33746d17d59fb
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5494188
Owners-Override: Alison Gale <agale@chromium.org>
Auto-Submit: Alison Gale <agale@chromium.org>
Reviewed-by: Peter Boström <pbos@chromium.org>
Commit-Queue: Peter Boström <pbos@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1293300}
In 2022 we deprecated TimeToScrollUpdateSwapBegin* metrics in favour of
EventLatency* metrics. As the new ones measure until actual presentation
of the frame, vs until just the swap time.
By now most of these metrics have expired. Two remain in use for finch
experiments.
This change removes all of the expired ones. We will follow up in the
new year by updating finches to use the replacement metrics. Then will
remove the remaining TimeToScrollUpdateSwapBegin variants.
OBSOLETE_HISTOGRAM[Event.Latency.ScrollBegin.TimeToScrollUpdateSwapBegin2]=deprecated in 2022 now expired.
OBSOLETE_HISTOGRAM[Event.Latency.ScrollBegin.Touch.TimeToScrollUpdateSwapBegin4]=deprecated in 2022 now expired.
OBSOLETE_HISTOGRAM[Event.Latency.ScrollBegin.Scrollbar.TimeToScrollUpdateSwapBegin4]=deprecated in 2022 now expired.
OBSOLETE_HISTOGRAM[Event.Latency.ScrollUpdate.Touch.TimeToScrollUpdateSwapBegin4]=deprecated in 2022 now expired.
Low-Coverage-Reason: LatencyTracker is for deprecated metrics we want to remove. Tests written have all been flaky. Not worth adding more coverage.
Bug: 1479961
Change-Id: Ibde831df97e0d61d7c576585a6db78d85677e009
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5139669
Reviewed-by: Robert Flack <flackr@chromium.org>
Commit-Queue: Jonathan Ross <jonross@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1239759}
Switch all includes of base/strings/string_piece_forward.h to use
string_piece.h instead, except in string_piece.h. This will make
reduce potential churn when deleting string_piece_forward.h.
Bug: 691162
Change-Id: Icd204f97f574e764b46ebfba32bce7b742a2cacd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5009848
Commit-Queue: Lei Zhang <thestig@chromium.org>
Owners-Override: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1221311}
This is now the default setting so specifying it in individual BUILD.gn
files is no longer necessary. In this CL updating files in ui/
Bug: 1002798
Change-Id: If845a9c11f7afee6e6d97fe196a75b1ee4245c9e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5010923
Reviewed-by: Mitsuru Oshima <oshima@chromium.org>
Commit-Queue: Rebekah Potter <rbpotter@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1221278}
Migrating some resources used on ChromeOS that are not required by
Closure Compiler targets (i.e. only used by TypeScript UIs).
This requires updating a few test files which are still in JavaScript
to avoid type-only imports, because interfaces used only for type
checking are removed by the TypeScript compiler for runtime. TS
compiler elides imports of such types in TS files, but cannot do so for
JS files, so these imports must be manually removed in JS files.
Bug: 1002798
Change-Id: I597c43e34b200c14153823de6ef144a1c6bd78b5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4932523
Commit-Queue: Rebekah Potter <rbpotter@chromium.org>
Reviewed-by: Michael Hansen <hansenmichael@google.com>
Reviewed-by: Demetrios Papadopoulos <dpapad@chromium.org>
Reviewed-by: Robert Flack <flackr@chromium.org>
Reviewed-by: Anastasiia N <anastasiian@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1210935}
The following histograms are marked as expired in histograms.xml but still exist in the codebase:
- Event.Latency.EndToEnd.Mouse (expired as of 2020-11-08)
So let's remove it.
OBSOLETE_HISTOGRAMS=Deprecated in 2020 and removed in crrev.com/c/4748699
Bug: 1384738
Change-Id: I6b95957cb3d472fcc5385b4fd7acf177835c2807
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4748699
Auto-Submit: Ari Chivukula <arichiv@chromium.org>
Commit-Queue: Jonathan Ross <jonross@chromium.org>
Reviewed-by: Robert Flack <flackr@chromium.org>
Reviewed-by: Jonathan Ross <jonross@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1180201}
Include PresentedFrameInformation and InputHandlerProxy::HandleGestureScrollUpdate_Result trace events
in the new category, as well as InputLatency. For low-overhead
tracing, we want to include the minimum number of trace events to perform scroll jank analysis. At present, the input category
produces too many events, when we really only want
PresentedFrameInformation. The event_latency category has been
used to selectively record event_latency events in the low overhead
scenario, but is semantically too specific to use for metrics
related to scroll jank analysis.
Please note that atm low-overhead tracing is disabled and we will
need to merge the ScrollDeltas proto object with the Android
perfetto proto so this can be recorded.
Bug: b/271395016
Change-Id: Ied6d2430233d5caebc9bd71185a4bf530a99efd9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4517872
Reviewed-by: David Bokan <bokan@chromium.org>
Commit-Queue: Harkiran Bolaria <hbolaria@google.com>
Reviewed-by: ccameron chromium <ccameron@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1144632}
Add a flag: --watch-dir-for-scroll-jank-report=/path/to/directory. If
provided, Chrome will begin to watch this path from the process tracking
the scroll jank counts (most commonly the GPU process).
The commandline flag is hidden behind the build time flag:
|use_jank_tracker_for_experiments|.
When a change in this directory is detected, Chrome dumps a line to the
log with the accumulated sums for total janky (and non-janky) duration.
This non-standard way to respond to external input is chosen for easy
automation without depending on the slow way to connect to the devtools
websocket. This allows to be independent from renderer lifetimes and
avoids modifying the devtools protocol.
Bug: 1415447
Change-Id: I0d204311dd83be14e1c164f978015ea98a809cb7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3880075
Reviewed-by: Stephen Nusko <nuskos@chromium.org>
Reviewed-by: Bo Liu <boliu@chromium.org>
Reviewed-by: Robert Flack <flackr@chromium.org>
Commit-Queue: Egor Pasko <pasko@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1116427}
A series of Event.Latency metrics have been deprecated and replaced by
newer EventLatency metrics. With the new ones completing processing in
cc/metrics, and not requiring the ui::LatencyTracker.
These metrics have since expired, but were still being emitted, and
used in some flaking tests.
This change removes them:
- Event.Latency.*.*.BrowserNotifiedToBeforeGpuSwap2
- Event.Latency.*.*.GpuSwap2
- Event.Latency.*.*.HandledToRendererSwap2*
- Event.Latency.*.*.RendererSwapToBrowserNotified2
- Event.Latency.*.*.TimeToHandled2*
While also removing some disabled tests that were used to verify them.
TEST=*ScrollThroughput*, RenderWidgetHostLatencyTrackerTest
Bug: 1374872, 1067492, 1122371
Change-Id: I41e838b2d2d5b986c4ec4666fcf665c9944beed8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4241678
Reviewed-by: Robert Flack <flackr@chromium.org>
Commit-Queue: Jonathan Ross <jonross@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1104705}
This is a reland of commit c39f131fe3
Previous patch did not include changes to builtin_categories.h for
the new combination of trace categories. This resulted in the
perfetto linux bot not compiling. The current patch includes the
new combinations.
Original change's description:
> Ensure latencyInfo category covers related flow events as well.
>
> Previously LatencyInfo.Flow events did not get emitted but other tracing metrics like InputLatency were if you enabled latencyInfo. So to get LatencyInfo.Flow events you needed to turn on high volume categories like input and benchmark.
>
> We add the already existing latencyInfo category to all flow events so we can enable them more surgically to reduce trace size.
>
> Bug: 1375779
> Change-Id: I8f34295823fcb9ff7488c907c690cc094283d4f4
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3932156
> Reviewed-by: Robert Flack <flackr@chromium.org>
> Reviewed-by: Alexander Timin <altimin@chromium.org>
> Reviewed-by: Stephen Nusko <nuskos@chromium.org>
> Commit-Queue: Harkiran Bolaria <hbolaria@google.com>
> Cr-Commit-Position: refs/heads/main@{#1060121}
Bug: 1375779
Change-Id: Ifb9456b7fc23073ccf3da06ceedb5fc50d8c5752
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3963080
Commit-Queue: Harkiran Bolaria <hbolaria@google.com>
Reviewed-by: Robert Flack <flackr@chromium.org>
Reviewed-by: Stephen Nusko <nuskos@chromium.org>
Reviewed-by: Alexander Timin <altimin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1062725}
Adds a Mojo WebUI module path to the build target
and registers the mojom-webui.js file for use in
other WebUIs.
For context, this change is required to use Mojo's JS modules in
the Shortcut Customization WebUI app.
- When updating mojom BUILD files to generate WebUI
bindings, all dependencies of the mojom files also
need to have their JS module files generated.
- This file is in the dependency chain for the Shortcut
Customization mojom file (see downstream CLs in the
relation chain for more details).
Here is another CL that accomplishes the same goal
for another mojom file: https://crrev.com/c/3011792.
I used this CL as a guide.
An explanation for the changes can be found here: http://shortn/_W3fWOrCseT but I've also left comments
in this CL that should be helpful. (see resolved comments)
Bug: b:216049298
Change-Id: I6b493cb398fd02a43c906cb2116fbd73d6d62a7b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3950431
Reviewed-by: Avi Drissman <avi@chromium.org>
Reviewed-by: Jimmy Gong <jimmyxgong@chromium.org>
Commit-Queue: Camden Bickel <cambickel@google.com>
Cr-Commit-Position: refs/heads/main@{#1061153}
This reverts commit c39f131fe3.
Reason for revert: Makes build of linux-perfetto-rel fail (see bug below).
Bug: 1376009
Original change's description:
> Ensure latencyInfo category covers related flow events as well.
>
> Previously LatencyInfo.Flow events did not get emitted but other tracing metrics like InputLatency were if you enabled latencyInfo. So to get LatencyInfo.Flow events you needed to turn on high volume categories like input and benchmark.
>
> We add the already existing latencyInfo category to all flow events so we can enable them more surgically to reduce trace size.
>
> Bug: 1375779
> Change-Id: I8f34295823fcb9ff7488c907c690cc094283d4f4
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3932156
> Reviewed-by: Robert Flack <flackr@chromium.org>
> Reviewed-by: Alexander Timin <altimin@chromium.org>
> Reviewed-by: Stephen Nusko <nuskos@chromium.org>
> Commit-Queue: Harkiran Bolaria <hbolaria@google.com>
> Cr-Commit-Position: refs/heads/main@{#1060121}
Bug: 1375779
Change-Id: Ie4a5ad2e4c6600d3157b5a4bc136359b7014834a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3959887
Reviewed-by: Christian Dullweber <dullweber@chromium.org>
Commit-Queue: Antonio Sartori <antoniosartori@chromium.org>
Owners-Override: Christian Dullweber <dullweber@chromium.org>
Reviewed-by: Harkiran Bolaria <hbolaria@google.com>
Cr-Commit-Position: refs/heads/main@{#1060392}
Previously LatencyInfo.Flow events did not get emitted but other tracing metrics like InputLatency were if you enabled latencyInfo. So to get LatencyInfo.Flow events you needed to turn on high volume categories like input and benchmark.
We add the already existing latencyInfo category to all flow events so we can enable them more surgically to reduce trace size.
Bug: 1375779
Change-Id: I8f34295823fcb9ff7488c907c690cc094283d4f4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3932156
Reviewed-by: Robert Flack <flackr@chromium.org>
Reviewed-by: Alexander Timin <altimin@chromium.org>
Reviewed-by: Stephen Nusko <nuskos@chromium.org>
Commit-Queue: Harkiran Bolaria <hbolaria@google.com>
Cr-Commit-Position: refs/heads/main@{#1060121}
Profiling has shown that these histograms are updated a lot and thus
we spend a non trivial amount of CPU in Histogram::FactoryGet.
Note that for latency_tracker.cc these histograms are updated each time
there is a GPU buffer swap (~for each frame).
Bug: b/245302490
Change-Id: I1f80233057de1432fd1a65fc129ac3216076d615
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3909360
Commit-Queue: Carlos Caballero Grolimund <carlscab@google.com>
Reviewed-by: Robert Flack <flackr@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1051148}
Event.Latency.EndToEnd.TouchpadPinch and
Event.Latency.EventToRender.TouchpadPinch metrics have been expired for
a couple of years now. The first one is already replaced with
TouchpadPinch2 version. I could not find any usage of them, so I think
it is safe to remove them.
Bug: 1037072,1123570
Change-Id: Ifa12310890804592b7a9e4b7ef87dc5ef56249af
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3894312
Reviewed-by: Jonathan Ross <jonross@chromium.org>
Reviewed-by: Robert Flack <flackr@chromium.org>
Commit-Queue: Mohsen Izadi <mohsen@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1046948}
This is the most popular histogram in UMA (by total count, which is not
accurate here since it's updated by more than 1 every time, but it's
still reported *very* often), and looking up a histogram by name each
time is somewhat expensive.
Cache it in a static local.
Change-Id: Ie6dcb1560a200007d003a3982167afce7a9c281d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3836754
Reviewed-by: Robert Flack <flackr@chromium.org>
Commit-Queue: Benoit Lize <lizeb@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1036586}
Some Viz hit testing metrics were long expired:
Event.VizHitTest.AsyncHitTestReasons
Event.VizHitTest.HitTestDataIsEqualAccuracy
Event.AsyncTargeting.AsyncClientDepth
Some TopControls ones were expired and redundant:
Event.Latency.ScrollBegin.TopControlsMoved
Event.Latency.ScrollUpdate.TopControlsMoved
So let's remove them
Bug: 1152031, 1244664, 1224489, 1142494, 1097921
Change-Id: If1613c0517cbfa7533e053901933e79e0ac84cac
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3655657
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Commit-Queue: Jonathan Ross <jonross@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1008368}
This CL is a no-op.
Only fixing instances where base::Time (and Ticks/Delta) is used in
a statement (i.e. not as a parameter to avoid adding includes in mere
overrides). Skipping pointer and reference qualified instances.
i.e. matches this regex:
'(\n *[^/\n][^/\n][^/\n]*base::(Time|Thread)(Ticks|Delta)?\b[^*&][^)]*;)'
and skipping files that have any existing fwd-decl for any of the
variants.
This is a prereq to remove unused base/task/post_task.h includes in
https://chromium-review.googlesource.com/c/chromium/src/+/3555247
Bug: 1026641
Change-Id: I87b43a8dc92bdceb67f4bd59b327b54813aa72a6
AX-Relnotes: n/a.
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3557354
Commit-Queue: Gabriel Charette <gab@chromium.org>
Auto-Submit: Gabriel Charette <gab@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Commit-Queue: Daniel Cheng <dcheng@chromium.org>
Owners-Override: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/main@{#987283}