Add event profiling framework

NEW
Unassigned

Status

()

Core
General
9 years ago
8 years ago

People

(Reporter: jrmuizel, Unassigned)

Tracking

Trunk
x86
Mac OS X
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(3 attachments)

(Reporter)

Description

9 years ago
It would be useful to have a framework for monitoring events:
- show which events are happening
- how long they take
- latency to system event loop
- time between invalidations and paints finishing
(Reporter)

Comment 1

9 years ago
Created attachment 394303 [details] [diff] [review]
Some rough work I have so far

This reports all of the events that happen as well as the timer runnables.

It currently uses backtrace_symbols() to map event handlers to symbol names. I have a LD_PRELOADable library that will make backtrace_symbols() much more useful then the glibc version. It uses the debug information to look up symbols and line numbers. I eventually plan to integrate this into the patch.
(Reporter)

Comment 2

9 years ago
Created attachment 394306 [details]
Here's the LD_PRELOAD libbacktrace_symbols
(Reporter)

Comment 3

8 years ago
The member function pointer extraction code was inspired by this article
http://www.codeproject.com/kb/cpp/FastDelegate.aspx
(Reporter)

Comment 4

8 years ago
Created attachment 462174 [details] [diff] [review]
Add an event reporter
You need to log in before you can comment on or make changes to this bug.