feat(operator-demo-video): add DemoVideoGenerator module and Playwright automation foundation - #7594
feat(operator-demo-video): add DemoVideoGenerator module and Playwright automation foundation#7594xuang7 wants to merge 4 commits into
Conversation
…ht automation foundation Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Automated Reviewer SuggestionsBased on the
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #7594 +/- ##
============================================
+ Coverage 88.63% 89.65% +1.01%
- Complexity 4346 4398 +52
============================================
Files 1177 1177
Lines 46894 46996 +102
Branches 5229 5268 +39
============================================
+ Hits 41566 42135 +569
+ Misses 3568 3095 -473
- Partials 1760 1766 +6
☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
Could you take a look when you're available? Thanks! @carloea2 |
|
| config | throughput | MB/s | latency | max Δ latest / 7d | |
|---|---|---|---|---|---|
| 🔴 | bs=10 sw=10 sl=64 | 374 | 0.228 | 25,941/32,968/32,968 us | 🔴 +16.3% / 🔴 +103.6% |
| 🔴 | bs=100 sw=10 sl=64 | 765 | 0.467 | 127,211/166,312/166,312 us | 🔴 +9.2% / 🔴 +54.6% |
| ⚪ | bs=1000 sw=10 sl=64 | 902 | 0.551 | 1,108,596/1,175,300/1,175,300 us | ⚪ within ±5% / 🔴 +13.4% |
Baseline details
Latest main 5021bc6 from same runner
| config | metric | PR | latest main | 7d avg | Δ latest | Δ 7d |
|---|---|---|---|---|---|---|
| bs=10 sw=10 sl=64 | throughput | 374 tuples/sec | 437 tuples/sec | 774.89 tuples/sec | -14.4% | -51.7% |
| bs=10 sw=10 sl=64 | MB/s | 0.228 MB/s | 0.266 MB/s | 0.473 MB/s | -14.3% | -51.8% |
| bs=10 sw=10 sl=64 | p50 | 25,941 us | 22,330 us | 12,738 us | +16.2% | +103.6% |
| bs=10 sw=10 sl=64 | p95 | 32,968 us | 28,336 us | 16,348 us | +16.3% | +101.7% |
| bs=10 sw=10 sl=64 | p99 | 32,968 us | 28,336 us | 18,848 us | +16.3% | +74.9% |
| bs=100 sw=10 sl=64 | throughput | 765 tuples/sec | 815 tuples/sec | 1,005 tuples/sec | -6.1% | -23.9% |
| bs=100 sw=10 sl=64 | MB/s | 0.467 MB/s | 0.498 MB/s | 0.613 MB/s | -6.2% | -23.8% |
| bs=100 sw=10 sl=64 | p50 | 127,211 us | 119,503 us | 100,970 us | +6.5% | +26.0% |
| bs=100 sw=10 sl=64 | p95 | 166,312 us | 152,349 us | 107,605 us | +9.2% | +54.6% |
| bs=100 sw=10 sl=64 | p99 | 166,312 us | 152,349 us | 116,429 us | +9.2% | +42.8% |
| bs=1000 sw=10 sl=64 | throughput | 902 tuples/sec | 910 tuples/sec | 1,030 tuples/sec | -0.9% | -12.5% |
| bs=1000 sw=10 sl=64 | MB/s | 0.551 MB/s | 0.555 MB/s | 0.629 MB/s | -0.7% | -12.4% |
| bs=1000 sw=10 sl=64 | p50 | 1,108,596 us | 1,091,248 us | 991,433 us | +1.6% | +11.8% |
| bs=1000 sw=10 sl=64 | p95 | 1,175,300 us | 1,177,492 us | 1,036,668 us | -0.2% | +13.4% |
| bs=1000 sw=10 sl=64 | p99 | 1,175,300 us | 1,177,492 us | 1,070,470 us | -0.2% | +9.8% |
Raw CSV
config_idx,batch_size,schema_width,string_len,num_batches,total_ms,total_tuples,total_bytes,tuples_per_sec,mb_per_sec,lat_p50_us,lat_p95_us,lat_p99_us
0,10,10,64,20,534.79,200,128000,374,0.228,25941.20,32968.48,32968.48
1,100,10,64,20,2614.41,2000,1280000,765,0.467,127211.21,166311.50,166311.50
2,1000,10,64,20,22173.07,20000,12800000,902,0.551,1108596.07,1175300.23,1175300.23…dules use Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
carloea2
left a comment
There was a problem hiding this comment.
The cursor setup after navigation does not run. The startup script only defines a function. Please pass the script body or call the function.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
carloea2
left a comment
There was a problem hiding this comment.
The cursor fix now runs the startup script and waits for the document. The module setup and workflow exclusion look good.
What changes were proposed in this PR?
This PR adds the foundation for an operator demo video generator: a Playwright-based tool that records a short demo video per operator, to be linked from the operator docs under
docs/reference/operators/.Changes:
DemoVideoGeneratorsbt module atdocs/operator-demo-videos/with the Playwright dependency. It is standalone. It compiles without the rest of the build.ControllerBuilder/ControllerStep), a two-phase per-operator script trait (prepare= unrecorded scaffolding,execute= the recorded demo), and a fake on-screen cursor so recordings show where the automation is clicking.TestDataConfig(base URL, viewport and video size, pacing, output directory); later PRs will add more defaults such as the datasets and template workflows.docs/operator-demo-videos/from the docs-to-website sync workflow: the module is build tooling, not docs content, so its sources are never published to the website and module-only pushes do not trigger a site sync.Follow-up PRs add the UI controllers (login, navigation, drag-and-connect, form filling, execution), per-operator sample values, and the generator and runner that make the tool runnable end-to-end.
Any related issues, documentation, discussions?
Closes #7519
How was this PR tested?
No behavior change to any existing module.
sbt DemoVideoGenerator/compile,scalafmtCheck, andscalafix --checkall pass.Was this PR authored or co-authored using generative AI tooling?
Generated-by: Claude Code (Claude Fable 5)