WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
ASSIGNED
142011
Web Inspector: Make console faster, only render last N messages in the DOM
https://bugs.webkit.org/show_bug.cgi?id=142011
Summary
Web Inspector: Make console faster, only render last N messages in the DOM
Nikita Vasilyev
Reported
2015-02-25 00:33:41 PST
Having thousands of messages in the console can make it slow. Display only last 500 messages to reduce amount of elements in the DOM and thus reduce memory consumption. Either add "Show previous 100 messages" button or just load them when we scroll to the top edge of the console. I’m not sure about the numbers, I need to do some stress testing first.
Attachments
Add attachment
proposed patch, testcase, etc.
Radar WebKit Bug Importer
Comment 1
2015-02-25 00:34:01 PST
<
rdar://problem/19950261
>
Nikita Vasilyev
Comment 2
2015-11-12 14:43:32 PST
While working on code hotness visualizer, I've been logging objects every time I get data from the backend, approximately every second. Running inspector over 10 minutes makes the whole UI interface unbearably slow. The following code shouldn't drastically affect Web Inspector performance after running for 10 minutes: setInterval(function() { console.log({x: Math.random()}) }, 1000);
Nikita Vasilyev
Comment 3
2015-12-12 21:01:17 PST
See also: <
rdar://problem/23527135
>
Nikita Vasilyev
Comment 4
2016-02-16 03:49:28 PST
I’d prefer to have a generic solution that would also work for big data grids (e.g. in Timelines).
Nikita Vasilyev
Comment 5
2016-03-08 22:15:31 PST
As far as I can tell, we store console messages data only in the DOM. We don't have an array of WebInspector.ConsoleMessage instances in WebInspector.JavaScriptLogViewController or anywhere else. My first step would be to store WebInspector.ConsoleMessage instances in WebInspector.JavaScriptLogViewController, so I can render them later when needed.
Nikita Vasilyev
Comment 6
2016-03-09 21:51:11 PST
The first step I'd like to tackle is to render console messages only when the split console is visible or the console tab is active. AFAIK, there is currently no event like "console-show". The closest I've found so far is WebInspector.QuickConsole.Event.DidResize event and WebInspector.consoleContentView.visible getter.
Timothy Hatcher
Comment 7
2016-03-09 23:13:17 PST
(In reply to
comment #6
)
> The first step I'd like to tackle is to render console > messages only when the split console is visible or the console > tab is active. > > AFAIK, there is currently no event like "console-show". > The closest I've found so far is > WebInspector.QuickConsole.Event.DidResize event and > WebInspector.consoleContentView.visible getter.
LogContentView would get hidden() and shown() called on them. Implementing those could call other code, like on JavaScriptLogViewController.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug