0
Commit Graph

252 Commits

Author SHA1 Message Date
f44cbeb741 Forward-declare chrome_track_event.pbzero.h definitions in ui and viz.
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}
2025-02-14 06:36:00 -08:00
100ef2cf85 Remove unnecessary include from latency_info.h
This file already forward declares EventContext, and the declaration is
enough.

This include is costly according to
https://commondatastorage.googleapis.com/chromium-browser-clang/include-analysis.html#view=edges

Bug: 40318405
Change-Id: Idb9f1e52efd1727b972b0744a4ac4bd3a57f1bdd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6169227
Reviewed-by: Robert Flack <flackr@chromium.org>
Commit-Queue: Robert Flack <flackr@chromium.org>
Auto-Submit: Kevin McNee <mcnee@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1405709}
2025-01-13 13:19:58 -08:00
432221986d Rename test helper mojoms in //ui/latency/mojom
Testonly mojoms can have extension test-mojom and do not
need security review in future.

Bug: 383380971
Change-Id: I9b3ee60c7c9f208b50af9bbc4d4c6f7b494958db
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6089859
Reviewed-by: Jonathan Ross <jonross@chromium.org>
Commit-Queue: Alex Gough <ajgo@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1395579}
2024-12-12 12:50:41 -08:00
cdf27feb7d Remove/replace agarwaltushar@ in OWNERS.
For details/context, please refer to the attached bug.

Bug: b:377275073
Change-Id: If85fb2d0bfbe5d80b0d6ee8382f0eee5149f7a88
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5987754
Auto-Submit: Tushar Agarwal <agarwaltushar@google.com>
Reviewed-by: Mark Schillaci <mschillaci@google.com>
Reviewed-by: Wenbin Zhang <wenbinzhang@google.com>
Commit-Queue: Tushar Agarwal <agarwaltushar@google.com>
Cr-Commit-Position: refs/heads/main@{#1377801}
2024-11-04 19:24:39 +00:00
e4f1aef5f3 Migrate to NOTREACHED() in ui/
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}
2024-10-29 23:42:03 +00:00
e5f168f19a Use "new style" Perfetto flows for LatencyInfo.Flow.
This CL:

  * Updates helpers to remove usage of "old style" flows.
  * Updates `LatencyInfo.Flow` slices to use a helper function to reduce
    code duplication.

Bug: b/369816094,b/356584965,b/355589236
Change-Id: I24018f072b1464c1c517268e665914f132e6b6f6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5899345
Commit-Queue: Robert Flack <flackr@chromium.org>
Commit-Queue: Tushar Agarwal <agarwaltushar@google.com>
Auto-Submit: Tushar Agarwal <agarwaltushar@google.com>
Reviewed-by: Robert Flack <flackr@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1363929}
2024-10-03 23:06:12 +00:00
aa2f9b2eb1 Increase the duration of some LatencyInfo.Flow events.
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}
2024-10-03 20:38:45 +00:00
e8ecbd4efd Remove include of flow_event_utils.h from latency_info.h
This include is very costly according to
https://commondatastorage.googleapis.com/chromium-browser-clang/include-analysis.html#view=edges

This is not used, other than for indirect includes of other files. We
replace it with a more targeted include and a forward declaration for
what the file actually references, and also fix an IWYU issue.

Bug: 40318405
Change-Id: I0897ff186732c5048cfc9bb77f250715fc209fc5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5887793
Auto-Submit: Kevin McNee <mcnee@chromium.org>
Commit-Queue: Robert Flack <flackr@chromium.org>
Reviewed-by: Robert Flack <flackr@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1363748}
2024-10-03 18:15:31 +00:00
09db64e143 Remove LatencyInfo.Flow slices that are no longer useful.
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}
2024-10-01 09:41:00 +00:00
277b521c61 Add new LatencyInfo.Flows for representing input handling.
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}
2024-09-19 21:07:16 +00:00
28a3df9995 Update EmitLatencyInfoStep.to allow for both out and in/out flows.
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}
2024-09-19 18:07:34 +00:00
7dc5828c0d [tracing] Update ChromeLatencyInfo2::InputType values to correspond to
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}
2024-09-18 18:55:13 +00:00
d19b935896 Expand the list of owners in ui/latency.
Currently we have one owner, expand it to four.

Change-Id: Idf5d05e851a99831bd26fe52eeb0ee01d10dbfce
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5869976
Commit-Queue: Robert Flack <flackr@chromium.org>
Reviewed-by: Robert Flack <flackr@chromium.org>
Commit-Queue: Alexander Timin <altimin@chromium.org>
Auto-Submit: Alexander Timin <altimin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1356451}
2024-09-17 14:20:35 +00:00
7cfc830947 [tracing] Add higher-level LatencyInfo.Flow events in RenderInputRouter
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}
2024-09-09 17:29:48 +00:00
edc92b9303 [tracing] Add ChromeLatencyInfo2 to ChromeTrackEvent
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}
2024-09-09 17:14:38 +00:00
7dc2b84b30 Remove LatencyTracker
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}
2024-07-12 16:16:15 +00:00
f5d8b74407 Reland "Rewrite previously excluded raw_ptr fields"
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}
2024-05-29 16:10:43 +00:00
1c7549731b Revert "Rewrite previously excluded raw_ptr fields"
This reverts commit 8a98a9bad2.

Reason for revert:
LUCI Bisection has identified this change as the culprit of a build failure. See the analysis: https://ci.chromium.org/ui/p/chromium/bisection/compile-analysis/b/8746706113493454977

Sample failed build: https://ci.chromium.org/b/8746706113493454977

If this is a false positive, please report it at http://b.corp.google.com/createIssue?component=1199205&description=Analysis%3A+https%3A%2F%2Fchromium-review.googlesource.com%2Fc%2Fchromium%2Fsrc%2F%2B%2F5497157&format=PLAIN&priority=P3&title=Wrongly+blamed+https%3A%2F%2Fci.chromium.org%2Fui%2Fp%2Fchromium%2Fbisection%2Fcompile-analysis%2Fb%2F8746706113493454977&type=BUG

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: Ibea32e36178bd8161e69855ab9194d2f65fba677
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5573454
Bot-Commit: luci-bisection@appspot.gserviceaccount.com <luci-bisection@appspot.gserviceaccount.com>
Commit-Queue: luci-bisection@appspot.gserviceaccount.com <luci-bisection@appspot.gserviceaccount.com>
Owners-Override: luci-bisection@appspot.gserviceaccount.com <luci-bisection@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#1306670}
2024-05-28 10:14:07 +00:00
8a98a9bad2 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}
2024-05-28 09:17:01 +00:00
66e7d4cf58 Remove Jank UMAs from LatencyTracker
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}
2024-05-24 19:53:58 +00:00
d7cf3593da Remove more deprecated LatencyTracker UMAs
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}
2024-05-17 19:25:09 +00:00
9506935a02 Reimplement TopControlsMoved in CC
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}
2024-05-15 13:58:02 +00:00
e857a19558 Use NOTREACHED_IN_MIGRATION() in ui/
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}
2024-05-14 23:08:03 +00:00
71bd8f1596 Migrate TODOs referencing old crbug IDs to the new issue tracker IDs
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}
2024-04-26 22:38:20 +00:00
36619c19f1 Convert base::StringPiece to std::string_view in //ui
The changes of this CL are made using the following script.
Script: https://issues.chromium.org/issues/40506050#comment343

Bug: 40506050
Change-Id: I901e59c1dfb2a2b2e6a32bf42f9b48c0d8596492
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5465857
Commit-Queue: Helmut Januschka <helmut@januschka.com>
Reviewed-by: Camille Lamy <clamy@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1291865}
2024-04-24 14:33:19 +00:00
4fd2382803 [buganizer] Migrate DIR_METADATA for ui
Migrate all remaining metadata files for ui and mixins
used by metadata files under ui.

Verify components with http://b/components/{id} or at
go/chrome-on-buganizer-prod-components.

Bug: chromium:1518875
Change-Id: I5c0a2a09f691bf4e033e466df3f738a4579ee54e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5269903
Reviewed-by: Avi Drissman <avi@chromium.org>
Reviewed-by: Chris Bookholt <bookholt@chromium.org>
Reviewed-by: Sophie Chang <sophiechang@chromium.org>
Commit-Queue: Jeff Yoon <jeffyoon@google.com>
Cr-Commit-Position: refs/heads/main@{#1256956}
2024-02-06 20:28:45 +00:00
a0900de01a Remove expired TimeToScrollUpdateSwapBegin metrics
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}
2023-12-20 18:28:35 +00:00
c5f765d5b4 Remove remaining base/strings/string_piece_forward.h usage
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}
2023-11-08 00:53:33 +00:00
b2a51c7e2d WebUI Mojo Bindings: Remove unnecessary use_typescript_sources = true
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}
2023-11-07 23:51:09 +00:00
485934c0b4 WebUI: Migrate more chrome://resources mojo files to TypeScript
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}
2023-10-17 17:19:39 +00:00
82ceca0ff9 Remove expired histograms Event.Latency.EndToEnd.Mouse
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}
2023-08-07 10:24:11 +00:00
4551ef9316 Replace event_latency tracing category with scroll_jank_metrics.
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}
2023-05-16 10:40:25 +00:00
c6b2fb4ffd Reland "Break down the "GenerationToBrowserMain" stage for ScrollUpdate with blocking touch moves."
This is a reland of commit 2723d4648f

The original change was reverted, because some tests fails: https://chromium-review.googlesource.com/c/chromium/src/+/4425292. They failed not because of this CL has a bug, but because there was a bug in the tests.  They are fixed here: https://chromium-review.googlesource.com/c/chromium/src/+/4425112

Original change's description:
> Break down the "GenerationToBrowserMain" stage for ScrollUpdate with blocking touch moves.
>
> - Adding new stages "TouchRendererProcessing" for scroll events that were created by blocking touch moves.
> - Creating a new InputTimestamps structure in the WebInputEvent class. InputTimestamps contains even't timestamps.
> - Copying information about blocking touch move's timestamps to a corresponding scroll event happens at the Browser process.
>
> # Result
> Screenshot: https://screenshot.googleplex.com/AQBtknHHiim2ron
> Trace: https://ui.perfetto.dev/#!/?s=1cff5646c3ac0c44a010c60b09dc76bfc2cbd8549813a6ff4e8ac4298405d164
>
> Bug: b/262676871
> Change-Id: Id73975582e5c7c7ecde784d44cc5a1b18f5d051b
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4136125
> Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
> Commit-Queue: Violetta Fedotova <violettfaid@google.com>
> Reviewed-by: Avi Drissman <avi@chromium.org>
> Reviewed-by: David Bokan <bokan@chromium.org>
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1129806}

Bug: b/262676871
Change-Id: Ib521176d9ddc60c08e142e307814fc9c907f66b1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4439698
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Commit-Queue: Violetta Fedotova <violettfaid@google.com>
Reviewed-by: Stephen Nusko <nuskos@chromium.org>
Reviewed-by: Jonathan Ross <jonross@chromium.org>
Code-Coverage: Findit <findit-for-me@appspot.gserviceaccount.com>
Reviewed-by: David Bokan <bokan@chromium.org>
Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1133712}
2023-04-21 10:54:39 +00:00
a35e4b350c Revert "Break down the "GenerationToBrowserMain" stage for ScrollUpdate with blocking touch moves."
This patch made several ash_unittests fail. First failing build:
https://ci.chromium.org/ui/p/chromium/builders/ci/Linux%20Chromium%20OS%20ASan%20LSan%20Tests%20(1)/50487/overview

I was able to reproduce the failure on my machine, and I bisected it
down to this change.

Change-Id: I32dfd6728d3253a942a1449b1576fe89d6886944
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4425292
Commit-Queue: Joey Arhar <jarhar@chromium.org>
Owners-Override: Joey Arhar <jarhar@google.com>
Commit-Queue: Joey Arhar <jarhar@google.com>
Reviewed-by: Joey Arhar <jarhar@google.com>
Code-Coverage: Findit <findit-for-me@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#1130181}
2023-04-13 23:25:24 +00:00
2723d4648f Break down the "GenerationToBrowserMain" stage for ScrollUpdate with blocking touch moves.
- Adding new stages "TouchRendererProcessing" for scroll events that were created by blocking touch moves.
- Creating a new InputTimestamps structure in the WebInputEvent class. InputTimestamps contains even't timestamps.
- Copying information about blocking touch move's timestamps to a corresponding scroll event happens at the Browser process.

# Result
Screenshot: https://screenshot.googleplex.com/AQBtknHHiim2ron
Trace: https://ui.perfetto.dev/#!/?s=1cff5646c3ac0c44a010c60b09dc76bfc2cbd8549813a6ff4e8ac4298405d164

Bug: b/262676871
Change-Id: Id73975582e5c7c7ecde784d44cc5a1b18f5d051b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4136125
Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
Commit-Queue: Violetta Fedotova <violettfaid@google.com>
Reviewed-by: Avi Drissman <avi@chromium.org>
Reviewed-by: David Bokan <bokan@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1129806}
2023-04-13 13:47:29 +00:00
70ea6631de Add a commandline flag to collect scroll jank counts
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}
2023-03-13 16:43:59 +00:00
5df1f4b2b3 Remove expired latency metrics that are used in flaky tests
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}
2023-02-13 22:13:30 +00:00
7061a50a3d [ios] Allow LatencyInfo to be sent over IPC for blink on iOS
Use USE_BLINK instead of IS_IOS.

Bug: 1411704
Change-Id: I2cbc410b47eafd83869f992168023af651482351
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4220035
Reviewed-by: Robert Flack <flackr@chromium.org>
Commit-Queue: Dave Tapuska <dtapuska@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1100689}
2023-02-02 22:34:39 +00:00
b85bd708e6 Reland "Ensure latencyInfo category covers related flow events as well."
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}
2022-10-24 09:47:57 +00:00
e53880a260 Prepare latency_info.mojom for use on WebUI
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}
2022-10-19 18:34:40 +00:00
408f8e6672 Revert "Ensure latencyInfo category covers related flow events as well."
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}
2022-10-18 10:44:29 +00:00
c39f131fe3 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}
2022-10-17 20:21:35 +00:00
a322f3b206 Use histogram macros instead of functions
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}
2022-09-26 11:35:33 +00:00
13a2f77fb9 Remove expired Event.Latency.Scroll.Wheel.TimeToHandled2* histograms
The histograms have been expired for several months now.

Bug: 1268034
Change-Id: I1d7020a7fea8430d5674a391380295f025946e1e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3894201
Reviewed-by: Robert Flack <flackr@chromium.org>
Reviewed-by: Jonathan Ross <jonross@chromium.org>
Commit-Queue: Mohsen Izadi <mohsen@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1049072}
2022-09-20 14:09:03 +00:00
3e1a26c44c Update copyright headers in ui/, url/
The methodology used to generate this CL is documented in
https://crbug.com/1098010#c95.

No-Try: true
Bug: 1098010
Change-Id: I4bd37f76f2cc56763fc4018087890eae3c92c700
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3899419
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Avi Drissman <avi@chromium.org>
Owners-Override: Avi Drissman <avi@chromium.org>
Auto-Submit: Avi Drissman <avi@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1047649}
2022-09-15 20:26:03 +00:00
52d387876e Remove old TouchpadPinch latency metrics
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}
2022-09-14 16:04:36 +00:00
68d6e690a3 [ui] Cache the janky duration histogram
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}
2022-08-18 13:56:53 +00:00
8fb5efbfa6 Remove sadrul@chromium.org from ui/latency/OWNERS.
This suggested change is automatically generated based on group memberships and affiliations.
If this change is unnecessary or in error, vote CR -1 and the bot will abandon it. Vote CR +1/2 to approve this change.
See the owner's recent activity for context: https://chromium-review.googlesource.com/q/sadrul@chromium.org

To report an issue, file a bug in the Infra>Security component.

Change-Id: I2b1c00c199afedbf8cc132b3b268e2cab75d6345
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3705757
Commit-Queue: Robert Flack <flackr@chromium.org>
Reviewed-by: Robert Flack <flackr@chromium.org>
Auto-Submit: Owners Cleanup <swarming-tasks@owners-cleanup-prod.google.com.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#1014514}
2022-06-15 17:41:20 +00:00
77b68a878f Remove expired Event histograms
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}
2022-05-27 19:11:35 +00:00
d87f10f467 [base] IWYU for base::Time
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}
2022-03-31 00:44:22 +00:00