Add telemetry that shows what is *holding* the cache service lock

RESOLVED WONTFIX

Status

()

Core
Networking: Cache
RESOLVED WONTFIX
6 years ago
2 years ago

People

(Reporter: briansmith, Unassigned)

Tracking

Trunk
Points:
---

Firefox Tracking Flags

(firefox14-, firefox15-, firefox16-)

Details

+++ This bug was initially created as a clone of Bug #767275 +++

The current telemetry for the cache service lock tells us what is waiting, and for how long, but it doesn't tell us what is holding the lock or how long that is holding the lock for.

(In reply to Honza Bambas (:mayhemer) from Bug #767275 comment #6)
> I'd personally add a following probe:
> 
> - when the main thread waits for the lock, remember the time it started to
> wait (TimeStamp)
> - when some other thread holding the lock is about to release it, add the
> function it is keeping the lock to an array (have an enum of all places) +
> the timestamp
> - when the main thread acquired the lock, and the wait time was more then
> some threshold, check the array and record all places that was marked after
> the main thread wait-start time
> 
> - have e.g. 6 graphs
> - two triples for e.g. 3 times of your choice (25ms, 100ms, 400ms ; the
> current probe results may be an inspiration)
> - graph will be an enumeration of the places
> - the first triple will record the places we are waiting in on the main
> thread
> - the second triple will record the places held by other threads (the cause
> of wait)
> 
> Then we can see for what time the main thread waits for the lock and what
> may be the cause.
No longer blocks: 767277, 769491
Whiteboard: [necko-would-take]
This bug was specific to the old cache.
Status: NEW → RESOLVED
Last Resolved: 2 years ago
Resolution: --- → WONTFIX
Whiteboard: [necko-would-take]
You need to log in before you can comment on or make changes to this bug.