Fix: Dashboard crashes if left open for a long time #998

Closed
schakrava opened this Issue Nov 3, 2015 · 4 comments

Comments

Projects
None yet
4 participants
@schakrava
Member

schakrava commented Nov 3, 2015

Behavior reported on both firefox and chrome browsers.

Not sure if it only happens on dashboard or other screens. It could be that we are not purging some data of dashboard widgets and as it grows over time, browser kills the tab -- just a guess at this point.

http://forum.rockstor.com/t/dashboard-crashes-chrome-tab/640

@schakrava schakrava added the bug label Nov 3, 2015

@schakrava schakrava added this to the Tenaya milestone Nov 3, 2015

@schakrava schakrava modified the milestones: Kilauea Iki, Tenaya Dec 12, 2015

@MFlyer

This comment has been minimized.

Show comment
Hide comment
@MFlyer

MFlyer May 11, 2016

Member

Hi @schakrava, i was with a Rockstor Dashboard window open for a long time and I realized that because of cpu fan screaming, so i decided to have some tests:

Removing line charts or having just 1 out of 3 seems to solve and after some documenting and more testing i suppose it's because of d3 behaves on svg.

Reading around I found we should use instead an html5 canvas solution ( canvas.js is a good/easy one - click and look the live chart ;) ), that better perform over chrome/safari/firefox (read some benchmarks having better frame per second with canvas, in the order of 2:1 and generally speaking canvas have less processing than svg)

Flyer

Member

MFlyer commented May 11, 2016

Hi @schakrava, i was with a Rockstor Dashboard window open for a long time and I realized that because of cpu fan screaming, so i decided to have some tests:

Removing line charts or having just 1 out of 3 seems to solve and after some documenting and more testing i suppose it's because of d3 behaves on svg.

Reading around I found we should use instead an html5 canvas solution ( canvas.js is a good/easy one - click and look the live chart ;) ), that better perform over chrome/safari/firefox (read some benchmarks having better frame per second with canvas, in the order of 2:1 and generally speaking canvas have less processing than svg)

Flyer

@MFlyer MFlyer referenced this issue May 17, 2016

Closed

#1302 #1289 #1311

@schakrava schakrava modified the milestones: Pinnacles, Kilauea Iki Jun 13, 2016

@MFlyer

This comment has been minimized.

Show comment
Hide comment
@MFlyer

MFlyer Sep 8, 2016

Member

Hi all,
working on Dashboard widgets probably I discovered why we have a "client cpu eater":

  • CPU widget runs over jQuery Flot for barchart (canvas) and d3.js (svg) for linechart (tons of updates drawing chart line & consuming cpu)
  • Net stats widgets with a line chart with multiple lines (always d3.js svg) and this probably is our bottleneck (more than cpu widget)

Actually coding to chart.js over cpu widget (both barchart and linechart), next step is for net widget and others

To @schakrava : can I remove jQuery Flot or used elsewhere in rockstor??

Flyer

Member

MFlyer commented Sep 8, 2016

Hi all,
working on Dashboard widgets probably I discovered why we have a "client cpu eater":

  • CPU widget runs over jQuery Flot for barchart (canvas) and d3.js (svg) for linechart (tons of updates drawing chart line & consuming cpu)
  • Net stats widgets with a line chart with multiple lines (always d3.js svg) and this probably is our bottleneck (more than cpu widget)

Actually coding to chart.js over cpu widget (both barchart and linechart), next step is for net widget and others

To @schakrava : can I remove jQuery Flot or used elsewhere in rockstor??

Flyer

MFlyer added a commit to MFlyer/rockstor-jslibs that referenced this issue Sep 10, 2016

@MFlyer MFlyer referenced this issue in rockstor/rockstor-jslibs Sep 10, 2016

Merged

rockstor/rockstor-core#998 - Added Chart.js library #5

MFlyer added a commit to MFlyer/rockstor-core that referenced this issue Sep 12, 2016

MFlyer added a commit to MFlyer/rockstor-core that referenced this issue Sep 12, 2016

MFlyer added a commit to MFlyer/rockstor-core that referenced this issue Sep 12, 2016

MFlyer added a commit to MFlyer/rockstor-core that referenced this issue Sep 12, 2016

MFlyer added a commit to MFlyer/rockstor-core that referenced this issue Sep 12, 2016

MFlyer added a commit to MFlyer/rockstor-core that referenced this issue Sep 12, 2016

MFlyer added a commit to MFlyer/rockstor-core that referenced this issue Sep 12, 2016

MFlyer added a commit to MFlyer/rockstor-core that referenced this issue Sep 12, 2016

MFlyer added a commit to MFlyer/rockstor-core that referenced this issue Sep 12, 2016

MFlyer added a commit to MFlyer/rockstor-core that referenced this issue Sep 13, 2016

MFlyer added a commit to MFlyer/rockstor-core that referenced this issue Sep 17, 2016

MFlyer added a commit to MFlyer/rockstor-core that referenced this issue Sep 17, 2016

MFlyer added a commit to MFlyer/rockstor-core that referenced this issue Sep 17, 2016

MFlyer added a commit to MFlyer/rockstor-core that referenced this issue Sep 17, 2016

MFlyer added a commit to MFlyer/rockstor-core that referenced this issue Sep 20, 2016

MFlyer added a commit to MFlyer/rockstor-core that referenced this issue Sep 20, 2016

MFlyer added a commit to MFlyer/rockstor-core that referenced this issue Sep 20, 2016

@MFlyer

This comment has been minimized.

Show comment
Hide comment
@MFlyer

MFlyer Sep 20, 2016

Member

Hi all @schakrava @phillxnet and @priyaganti ,
happy to announce that with 66be6c9 had a nice working dashboard left open 2 hours (CPU, Net and Memory Widgets) without any browser crash or freeze

Working on Memory widget to complete it, than moving to last 4 widgets
Actually tested both on Firefox and Chrome-Chromium

Flyer/Mirko

Member

MFlyer commented Sep 20, 2016

Hi all @schakrava @phillxnet and @priyaganti ,
happy to announce that with 66be6c9 had a nice working dashboard left open 2 hours (CPU, Net and Memory Widgets) without any browser crash or freeze

Working on Memory widget to complete it, than moving to last 4 widgets
Actually tested both on Firefox and Chrome-Chromium

Flyer/Mirko

MFlyer added a commit to MFlyer/rockstor-core that referenced this issue Sep 20, 2016

MFlyer added a commit to MFlyer/rockstor-core that referenced this issue Sep 21, 2016

MFlyer added a commit to MFlyer/rockstor-core that referenced this issue Sep 21, 2016

MFlyer added a commit to MFlyer/rockstor-core that referenced this issue Sep 21, 2016

MFlyer added a commit to MFlyer/rockstor-core that referenced this issue Sep 22, 2016

MFlyer added a commit to MFlyer/rockstor-core that referenced this issue Oct 7, 2016

schakrava added a commit to rockstor/rockstor-jslibs that referenced this issue Oct 7, 2016

MFlyer added a commit to MFlyer/rockstor-core that referenced this issue Oct 8, 2016

MFlyer added a commit to MFlyer/rockstor-core that referenced this issue Oct 10, 2016

MFlyer added a commit to MFlyer/rockstor-core that referenced this issue Oct 10, 2016

MFlyer added a commit to MFlyer/rockstor-core that referenced this issue Oct 10, 2016

#998 Disks Widget - Testing first radar chart updates - data_collect…
…or update required 1 object vs n expected - data normalization required

MFlyer added a commit to MFlyer/rockstor-core that referenced this issue Oct 10, 2016

#998 Disks Widget - Fixed data_collector emitting 1 disk/time - Now …
…emits disks array length = number of disks

MFlyer added a commit to MFlyer/rockstor-core that referenced this issue Oct 10, 2016

#998 Disks Widget - Full working radar chart - required code cleanin…
…g, linegraphs and helpers to switch monitoring attributes

MFlyer added a commit to MFlyer/rockstor-core that referenced this issue Oct 10, 2016

MFlyer added a commit to MFlyer/rockstor-core that referenced this issue Oct 11, 2016

MFlyer added a commit to MFlyer/rockstor-core that referenced this issue Oct 11, 2016

#998 Disks Widget - Got full working Disk widget, both Top disks and…
… single disk charts - to @schakrava: almost complete, code cleaning - beautify + special topdisk selection algo :)

MFlyer added a commit to MFlyer/rockstor-core that referenced this issue Oct 11, 2016

#998 Disks Widget - Completely removed all disk widget charts, all w…
…orking. Adding sort algos and make charts fit inside widget

MFlyer added a commit to MFlyer/rockstor-core that referenced this issue Oct 12, 2016

MFlyer added a commit to MFlyer/rockstor-core that referenced this issue Oct 12, 2016

Ref #998 Disks Widget - Best Draft algorithm
Added new 'Best Draft' algorithm, going to be default sorting
On new data we cycle over disks and best_draftSort array, pick current disk[i]
if not in tmp topdisks array push it, else skip
This way we ensure having biggest number of disks listed by property

MFlyer added a commit to MFlyer/rockstor-core that referenced this issue Oct 12, 2016

MFlyer added a commit to MFlyer/rockstor-core that referenced this issue Oct 12, 2016

#998 Disks Widget - fixed minor error on widget maximized opened fro…
…m another page - probably because of a delay on render. Fixes #998 Fixes #1152 Fixes #919 Fixes #916 Fixes #831 Fixes #807

MFlyer added a commit to MFlyer/rockstor-core that referenced this issue Oct 12, 2016

#998 Disks Widget - Added new mini func, now Single Disk chart title…
… has avg ms_ios, ms_reading and ms_writing

@schakrava schakrava closed this in 9c618a8 Oct 14, 2016

sfranzen added a commit to sfranzen/rockstor-core that referenced this issue Oct 15, 2016

sfranzen added a commit to sfranzen/rockstor-core that referenced this issue Oct 15, 2016

#998 - Top Shares Widget to simple bootstrap progressbars - New view…
…s with Bootstrap progressbars - Ready to PR

sfranzen added a commit to sfranzen/rockstor-core that referenced this issue Oct 15, 2016

sfranzen added a commit to sfranzen/rockstor-core that referenced this issue Oct 15, 2016

sfranzen added a commit to sfranzen/rockstor-core that referenced this issue Oct 15, 2016

sfranzen added a commit to sfranzen/rockstor-core that referenced this issue Oct 15, 2016

sfranzen added a commit to sfranzen/rockstor-core that referenced this issue Oct 15, 2016

#998 - Pool Usage Widget - Final commit, new working view with only …
…Bootstrap progressbars - ready to merge

sfranzen added a commit to sfranzen/rockstor-core that referenced this issue Oct 15, 2016

sfranzen added a commit to sfranzen/rockstor-core that referenced this issue Oct 15, 2016

sfranzen added a commit to sfranzen/rockstor-core that referenced this issue Oct 15, 2016

sfranzen added a commit to sfranzen/rockstor-core that referenced this issue Oct 15, 2016

sfranzen added a commit to sfranzen/rockstor-core that referenced this issue Oct 15, 2016

sfranzen added a commit to sfranzen/rockstor-core that referenced this issue Oct 15, 2016

sfranzen added a commit to sfranzen/rockstor-core that referenced this issue Oct 15, 2016

sfranzen added a commit to sfranzen/rockstor-core that referenced this issue Oct 15, 2016

sfranzen added a commit to sfranzen/rockstor-core that referenced this issue Oct 15, 2016

@schakrava schakrava assigned MFlyer and unassigned Mchakravartula Nov 2, 2016

@schakrava schakrava changed the title from Dashboard crashes if left open for a long time to Fix: Dashboard crashes if left open for a long time Nov 2, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment