chore(test): instrument DataProcessingSpec with per-test timing log#4677
Closed
Yicong-Huang wants to merge 1 commit into
Closed
chore(test): instrument DataProcessingSpec with per-test timing log#4677Yicong-Huang wants to merge 1 commit into
Yicong-Huang wants to merge 1 commit into
Conversation
Wrap withFixture with a nano-timer; in afterAll, info() the per-test elapsed time sorted descending. Diagnostic for apache#4670 follow-up — the suite is the dominant contributor to scala test phase wall time, and we need a per-test breakdown to decide what to consolidate or remove. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Contributor
Author
|
Closing — will gather timings locally instead of through CI. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #4677 +/- ##
============================================
+ Coverage 52.46% 53.02% +0.56%
- Complexity 0 1995 +1995
============================================
Files 353 817 +464
Lines 21338 24630 +3292
Branches 1791 1921 +130
============================================
+ Hits 11195 13061 +1866
- Misses 10026 10914 +888
- Partials 117 655 +538
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changes were proposed in this PR?
Draft / diagnostic — wrap `DataProcessingSpec.withFixture` with a nano-timer and dump a sorted per-test elapsed-time table in `afterAll`.
`DataProcessingSpec` is the dominant contributor to scala test wall time on a typical main-push run (its 16 e2e workflow tests run for the full ~6 minute test phase, with each test bounded by a 1-minute `Await`). Without per-test numbers there is no way to decide which workflows to consolidate or delete.
This change is intended to land long enough to gather one CI run's worth of timings; once the slow tests are identified (#4670 follow-up), this instrumentation is expected to be removed or rewritten as a stricter timeout per test.
```
[info] DataProcessingSpec per-test timings (sorted desc, total NNNNms across 16 tests):
[info] XXXXXms Engine should execute csv->keyword->averageAndGroupBy workflow normally
[info] ...
```
Any related issues, documentation, discussions?
Diagnostic for the scala build wall-time discussion. Findings will feed a follow-up that either consolidates redundant e2e workflows or fixes the underlying retry flake the suite documents.
How was this PR tested?
No new tests. The instrumentation runs as part of the existing `DataProcessingSpec` execution under the python/scala/agent-service `Build` matrix. After this PR's CI run, the scala job log under `build / scala (ubuntu-22.04, 11)` will contain the sorted timing table.
Was this PR authored or co-authored using generative AI tooling?
Generated-by: Claude Code (Opus 4.7, 1M context)