-
Notifications
You must be signed in to change notification settings - Fork 29.8k
Add validator execution times to flutter doctor --verbose
#158124
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Should help provide more information for `flutter doctor` timeouts like we've seen in #157513
| Future<ValidationResult> validate() async { | ||
| final Stopwatch stopwatch = Stopwatch()..start(); | ||
| final ValidationResult result = await validateImpl(); | ||
| stopwatch.stop(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will we ever reach this if the validator was running when the build got timed out?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, but we do already output a duration to the console if a validation step exceeds the timeout duration.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, but we do already output a duration to the console if a validation step exceeds the timeout duration.
Which timeout? For example, this change wouldn't help with this situation, right? https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8733230104891163105/+/u/run_build_android_host_app_with_module_source/stdout
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This timeout: https://github.com/flutter/flutter/blob/master/packages/flutter_tools/lib/src/doctor.dart#L246
It isn't a solution for the situation we're seeing but it might give us some insights if we have multiple long running doctor validators that push us closer to the CI timeout.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Genuine question: Would this PR change anything in the case that a validator completely stalls? Do validators simply get interrupted after running for 00:04:30?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, I don't think it would since the Future.any([validatorResult, timeout]) would complete after 00:04:30, leaving the result of the validator to be ignored.
andrewkolos
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. I'm not thrilled with the amount of noise this adds to the code, but it should be fairly easy to revert down the line if needed.
andrewkolos
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
|
The validator APIs are used in g3, so this while need a g3fix to land |
…_validator_execution_duration
d2da475 to
4c5a5d2
Compare
|
This pull request executed golden file tests, but it has not been updated in a while (20+ days). Test results from Gold expire after as many days, so this pull request will need to be updated with a fresh commit in order to get results from Gold. For more guidance, visit Writing a golden file test for Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing. |
Pull Request is not mergeable
Roll Flutter from 72db8f6 to 40c2b86 (33 revisions) flutter/flutter@72db8f6...40c2b86 2025-01-14 christopherfujino@gmail.com update changelog for 3.27.2 release (flutter/flutter#161569) 2025-01-14 tessertaha@gmail.com Fix `showLicensePage` does not inherit ambient `Theme` (flutter/flutter#161599) 2025-01-14 30870216+gaaclarke@users.noreply.github.com Added special case for fat width arcs (flutter/flutter#161255) 2025-01-14 matanlurey@users.noreply.github.com Replace `fetch `with `gclient sync`. (flutter/flutter#161565) 2025-01-14 engine-flutter-autoroll@skia.org Roll Packages from 3c3bc68 to d1fd623 (4 revisions) (flutter/flutter#161597) 2025-01-14 robert.ancell@canonical.com Remove unused method (flutter/flutter#161572) 2025-01-14 hbatagelo@gmail.com Fix crash when closing a window with `Alt+F4` in multi-win Flutter on Windows (flutter/flutter#161375) 2025-01-14 bruno.leroux@gmail.com Update InputDecoration.border documentation (flutter/flutter#161415) 2025-01-14 dkwingsmt@users.noreply.github.com [Web] Allow specifying the strategy on when to use <img> element to display images (flutter/flutter#159917) 2025-01-14 a-siva@users.noreply.github.com Roll Dart to Version 3.7.0-323.0.dev (flutter/flutter#161567) 2025-01-14 goderbauer@google.com Use wildcards (flutter/flutter#161548) 2025-01-14 jmccandless@google.com Autocomplete Options Width (flutter/flutter#143249) 2025-01-13 jason-simmons@users.noreply.github.com Move the analyzer_benchmark to Mac arm64 devicelab bots (flutter/flutter#161405) 2025-01-13 matanlurey@users.noreply.github.com Remove references to `cirrus`, mostly in doc comments. (flutter/flutter#161529) 2025-01-13 flar@google.com Fix paths when running clang-tidy on git diffs (flutter/flutter#161496) 2025-01-13 yjbanov@google.com [web:a11y] treat empty tappables as buttons (flutter/flutter#161360) 2025-01-13 58190796+MitchellGoodwin@users.noreply.github.com Add route settings to CupertinoSheetRoute (flutter/flutter#161528) 2025-01-13 matanlurey@users.noreply.github.com Copy `linux_host_engine` as `linux_host_engine_test`, removing `archives: [...]`. (flutter/flutter#161532) 2025-01-13 matanlurey@users.noreply.github.com Remove last two references to Cirrus CI. (flutter/flutter#161530) 2025-01-13 codefu@google.com Mark `Mac_mokey microbenchmarks` as flakey (flutter/flutter#161550) 2025-01-13 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Match CupertinoPageTransitionsBuilder animation duration to CupertinoPageRoute (#160241)" (flutter/flutter#161555) 2025-01-13 bkonyi@google.com Add validator execution times to `flutter doctor --verbose` (flutter/flutter#158124) 2025-01-13 matanlurey@users.noreply.github.com Explain more specifically how to use `flutter drive`/what it does (flutter/flutter#161450) 2025-01-13 dhankechakishan@gmail.com Fixed repeated strings for incompatible Gradle or AGP version in `create` command (flutter/flutter#161223) 2025-01-13 matanlurey@users.noreply.github.com Remove `WEB_SHARD_COUNT`, which no longer exists post-Cirrus. (flutter/flutter#161527) 2025-01-13 chinmaygarde@google.com [Impeller] Update guidance on prebuilt artifacts. (flutter/flutter#161251) 2025-01-13 flar@google.com Migrate DisplayList unit tests to DL/Impeller geometry classes (flutter/flutter#161453) 2025-01-13 jmccandless@google.com Context menu button callback docs clarification (flutter/flutter#161451) 2025-01-13 43089218+chika3742@users.noreply.github.com Match CupertinoPageTransitionsBuilder animation duration to CupertinoPageRoute (flutter/flutter#160241) 2025-01-13 codefu@google.com Udpate documentation on the third_party directories (flutter/flutter#161407) 2025-01-13 matanlurey@users.noreply.github.com Propagate environment variables when `flutter drive` is invoked. (flutter/flutter#161452) 2025-01-13 34871572+gmackall@users.noreply.github.com Convert base application name handling to kotlin source (start of FGP kt conversion) (flutter/flutter#155963) 2025-01-13 jonahwilliams@google.com [Impeller] remove API 30 restriction for SurfaceControl testing. (flutter/flutter#161438) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages Please CC stuartmorgan@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: ...
…158124) Should help provide more information for `flutter doctor` timeouts like we've seen in flutter#157513
| ); | ||
| }, overrides: <Type, Generator>{AnsiTerminal: () => FakeTerminal()}); | ||
| logger.statusText, | ||
| equals('[✓] Passing Validator (with statusInfo) [0ms]\n' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This seems to fail on CI - in the most recent run the times were 1ms:
Expected: '[✓] First validator title (A status message) [0ms]\n'
' • A helpful message\n'
' • A different message\n'
'\n'
'• No issues found!\n'
''
Actual: '[✓] First validator title (A status message) [1ms]\n'
' • A helpful message\n'
' • A different message\n'
'\n'
'• No issues found!\n'
''
Which: is different.
Expected: ... message) [0ms]\n ...
Actual: ... message) [1ms]\n ...
^
Differ at offset 46
Suggest we match with a regex to allow any value for ms?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is actually a bug in the tests. A fix is going to land in #161917
Roll Flutter from 72db8f6 to 40c2b86 (33 revisions) flutter/flutter@72db8f6...40c2b86 2025-01-14 christopherfujino@gmail.com update changelog for 3.27.2 release (flutter/flutter#161569) 2025-01-14 tessertaha@gmail.com Fix `showLicensePage` does not inherit ambient `Theme` (flutter/flutter#161599) 2025-01-14 30870216+gaaclarke@users.noreply.github.com Added special case for fat width arcs (flutter/flutter#161255) 2025-01-14 matanlurey@users.noreply.github.com Replace `fetch `with `gclient sync`. (flutter/flutter#161565) 2025-01-14 engine-flutter-autoroll@skia.org Roll Packages from 3c3bc68 to d1fd623 (4 revisions) (flutter/flutter#161597) 2025-01-14 robert.ancell@canonical.com Remove unused method (flutter/flutter#161572) 2025-01-14 hbatagelo@gmail.com Fix crash when closing a window with `Alt+F4` in multi-win Flutter on Windows (flutter/flutter#161375) 2025-01-14 bruno.leroux@gmail.com Update InputDecoration.border documentation (flutter/flutter#161415) 2025-01-14 dkwingsmt@users.noreply.github.com [Web] Allow specifying the strategy on when to use <img> element to display images (flutter/flutter#159917) 2025-01-14 a-siva@users.noreply.github.com Roll Dart to Version 3.7.0-323.0.dev (flutter/flutter#161567) 2025-01-14 goderbauer@google.com Use wildcards (flutter/flutter#161548) 2025-01-14 jmccandless@google.com Autocomplete Options Width (flutter/flutter#143249) 2025-01-13 jason-simmons@users.noreply.github.com Move the analyzer_benchmark to Mac arm64 devicelab bots (flutter/flutter#161405) 2025-01-13 matanlurey@users.noreply.github.com Remove references to `cirrus`, mostly in doc comments. (flutter/flutter#161529) 2025-01-13 flar@google.com Fix paths when running clang-tidy on git diffs (flutter/flutter#161496) 2025-01-13 yjbanov@google.com [web:a11y] treat empty tappables as buttons (flutter/flutter#161360) 2025-01-13 58190796+MitchellGoodwin@users.noreply.github.com Add route settings to CupertinoSheetRoute (flutter/flutter#161528) 2025-01-13 matanlurey@users.noreply.github.com Copy `linux_host_engine` as `linux_host_engine_test`, removing `archives: [...]`. (flutter/flutter#161532) 2025-01-13 matanlurey@users.noreply.github.com Remove last two references to Cirrus CI. (flutter/flutter#161530) 2025-01-13 codefu@google.com Mark `Mac_mokey microbenchmarks` as flakey (flutter/flutter#161550) 2025-01-13 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Match CupertinoPageTransitionsBuilder animation duration to CupertinoPageRoute (#160241)" (flutter/flutter#161555) 2025-01-13 bkonyi@google.com Add validator execution times to `flutter doctor --verbose` (flutter/flutter#158124) 2025-01-13 matanlurey@users.noreply.github.com Explain more specifically how to use `flutter drive`/what it does (flutter/flutter#161450) 2025-01-13 dhankechakishan@gmail.com Fixed repeated strings for incompatible Gradle or AGP version in `create` command (flutter/flutter#161223) 2025-01-13 matanlurey@users.noreply.github.com Remove `WEB_SHARD_COUNT`, which no longer exists post-Cirrus. (flutter/flutter#161527) 2025-01-13 chinmaygarde@google.com [Impeller] Update guidance on prebuilt artifacts. (flutter/flutter#161251) 2025-01-13 flar@google.com Migrate DisplayList unit tests to DL/Impeller geometry classes (flutter/flutter#161453) 2025-01-13 jmccandless@google.com Context menu button callback docs clarification (flutter/flutter#161451) 2025-01-13 43089218+chika3742@users.noreply.github.com Match CupertinoPageTransitionsBuilder animation duration to CupertinoPageRoute (flutter/flutter#160241) 2025-01-13 codefu@google.com Udpate documentation on the third_party directories (flutter/flutter#161407) 2025-01-13 matanlurey@users.noreply.github.com Propagate environment variables when `flutter drive` is invoked. (flutter/flutter#161452) 2025-01-13 34871572+gmackall@users.noreply.github.com Convert base application name handling to kotlin source (start of FGP kt conversion) (flutter/flutter#155963) 2025-01-13 jonahwilliams@google.com [Impeller] remove API 30 restriction for SurfaceControl testing. (flutter/flutter#161438) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages Please CC stuartmorgan@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: ...
Roll Flutter from 72db8f6 to 40c2b86 (33 revisions) flutter/flutter@72db8f6...40c2b86 2025-01-14 christopherfujino@gmail.com update changelog for 3.27.2 release (flutter/flutter#161569) 2025-01-14 tessertaha@gmail.com Fix `showLicensePage` does not inherit ambient `Theme` (flutter/flutter#161599) 2025-01-14 30870216+gaaclarke@users.noreply.github.com Added special case for fat width arcs (flutter/flutter#161255) 2025-01-14 matanlurey@users.noreply.github.com Replace `fetch `with `gclient sync`. (flutter/flutter#161565) 2025-01-14 engine-flutter-autoroll@skia.org Roll Packages from 3c3bc68 to d1fd623 (4 revisions) (flutter/flutter#161597) 2025-01-14 robert.ancell@canonical.com Remove unused method (flutter/flutter#161572) 2025-01-14 hbatagelo@gmail.com Fix crash when closing a window with `Alt+F4` in multi-win Flutter on Windows (flutter/flutter#161375) 2025-01-14 bruno.leroux@gmail.com Update InputDecoration.border documentation (flutter/flutter#161415) 2025-01-14 dkwingsmt@users.noreply.github.com [Web] Allow specifying the strategy on when to use <img> element to display images (flutter/flutter#159917) 2025-01-14 a-siva@users.noreply.github.com Roll Dart to Version 3.7.0-323.0.dev (flutter/flutter#161567) 2025-01-14 goderbauer@google.com Use wildcards (flutter/flutter#161548) 2025-01-14 jmccandless@google.com Autocomplete Options Width (flutter/flutter#143249) 2025-01-13 jason-simmons@users.noreply.github.com Move the analyzer_benchmark to Mac arm64 devicelab bots (flutter/flutter#161405) 2025-01-13 matanlurey@users.noreply.github.com Remove references to `cirrus`, mostly in doc comments. (flutter/flutter#161529) 2025-01-13 flar@google.com Fix paths when running clang-tidy on git diffs (flutter/flutter#161496) 2025-01-13 yjbanov@google.com [web:a11y] treat empty tappables as buttons (flutter/flutter#161360) 2025-01-13 58190796+MitchellGoodwin@users.noreply.github.com Add route settings to CupertinoSheetRoute (flutter/flutter#161528) 2025-01-13 matanlurey@users.noreply.github.com Copy `linux_host_engine` as `linux_host_engine_test`, removing `archives: [...]`. (flutter/flutter#161532) 2025-01-13 matanlurey@users.noreply.github.com Remove last two references to Cirrus CI. (flutter/flutter#161530) 2025-01-13 codefu@google.com Mark `Mac_mokey microbenchmarks` as flakey (flutter/flutter#161550) 2025-01-13 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Match CupertinoPageTransitionsBuilder animation duration to CupertinoPageRoute (#160241)" (flutter/flutter#161555) 2025-01-13 bkonyi@google.com Add validator execution times to `flutter doctor --verbose` (flutter/flutter#158124) 2025-01-13 matanlurey@users.noreply.github.com Explain more specifically how to use `flutter drive`/what it does (flutter/flutter#161450) 2025-01-13 dhankechakishan@gmail.com Fixed repeated strings for incompatible Gradle or AGP version in `create` command (flutter/flutter#161223) 2025-01-13 matanlurey@users.noreply.github.com Remove `WEB_SHARD_COUNT`, which no longer exists post-Cirrus. (flutter/flutter#161527) 2025-01-13 chinmaygarde@google.com [Impeller] Update guidance on prebuilt artifacts. (flutter/flutter#161251) 2025-01-13 flar@google.com Migrate DisplayList unit tests to DL/Impeller geometry classes (flutter/flutter#161453) 2025-01-13 jmccandless@google.com Context menu button callback docs clarification (flutter/flutter#161451) 2025-01-13 43089218+chika3742@users.noreply.github.com Match CupertinoPageTransitionsBuilder animation duration to CupertinoPageRoute (flutter/flutter#160241) 2025-01-13 codefu@google.com Udpate documentation on the third_party directories (flutter/flutter#161407) 2025-01-13 matanlurey@users.noreply.github.com Propagate environment variables when `flutter drive` is invoked. (flutter/flutter#161452) 2025-01-13 34871572+gmackall@users.noreply.github.com Convert base application name handling to kotlin source (start of FGP kt conversion) (flutter/flutter#155963) 2025-01-13 jonahwilliams@google.com [Impeller] remove API 30 restriction for SurfaceControl testing. (flutter/flutter#161438) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages Please CC stuartmorgan@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: ...
Should help provide more information for
flutter doctortimeouts like we've seen in #157513