Open Bug 1330635 (ss-perf) Opened 6 years ago Updated 4 months ago

[meta] Sessionstore performance tracking


(Firefox :: Session Restore, enhancement)

50 Branch
Not set




(Reporter: mikedeboer, Unassigned)


(Depends on 24 open bugs)


(Keywords: meta)

We set three tiers that we’ll use to theme and prioritize sessionstore component work:

Tier 1: Reliability
Tier 2: Performance
Tier 3: Feature development and maintenance

Performance is something we’re keen to look at. We’ve identified the following sub-themes:
1. Perceived performance.
1.1 We’re restoring windows and tabs in a loop that yields and moves to the next item in a serial fashion. Ideally, this would happen in parallel.
1.2 We’re not keeping the last active window and the last active tab in that window in front of the user whilst restoring. Ideally, other windows and tabs would open in the background, out of sight.
1.3 Various animations are active whilst restoring windows and tabs, like window resizing animation, tab-open animation, tab-overflow animation(s), etc. Ideally, these would be disabled during restore.
2. Measure before work
2.1 Create an ‘’-style dashboard for sessionstore REstore, including telemetry and Talos data.
2.2 Currently we have one Talos test that opens one window and over a hundred tabs. Add a test with multiple windows and take that as the baseline.
2.3 We are currently writing an uncompressed JSON blob to disk. We should consider using lz4 compression, which is fast and part of OS.File already.
2.3.1 Smaller writes = less time spent on flush
2.3.2 Less flush means smaller window of data corruption (crash during flush)
2.3.3 Faster reads of smaller files from disk should improve startup restore performance (measurable)
2.3.4 Fewer I/O ops should lessen strain on profile dirs located on network drives
2.4 Firefox Flow - there’s an opportunity to be part of this initiative by including sessionstore work.

Bugs which have 'performance' as its main theme will be marked blocking this bug.
Depends on: 810932
Depends on: sessionRestoreJank
Depends on: 1305950
Depends on: 1256472
Depends on: 669272
Depends on: 874533
Depends on: 1294208
Depends on: 1032987
No longer depends on: 1032987
Depends on: 1025924
Depends on: lazytabs
Depends on: 675539
Blocks: 1242912
Depends on: 1312373
Depends on: 1314364
Depends on: 1096013
Depends on: 1034534
Depends on: 1331930
Depends on: 1331932
Depends on: 1331935
Depends on: 1331936
Depends on: 1331937
Depends on: 1333798
Depends on: 1339480
Depends on: 1341417
Depends on: 1344715
Sir , I want to work on this issue.
Depends on: 536910
Depends on: 1348805
Depends on: 1348816
Depends on: 1350569
Depends on: 1352447
No longer depends on: 1352447
Depends on: 1353533
Depends on: 1353586
Depends on: 1356879
Depends on: 1358283
Depends on: 1356605
Depends on: 1360202
Depends on: 1361907
Depends on: 669603
Depends on: 870460
Depends on: 1365970
Depends on: 1366213
Depends on: 1383416
Depends on: 1391298
Depends on: 1395066
Meta-bug for session managers:
Depends on: 1458894
394492 - SessionStore API performance issues with large number of windows and tabs
Depends on: 1474139
No longer blocks: 1474131
Depends on: 1474131
Depends on: 1474130
Depends on: 1467338
Depends on: 1471918
Depends on: ss-SM
Um, missing the obvious "PERF" key word here.
Depends on: 1493767
See Also: → ss-feature
Depends on: 1505572
See Also: → ss-reliability
See Also: → Session_managers
Summary: Sessionstore performance tracking → [meta] Sessionstore performance tracking
Depends on: tab-unloading
Depends on: 1519517
Depends on: fission-history
Depends on: 1445464
No longer depends on: 1445464
Depends on: 1544371
Depends on: 1507287
Type: defect → enhancement
Depends on: 1549973
Depends on: 1549975
Depends on: 1564412
No longer depends on: 1507287, 1544371, 1549975, 1474130, 1549973
Depends on: 1583384
No longer depends on: 1356879
No longer blocks: 1242912
Depends on: 1242912
Depends on: 1644097
Depends on: 1727519
Depends on: 1763279
Depends on: 1759085
You need to log in before you can comment on or make changes to this bug.