• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

dart-lang / native / 15209886271
92%

Build:
DEFAULT BRANCH: main
Ran 23 May 2025 12:08PM UTC
Jobs 15
Files 67
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

23 May 2025 12:07PM UTC coverage: 74.378%. First build
15209886271

push

github

web-flow
[hooks_runner] Add `TimelineEvents` (#2327)

This PR adds timeline events to the `hooks_runner` package:

* All `FileSystem` calls. (With a `TracingFileSystem`.)
* All `Process` runs.
* The main methods.

This enables looking at the performance:

<img width="990" alt="image" src="https://github.com/user-attachments/assets/6a5c78be-46b7-4a0a-bc9a-ada325a30193" />

(First build compiles the hook and runs the hook. Second build doesn't compile the hook and doesn't run the hook. Side note: Compiling Dart takes longer than running the hook (compiling C)!)

Some quirks:

* The current approach only works for non-concurrent events. (The stdout and stderr file logging is concurrent to the process calls and therefore has to be excluded.) If we ever start doing things concurrently, we'll need to refactor this.
* There are a lot of possibilities to improve things when we have more than one hook in the system. Optimizing this only makes sense once we have more real world projects using hooks.
* Tracking issues for improving the performance: https://github.com/dart-lang/native/issues/1288 https://github.com/dart-lang/native/issues/1578

The one improvement made in this PR is that we stop hashing the kernel file contents. Saving a hook invocation if the kernel file didn't change (~300ms) if the hook sources only had a whitespace change seems less valuable than saving the hashing of the hook kernel file on every invocation (~50ms). After this change, cached hook invocations take ~30ms per hook on the local test cases.

Closes: https://github.com/dart-lang/native/issues/2236

269 of 306 new or added lines in 5 files covered. (87.91%)

3437 of 4621 relevant lines covered (74.38%)

21.34 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
3
96.36
pkgs/hooks_runner/lib/src/dependencies_hash_file/dependencies_hash_file.dart
7
77.36
pkgs/hooks_runner/lib/src/utils/run_process.dart
12
75.51
pkgs/hooks_runner/lib/src/build_runner/tracing_file_system.dart
15
90.85
pkgs/hooks_runner/lib/src/build_runner/build_runner.dart
Subprojects
ID Flag name Job ID Ran Files Coverage
1 hooks_runner_windows 15209886271.1 23 May 2025 12:13PM UTC 13
88.25
GitHub Action Run
2 hooks_windows 15209886271.2 23 May 2025 12:10PM UTC 11
51.48
GitHub Action Run
3 native_toolchain_c_windows 15209886271.3 23 May 2025 12:12PM UTC 26
79.05
GitHub Action Run
4 code_assets_macos 15209886271.4 23 May 2025 12:13PM UTC 12
73.06
GitHub Action Run
5 native_toolchain_c_macos 15209886271.5 23 May 2025 12:08PM UTC 26
69.06
GitHub Action Run
6 hooks_macos 15209886271.6 23 May 2025 12:08PM UTC 11
51.48
GitHub Action Run
7 hooks_runner_ubuntu 15209886271.7 23 May 2025 12:11PM UTC 13
88.25
GitHub Action Run
8 data_assets_ubuntu 15209886271.8 23 May 2025 12:10PM UTC 5
42.48
GitHub Action Run
9 data_assets_windows 15209886271.9 23 May 2025 12:09PM UTC 5
42.48
GitHub Action Run
10 data_assets_macos 15209886271.10 23 May 2025 12:08PM UTC 5
42.48
GitHub Action Run
11 code_assets_ubuntu 15209886271.11 23 May 2025 12:13PM UTC 12
73.06
GitHub Action Run
12 hooks_ubuntu 15209886271.12 23 May 2025 12:09PM UTC 11
51.48
GitHub Action Run
13 code_assets_windows 15209886271.13 23 May 2025 12:16PM UTC 12
73.06
GitHub Action Run
14 native_toolchain_c_ubuntu 15209886271.14 23 May 2025 12:09PM UTC 26
74.41
GitHub Action Run
15 hooks_runner_macos 15209886271.15 23 May 2025 12:10PM UTC 13
88.25
GitHub Action Run
Source Files on build 15209886271
  • Tree
  • List 67
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #15209886271
  • 09a756cb on github
  • Prev Build on main (#15206527811)
  • Next Build on main (#15232218587)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc