Skip to content

feat(dev): frontend browser metrics report (alt - using Playwright)#17684

Draft
kakkokari-gtyih wants to merge 23 commits into
misskey-dev:developfrom
kakkokari-gtyih:enh-frontend-e2e-memory
Draft

feat(dev): frontend browser metrics report (alt - using Playwright)#17684
kakkokari-gtyih wants to merge 23 commits into
misskey-dev:developfrom
kakkokari-gtyih:enh-frontend-e2e-memory

Conversation

@kakkokari-gtyih

@kakkokari-gtyih kakkokari-gtyih commented Jul 8, 2026

Copy link
Copy Markdown
Member

What

各ステップのメモリ使用量(テスト実行前のまっさらのブラウザ → テストひととおり実行後のメモリ使用量)と、ブラウザ内部のメトリクスを全部jsonとして出力するところまでできている

サンプル→ https://github.com/misskey-dev/misskey/actions/runs/28942007808/artifacts/8167958278

Why

Close #17630

Additional info (optional)

Checklist

  • Read the contribution guide
  • Test working in a local environment
  • (If needed) Add story of storybook
  • (If needed) Update CHANGELOG.md
  • (If possible) Add tests

@codecov

codecov Bot commented Jul 8, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 13.64%. Comparing base (c29a3d9) to head (a39b256).
⚠️ Report is 24 commits behind head on develop.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop   #17684      +/-   ##
===========================================
- Coverage    15.00%   13.64%   -1.36%     
===========================================
  Files          248      247       -1     
  Lines        12402    12213     -189     
  Branches      4224     4109     -115     
===========================================
- Hits          1861     1667     -194     
- Misses        8239     8246       +7     
+ Partials      2302     2300       -2     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions

github-actions Bot commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

📦 Frontend Bundle Report

Chunk size diff (0 updated, 0 added, 0 removed)

No data

Startup chunk size (0 updated, 0 added, 0 removed)
Chunk Before After Δ Δ (%)
(total) 1.1 MB 1.1 MB 0 B 0%
os ja-JP/aEA5QfpmU-CvSSflwO.js
467 KB 467 KB 0 B 0%
i18n ja-JP/aEA5QfpmU-Dv4DIZFA.js
216 KB 216 KB 0 B 0%
photoswipe ja-JP/aEA5QfpmU-46O-_VUQ.js
73 KB 73 KB 0 B 0%
src/_boot_.ts ja-JP/aEA5QfpmU-Di5lWFJP.js
64 KB 64 KB 0 B 0%
runtime-core.esm-bundler ja-JP/aEA5QfpmU-CyPDfpcP.js
50 KB 50 KB 0 B 0%
MkNotification ja-JP/aEA5QfpmU-B_HsEf612.js
23 KB 23 KB 0 B 0%
built ja-JP/aEA5QfpmU-7DT8rof3.js
21 KB 21 KB 0 B 0%
reactivity.esm-bundler ja-JP/aEA5QfpmU-BJR4BmL-.js
21 KB 21 KB 0 B 0%
store ja-JP/aEA5QfpmU-DZxlBDa-.js
18 KB 18 KB 0 B 0%
runtime-dom.esm-bundler ja-JP/aEA5QfpmU-DyWpCC4b.js
17 KB 17 KB 0 B 0%
tinycolor ja-JP/aEA5QfpmU-PEGdpOg42.js
15 KB 15 KB 0 B 0%
common ja-JP/aEA5QfpmU-Df4033-N2.js
15 KB 15 KB 0 B 0%
achievements ja-JP/aEA5QfpmU-Gj3uXX79.js
10 KB 10 KB 0 B 0%
widgets ja-JP/aEA5QfpmU-BYm2AEAy.js
9.7 KB 9.7 KB 0 B 0%
theme ja-JP/aEA5QfpmU-CmKfGeL52.js
8.3 KB 8.3 KB 0 B 0%
MkCustomEmoji ja-JP/aEA5QfpmU-BNqGxbpB2.js
6.5 KB 6.5 KB 0 B 0%
MkAnimBg ja-JP/aEA5QfpmU-CB3yHUb32.js
4.8 KB 4.8 KB 0 B 0%
MkSwiper ja-JP/aEA5QfpmU-qiCRW7hM2.js
3 KB 3 KB 0 B 0%
navbar ja-JP/aEA5QfpmU-02vyuzNC.js
2.9 KB 2.9 KB 0 B 0%
MkUrl ja-JP/aEA5QfpmU-D-ji-TEr2.js
2.9 KB 2.9 KB 0 B 0%
MkTabs ja-JP/aEA5QfpmU-VXO0YCJs2.js
2.8 KB 2.8 KB 0 B 0%
MkCode ja-JP/aEA5QfpmU-DYwlA8a52.js
2.7 KB 2.7 KB 0 B 0%
lookup ja-JP/aEA5QfpmU-DRkPZxMW2.js
2.3 KB 2.3 KB 0 B 0%
MkSparkle ja-JP/aEA5QfpmU-SgWdqzvw2.js
2.2 KB 2.2 KB 0 B 0%
dist ja-JP/aEA5QfpmU-DH0lBfzW.js
1.8 KB 1.8 KB 0 B 0%
_dark ja-JP/aEA5QfpmU-DfGzfoC32.js
1.8 KB 1.8 KB 0 B 0%
media-proxy ja-JP/aEA5QfpmU-D1Esi0VM.js
1.7 KB 1.7 KB 0 B 0%
_light ja-JP/aEA5QfpmU-D67CB4xl.js
1.7 KB 1.7 KB 0 B 0%
hotkey ja-JP/aEA5QfpmU-ByesB5BZ.js
1.6 KB 1.6 KB 0 B 0%
is-birthday ja-JP/aEA5QfpmU-DFSygcBo2.js
1.5 KB 1.5 KB 0 B 0%
MkStickyContainer ja-JP/aEA5QfpmU-BmzaPEiW2.js
1.4 KB 1.4 KB 0 B 0%
config ja-JP/aEA5QfpmU-DGOcRaCi.js
1.3 KB 1.3 KB 0 B 0%
preload-helper ja-JP/aEA5QfpmU-DyAp3Zfi.js
1.3 KB 1.3 KB 0 B 0%
MkLoading ja-JP/aEA5QfpmU-B5oKftjY2.js
1.1 KB 1.1 KB 0 B 0%
MkInfo ja-JP/aEA5QfpmU-CExFr2U9.js
1 KB 1 KB 0 B 0%
webgl ja-JP/aEA5QfpmU-wb3e_Vqx2.js
1 KB 1 KB 0 B 0%
use-scroll-position-keeper ja-JP/aEA5QfpmU-Do4nQ-6j2.js
990 B 990 B 0 B 0%
misskey-api ja-JP/aEA5QfpmU-DyMaik4b.js
986 B 986 B 0 B 0%
instance ja-JP/aEA5QfpmU-BxWdoXDL.js
918 B 918 B 0 B 0%
get-note-summary ja-JP/aEA5QfpmU-De5IKbAQ.js
704 B 704 B 0 B 0%
rolldown-runtime ja-JP/aEA5QfpmU-QTnfLwEv.js
694 B 694 B 0 B 0%
page ja-JP/aEA5QfpmU-BDSYajSq.js
688 B 688 B 0 B 0%
i ja-JP/aEA5QfpmU-D1y_EGFD.js
631 B 631 B 0 B 0%
clear-cache ja-JP/aEA5QfpmU-BzaD1mmx2.js
472 B 472 B 0 B 0%
emoji-base ja-JP/aEA5QfpmU-BVbfT0gI2.js
413 B 413 B 0 B 0%
d-green-lime ja-JP/aEA5QfpmU-DEHvjKGz.js
391 B 391 B 0 B 0%
use-interval ja-JP/aEA5QfpmU-nsCIt9Jr.js
384 B 384 B 0 B 0%
l-light ja-JP/aEA5QfpmU-B8GJAiDX.js
351 B 351 B 0 B 0%
user ja-JP/aEA5QfpmU-SLQFmrJv.js
205 B 205 B 0 B 0%
get-bg-color ja-JP/aEA5QfpmU-B6J3wW2j2.js
190 B 190 B 0 B 0%
isChromatic ja-JP/aEA5QfpmU-Dd9satMa2.js
172 B 172 B 0 B 0%
is-device-darkmode ja-JP/aEA5QfpmU-CHGi6RJT2.js
93 B 93 B 0 B 0%
_plugin-vue_export-helper ja-JP/aEA5QfpmU-BDNMzG2s.js
84 B 84 B 0 B 0%

Startup chunks are the Vite entry for src/_boot_.ts and its static imports.

Bundle Stats

Bundles Modules Entries Imports Size
Static Dynamic Rendered Gzip Brotli
Before 466 2,853 21 8,580 323 10 MB 2.8 MB 2.4 MB
After 466 2,853 21 8,580 323 10 MB 2.8 MB 2.4 MB
Δ 0 0 0 0 0 $\text{-101 B}$ $\text{-51 B}$ $\text{+31 B}$
Δ (%) 0% 0% 0% 0% 0% $\text{-0\%}$ $\text{-0\%}$ $\text{+0\%}$

Open treemap HTML

@kakkokari-gtyih

Copy link
Copy Markdown
Member Author

どこまでを実現したいかはわからないけど多分コードのメンテナンス性で行けばこっちのほうが良い(のと、そのシナリオをそのままテストに使える)ので良い感じに引き継いでいただけるとよいかと思います

jsonのサンプル→ https://github.com/misskey-dev/misskey/actions/runs/28942007808/artifacts/8167958278

@syuilo

syuilo commented Jul 8, 2026

Copy link
Copy Markdown
Member

メトリクス集計用途だと、それぞれ5回くらいサンプル採りたいからテストと兼ねない方がいいかもしれない(テストは1回だけで問題ない)

@kakkokari-gtyih

Copy link
Copy Markdown
Member Author

いまのところCIでのプロセスがe2eと同じタイミングでやってるのでそこにhead-baseの比較とかを入れると見通しが悪くなりそう(なので結果比較は別のactionでやるべきそう)

あとmain branchのほうの結果は毎回e2e実行し直すのはなんかめんどくさい気がするのでコミットハッシュ+branchか何かで保持して持ってくる(無かったら再テスト回す)ほうが賢そう


ノートの投稿まで終わらすところまでのシナリオはもうe2eとして存在してそう

@kakkokari-gtyih kakkokari-gtyih requested review from syuilo and removed request for syuilo July 8, 2026 12:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

packages/frontend:test packages/frontend Client side specific issue/PR

Projects

Development

Successfully merging this pull request may close these issues.

2 participants