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>
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)