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 3 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% 88.63% -0.01%
Complexity 4346 4346
============================================
Files 1177 1177
Lines 46894 46894
Branches 5229 5229
============================================
- Hits 41566 41564 -2
Misses 3568 3568
- Partials 1760 1762 +2
☔ 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 | 347 | 0.212 | 28,522/34,455/34,455 us | 🔴 +24.7% / 🔴 +126.5% |
| 🔴 | bs=100 sw=10 sl=64 | 770 | 0.47 | 124,043/193,061/193,061 us | 🔴 +13.8% / 🔴 +78.6% |
| ⚪ | bs=1000 sw=10 sl=64 | 907 | 0.553 | 1,103,736/1,179,255/1,179,255 us | ⚪ within ±5% / 🔴 +13.6% |
Baseline details
Latest main 5021bc6 from same runner
| config | metric | PR | latest main | 7d avg | Δ latest | Δ 7d |
|---|---|---|---|---|---|---|
| bs=10 sw=10 sl=64 | throughput | 347 tuples/sec | 418 tuples/sec | 784.3 tuples/sec | -17.0% | -55.8% |
| bs=10 sw=10 sl=64 | MB/s | 0.212 MB/s | 0.255 MB/s | 0.479 MB/s | -16.9% | -55.7% |
| bs=10 sw=10 sl=64 | p50 | 28,522 us | 22,866 us | 12,590 us | +24.7% | +126.5% |
| bs=10 sw=10 sl=64 | p95 | 34,455 us | 33,176 us | 15,991 us | +3.9% | +115.5% |
| bs=10 sw=10 sl=64 | p99 | 34,455 us | 33,176 us | 18,694 us | +3.9% | +84.3% |
| bs=100 sw=10 sl=64 | throughput | 770 tuples/sec | 817 tuples/sec | 1,002 tuples/sec | -5.8% | -23.2% |
| bs=100 sw=10 sl=64 | MB/s | 0.47 MB/s | 0.499 MB/s | 0.612 MB/s | -5.8% | -23.1% |
| bs=100 sw=10 sl=64 | p50 | 124,043 us | 118,164 us | 101,285 us | +5.0% | +22.5% |
| bs=100 sw=10 sl=64 | p95 | 193,061 us | 169,697 us | 108,068 us | +13.8% | +78.6% |
| bs=100 sw=10 sl=64 | p99 | 193,061 us | 169,697 us | 118,235 us | +13.8% | +63.3% |
| bs=1000 sw=10 sl=64 | throughput | 907 tuples/sec | 915 tuples/sec | 1,030 tuples/sec | -0.9% | -11.9% |
| bs=1000 sw=10 sl=64 | MB/s | 0.553 MB/s | 0.558 MB/s | 0.629 MB/s | -0.9% | -12.0% |
| bs=1000 sw=10 sl=64 | p50 | 1,103,736 us | 1,090,278 us | 991,882 us | +1.2% | +11.3% |
| bs=1000 sw=10 sl=64 | p95 | 1,179,255 us | 1,146,668 us | 1,038,496 us | +2.8% | +13.6% |
| bs=1000 sw=10 sl=64 | p99 | 1,179,255 us | 1,146,668 us | 1,068,265 us | +2.8% | +10.4% |
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,576.23,200,128000,347,0.212,28521.81,34455.44,34455.44
1,100,10,64,20,2598.67,2000,1280000,770,0.470,124043.19,193060.73,193060.73
2,1000,10,64,20,22055.52,20000,12800000,907,0.553,1103736.12,1179255.49,1179255.49…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.
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)