Closed Bug 1361431 Opened 4 years ago Closed 3 years ago

Telemetry causes Places to do periodic main thread IO

Categories

(Toolkit :: Places, enhancement, P4)

enhancement

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: mconley, Unassigned)

References

(Blocks 1 open bug)

Details

(Keywords: perf, Whiteboard: [qf-][reserve-photon-performance])

Caught this in the profiler:

https://perfht.ml/2qxtwyG

Looks like we're stat-ing a file on the main thread.

http://searchfox.org/mozilla-central/rev/ae8c2e2354db652950fe0ec16983360c21857f2a/toolkit/components/places/PlacesDBUtils.jsm#900-906

There are a file other places in PlacesDBUtils.jsm where it looks like we're accessing the fileSize of various files. We should try to avoid those.
Flags: qe-verify?
Priority: -- → P2
This is _probably_ only on idle-daily, which I guess is the least-bad place to do this... ni'ing myself to make sure that's the case.
Flags: needinfo?(mconley)
we collect telemetry on the gather-telemetry topic, that is currently fired on idle-daily, but that will change with bug 1127907.
Most of the PlacesDBUtils code is old and ugly, it should be rewritten with modern async/await, Sqlite.jsm and OS.File.
As per comment 2 (and bug 1127907 comment 4).
Flags: needinfo?(mconley)
Whiteboard: [qf][photon-performance] → [qf-][photon-performance]
Flags: qe-verify? → qe-verify-
Priority: P2 → P3
Whiteboard: [qf-][photon-performance] → [qf-][reserve-photon-performance]
Priority: P3 → P4
Keywords: perf
I fixed this in a recent refactoring using OS.File.
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → WORKSFORME
For reference, that recent refactoring appears to have taken place in bug 1346554.
You need to log in before you can comment on or make changes to this bug.